2

アプリに実装された OneSignal 通知を使用していますが、すべてうまく機能しています。

ユーザーが通知をタップしたときに、メインの Web ビューに移動せずに投稿に直接移動したい。私はそれについて検索し、追加データと呼ばれるものを見つけましたが、Android Studio を使用してコード内に追加データを実装する方法がわかりません。

4

1 に答える 1

2

notificationOpened追加のデータがインターフェイスからメソッドに渡されNotificationOpenedHandlerます。

OneSignal 4. Add Optional NotificationOpenedHandleradditionalDataガイドに従ってセットアップし、変数からキーを読み取ります。

ダッシュボードの [追加データ] セクションまたは作成通知REST API POST 呼び出しのフィールドでtargetUrl設定できる例。次に、このキーを確認し、値を使用して Web ビューを呼び出します。例。https://google.comdataadditionalDataloadUrl

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は、 がランチャーにある場合にのみ機能しますActivityApplicationそうでない場合は、代わりにクラスで OneSignal init をセットアップして呼び出す必要がありますstartActivity

于 2016-06-21T03:29:02.603 に答える