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.
Ich habe alles, aber das gleiche Problem, ich kann nicht auf bestimmte urfromnotofication – Ali
@Ali Ich habe nur meine Antwort mit mehr Details und einige Beispiel-Code aktualisiert. – jkasten
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