如何将OneSignal与Android Studio结合使用,以允许通知直接链接到帖子内容?
我在我的应用程序中使用OneSignal通知,一切正常如何将OneSignal与Android Studio结合使用,以允许通知直接链接到帖子内容?,android,onesignal,Android,Onesignal,我在我的应用程序中使用OneSignal通知,一切正常 我希望当用户点击通知时,直接转到帖子,而不进入主web视图。我搜索了一下,发现了一个名为附加数据的东西,但我不知道如何使用Android Studio在代码中实现附加数据。附加数据从NotificationOpenedHandler界面传递到notificationOpened方法 按照OneSignal指南进行设置,并从附加数据变量中读取密钥 示例:您可以将targetUrl设置为https://google.com在仪表板的附加数据部分
我希望当用户点击通知时,直接转到帖子,而不进入主web视图。我搜索了一下,发现了一个名为附加数据的东西,但我不知道如何使用Android Studio在代码中实现附加数据。附加数据从
NotificationOpenedHandler
界面传递到notificationOpened
方法
按照OneSignal指南进行设置,并从附加数据
变量中读取密钥
示例:您可以将targetUrl
设置为https://google.com
在仪表板的附加数据部分,或REST API POST调用的数据
字段。然后在additionalData
中检查此键,并在web视图上使用该值调用loadUrl
。
例如
注意:以上代码仅在
WebView
位于启动器活动中时有效。如果不是,则需要在应用程序
类中设置OneSignal init,并调用startActivity
我应用了所有东西,但同一个问题我无法访问特定的urlfromnotofication@Ali我刚刚更新了我的答案,添加了更多的细节和一些示例代码。我已经实现了你现在发送的代码,如果应用程序打开,我会发送一个带有目标url的通知,它会自动打开,但当我最小化应用程序时,我会发送一个带有目标url的通知目标url,我点击通知没有发生任何事情,应用程序没有打开也考虑到我在AndroidManifest.xml中实现了这段代码,这是问题吗???
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"));
}
}
}