我正在使用在我的应用中实施的OneSignal通知,一切正常。
我希望当用户点按通知直接转到帖子而进入主网页视图时。我搜索了它并发现了一些名为其他数据的内容,但我不知道如何使用Android Studio在代码中实现其他数据。
答案 0 :(得分:1)
其他数据从notificationOpened
界面传递给NotificationOpenedHandler
方法。
按照OneSignal 4. Add Optional NotificationOpenedHandler指南进行设置,并从additionalData
变量中读取您的密钥。
示例您可以在信息中心的“附加数据”部分或create notification REST API POST调用上的targetUrl
字段中将https://google.com
设置为data
。然后在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
。