2

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

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

4

1 回答 1

2

附加数据从接口传递给notificationOpened方法。NotificationOpenedHandler

按照 OneSignal 4. 添加可选 NotificationOpenedHandler指南进行设置并从additionalData变量中读取您的密钥。

targetUrl您可以在https://google.com仪表板的 Additional Data 部分或创建通知REST API POST 调用的data字段上设置的示例。然后检查此键并使用该值调用您的 Web 视图。例子。additionalDataloadUrl

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.

于 2016-06-21T03:29:02.603 回答