我正在使用在我的应用程序中实现的 OneSignal 通知,并且一切正常。
我希望当用户点击通知时直接进入帖子而不进入主网络视图。我搜索了一下,发现了一些叫做附加数据的东西,但我不知道如何使用 Android Studio 在代码中实现附加数据。
附加数据从接口传递给notificationOpened
方法。NotificationOpenedHandler
按照 OneSignal 4. 添加可选 NotificationOpenedHandler指南进行设置并从additionalData
变量中读取您的密钥。
targetUrl
您可以在https://google.com
仪表板的 Additional Data 部分或创建通知REST API POST 调用的data
字段上设置的示例。然后检查此键并使用该值调用您的 Web 视图。例子。additionalData
loadUrl
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"));
}
}
}
注意:上面的代码只有WebView
在你的启动器上才有效Activity
。如果不是,您将需要在您的Application
课程中设置 OneSignal init 并调用startActivity
.