我正在使用我的应用程序中实现的 OneSignal 通知,一切正常。
我希望当用户点击通知时直接转到帖子而不进入主 WebView 。我搜索了一下,发现了一些叫做附加数据的东西,但我不知道如何使用 Android Studio 在代码中实现附加数据。
最佳答案
其他数据从 NotificationOpenedHandler
接口(interface)传递到 notificationOpened
方法。
关注 OneSignal 4. Add Optional NotificationOpenedHandler指南进行设置并从 additionalData
变量中读取您的 key 。
例如,您可以将仪表板上的“其他数据”部分上的 targetUrl
设置为 https://google.com
或create notification REST API POST 调用。然后在 additionalData
中检查此键,并使用该值在 Web View 上调用 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
。
关于android - 如何将 OneSignal 与 Android Studio 结合使用以允许通知直接链接到帖子内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37928758/