android - 如何将 OneSignal 与 Android Studio 结合使用以允许通知直接链接到帖子内容?

标签 android onesignal

我正在使用我的应用程序中实现的 OneSignal 通知,一切正常。

我希望当用户点击通知时直接转到帖子不进入主 WebView 。我搜索了一下,发现了一些叫做附加数据的东西,但我不知道如何使用 Android Studio 在代码中实现附加数据。

最佳答案

其他数据从 NotificationOpenedHandler 接口(interface)传递到 notificationOpened 方法。

关注 OneSignal 4. Add Optional NotificationOpenedHandler指南进行设置并从 additionalData 变量中读取您的 key 。

例如,您可以将仪表板上的“其他数据”部分上的 targetUrl 设置为 https://google.comcreate 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/

相关文章:

android - 如何设置复制粘贴工具栏的背景颜色?

node.js - 使用 OneSignal 向多个用户发送推送通知

android - IONIC apk 生成问题

android - Ionic 3 上的 OneSignal 推送通知 : All included players are not subscribed

android-studio - 安卓 : One Signal Push notification did not receive while the app is in use

java - 从 list 中引用的资源不能因配置而异

java - 如何自定义ListView android

android - 将 RippleDrawable 和 StateListDrawable 的效果添加到 RecyclerView

php - 如何为 Android 应用程序实现 OAuth2 和 PHP Rest Api

ios:当应用程序处于焦点时禁用警报通知(OneSignal)