• 25-11-2023, 18:02:14
    #1
    Merhaba, Android uygulamama onesignal bildirim ekledim fakat giden bildirimlere tıklayınca linki cromede açıp sonra uygulama içine ana sayfaya gönderiyor. Bu sorunu nasıl çözebilirim?
    Örnekler aşağıda



  • 26-11-2023, 13:31:56
    #2
    Kategori Moderatörü
    Merhaba, Bu işlem orta derece uzmanlık gerektiren bir işlem diyebiliriz. Önce uygulama içerisinde Onesignal launchURL'yi aramanız ve sonucu intent.putExtra ile WebView sayfasına iletmeniz gerekiyor.
  • 26-11-2023, 19:26:20
    #3
    Yazilimapp adlı üyeden alıntı: mesajı görüntüle
    Merhaba, Bu işlem orta derece uzmanlık gerektiren bir işlem diyebiliriz. Önce uygulama içerisinde Onesignal launchURL'yi aramanız ve sonucu intent.putExtra ile WebView sayfasına iletmeniz gerekiyor.
    hocam söz konusu olan kısım burası mı?
    private void initOneSignal() {
    if (Config.PUSH_ENABLED) {
    
    OneSignal.setLogLevel(OneSignal.LOG_LEVEL.VERBOSE, OneSignal.LOG_LEVEL.NONE);
    
            // OneSignal Initialization
            OneSignal.initWithContext(this);
            OneSignal.setAppId(ONESIGNAL_APP_ID);
            if (Config.PUSH_ENABLED) {
    OneSignal.setLogLevel(OneSignal.LOG_LEVEL.VERBOSE, OneSignal.LOG_LEVEL.NONE);
                OneSignal.initWithContext(this);
                OneSignal.setAppId(ONESIGNAL_APP_ID);
    
                OneSignal.setNotificationOpenedHandler(
    new OneSignal.OSNotificationOpenedHandler() {
    @Override
                            public void notificationOpened(OSNotificationOpenedResult result) {
    // Capture Launch URL (App URL) here
    
                                JSONObject data = result.getNotification().getAdditionalData();
    
                                String notification_topic;
                                if (data != null) {
    notification_topic = data.optString("trigger", null);
                                    if (notification_topic != null) {
    OneSignal.addTrigger("trigger", notification_topic);
                                    }
    }
    
    
    String launchUrl = result.getNotification().getLaunchURL();
                                String url = null;
                                if (data != null && data.has("url")) {
    try {
    url = data.getString("url");
                                    } catch (JSONException e) {
    e.printStackTrace();
                                    }
    }
    
    Intent intent = new Intent(context, MainActivity.class);
                                intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
                                intent.putExtra("openURL", launchUrl);
                                intent.putExtra("ONESIGNAL_URL", url);
    
                                Log.i("OneSignalExample", "openURL = " + launchUrl);
                                startActivity(intent);
                            }
    });
            }
    }
    }
  • 26-11-2023, 19:44:53
    #4
    Kategori Moderatörü
    erolozboduroglu adlı üyeden alıntı: mesajı görüntüle
    hocam söz konusu olan kısım burası mı?
    private void initOneSignal() {
    if (Config.PUSH_ENABLED) {
    
    OneSignal.setLogLevel(OneSignal.LOG_LEVEL.VERBOSE, OneSignal.LOG_LEVEL.NONE);
    
            // OneSignal Initialization
            OneSignal.initWithContext(this);
            OneSignal.setAppId(ONESIGNAL_APP_ID);
            if (Config.PUSH_ENABLED) {
    OneSignal.setLogLevel(OneSignal.LOG_LEVEL.VERBOSE, OneSignal.LOG_LEVEL.NONE);
                OneSignal.initWithContext(this);
                OneSignal.setAppId(ONESIGNAL_APP_ID);
    
                OneSignal.setNotificationOpenedHandler(
    new OneSignal.OSNotificationOpenedHandler() {
    @Override
                            public void notificationOpened(OSNotificationOpenedResult result) {
    // Capture Launch URL (App URL) here
    
                                JSONObject data = result.getNotification().getAdditionalData();
    
                                String notification_topic;
                                if (data != null) {
    notification_topic = data.optString("trigger", null);
                                    if (notification_topic != null) {
    OneSignal.addTrigger("trigger", notification_topic);
                                    }
    }
    
    
    String launchUrl = result.getNotification().getLaunchURL();
                                String url = null;
                                if (data != null && data.has("url")) {
    try {
    url = data.getString("url");
                                    } catch (JSONException e) {
    e.printStackTrace();
                                    }
    }
    
    Intent intent = new Intent(context, MainActivity.class);
                                intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
                                intent.putExtra("openURL", launchUrl);
                                intent.putExtra("ONESIGNAL_URL", url);
    
                                Log.i("OneSignalExample", "openURL = " + launchUrl);
                                startActivity(intent);
                            }
    });
            }
    }
    }
    Evet