2016-08-04 23 views
0

Ich ging durch die Dokumentation auf GitHub und verstehe, dass es ein kleines Problem mit iOS und OneSignal für ReactNative gibt, wo die Benachrichtigung zu schnell kommt. Aber hier mein Problem ist, dass ich glaube, dass der Rückruf onNotification nicht aufgerufen wird, wenn die App nicht im Hintergrund ist.`onNotificationOpened` wird nicht aufgerufen, wenn App für iOS aus dem Speicher gelöscht oder entfernt wird

OneSignal.configure({ 
    onNotificationOpened: function(message, data, isActive) { 
    var notification = {message: message, data: data, isActive: isActive}; 
    alert("going to handleNotification"); 
    handleNotification(notification); 
    } 
}); 

Dies ist der snipped von Code, der für als Rückruf ausgeführt werden, wenn eine Benachrichtigung geöffnet soll. Es läuft völlig in Ordnung, wenn die App im Hintergrund geöffnet wird.

Aber sagen wir, ich töte die App durch einen Doppelklick auf die Home-Taste und Entfernen der App. Wenn dann eine Benachrichtigung eingeht und ich darauf klicke, erhalte ich keine Warnung. Dies führt mich zu der Schlussfolgerung, dass der Rückruf nicht angerufen wird. Die App öffnet sich gut, aber die Payload in der Benachrichtigung wird nicht geladen, da die Methode handleNotification nicht aufgerufen wird.

ReactNative 0,29

OS: iOS 9.3

Alle Gedanken/Ideen/Lösungen wäre genial.

Antwort

0

Ok, das ist ein bisschen dumm auf OneSignal Teil, das documentations deutlich angesichts was unten, jedoch ohne Google-Cache erhalten Sie einen schönen 404 error

Damit Meldungen mit den Tasten muss die folgende angezeigt werden wahr :

  1. Sie können nicht erzwingen, die App zu schließen, indem Sie zweimal auf die Home-Taste tippen und Ihre App wegwischen.

    Wenn dies der Fall ist, sehen Sie einen Eintrag im Geräteprotokoll in Xcode wie folgt. apsd [83]: Niedrige Priorität Push: com.onesignal.example - App getötet

  2. Gehen Sie zu Einstellungen> Allgemein> "Background App Refresh" und stellen Sie sicher, dass es für das Gerät und Ihre App aktiviert ist.

  3. Stellen Sie sicher, dass "Remote-Benachrichtigungen" unter Funktionen> Hintergrundmodi in Schritt 2 überprüft werden. Erforderliche Funktionen hinzufügen. Hinweis: Dies ist für einige Plugins wie Cordova und Corona automatisch.