2016-06-20 2 views
1

Ich verwende OneSignal-Benachrichtigung in meiner App implementiert und alles funktioniert gut.Wie verwende ich OneSignal mit Android Studio, damit Benachrichtigungen direkt mit dem Post-Inhalt verknüpft werden können?

Ich möchte, wenn Benutzer auf die Benachrichtigung tippen Sie direkt auf den Post ohne gehen in die Haupt-Web-Ansicht. Ich suchte danach und fand etwas namens zusätzliche Daten, aber ich weiß nicht, wie man zusätzliche Daten innerhalb des Codes mit Android Studio implementieren.

Antwort

1

Weitere Daten werden an die notificationOpened Methode von der NotificationOpenedHandler Schnittstelle übergeben.

Folgen Sie dem OneSignal 4. Add Optional NotificationOpenedHandler Handbuch, um es einzurichten und Ihren Schlüssel aus der Variablen additionalData zu lesen.

Beispiel können Sie targetUrl-https://google.com auf dem zusätzlichen Datenabschnitt auf dem Armaturenbrett oder das data Feld auf dem create notification REST API POST Rufaufbau. Dann prüfen Sie diesen Schlüssel in additionalData und rufen Sie loadUrl auf Ihrer Web-Ansicht mit dem Wert. Beispiel.

public class YourActivityClass extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     WebView webview = (WebView) findViewById(R.id.webview); 

     OneSignal.startInit(this) 
     .setNotificationOpenedHandler(new ExampleNotificationOpenedHandler()) 
     .init(); 
    } 
    private class ExampleNotificationOpenedHandler implements NotificationOpenedHandler { 
     public void notificationOpened(String message, JSONObject additionalData, boolean isActive) { 
     if (additionalData != null && additionalData.has("targetUrl")) 
      webview.loadUrl(additionalData.optString("targetUrl")); 
     } 
    } 
} 

Hinweis: Der obige Code funktioniert nur, wenn Ihr WebView auf Launchers ist Activity. Wenn dies nicht der Fall ist, müssen Sie OneSignal init in Ihrer Klasse Application einrichten und startActivity anrufen.

+0

Ich habe alles, aber das gleiche Problem, ich kann nicht auf bestimmte urfromnotofication – Ali

+0

@Ali Ich habe nur meine Antwort mit mehr Details und einige Beispiel-Code aktualisiert. – jkasten

+0

Ich habe den Code, den Sie jetzt gesendet haben, wenn die App geöffnet ist, und ich sende eine Benachrichtigung mit Ziel-URL es automatisch öffnen, aber wenn ich die App zu minimieren, und ich sende eine Benachrichtigung mit Ziel-URL und ich tippe auf die Benachrichtigung nichts passiert und die App nicht öffnen – Ali

Verwandte Themen