1

Android デバイスに通知を送信するために Onesignar の REST API を使用しています。このようにユーザーに追加データを送信したいです。

{"user_level","10"}

タグを使用していますが、関数を使用してこのタグを取得できません

 OneSignal.getTags(new OneSignal.GetTagsHandler() {
                    @Override
                    public void tagsAvailable(JSONObject tags) {
                        Log.d("debug_Tag", tags.toString());
                    }
                });

常に空のオブジェクトを返します。Onesignar で通知からタグを取得したり、通知に追加データを設定したりするにはどうすればよいですか?

4

1 に答える 1

1

通知でデータを渡したい場合はdata、OneSignal作成通知REST API POST 呼び出しでフィールドを設定する必要があります。

{
  "app_id": "5eb5a37e-b458-11e3-ac11-000c2940e62c",
  "included_segments": ["All"],
  "data": {"user_level","10"},
  "contents": {"en": "English Message"}
}

または、OneSignal ダッシュボードの [新しいメッセージ] ページの [オプション] の下にある [追加データ] フィールド。

その後、アプリのコードを呼び出して、起動する をアプリsetNotificationOpenedHandlerに追加できます。NotificationOpenedHandlernotificationOpened

  public void onCreate() {
      super.onCreate();

      OneSignal.startInit(this)
        .setNotificationOpenedHandler(new ExampleNotificationOpenedHandler())
        .init();
   }

  // This fires when a notification is opened by tapping on it or one is received while the app is running.
  private class ExampleNotificationOpenedHandler implements NotificationOpenedHandler {
    @Override
    public void notificationOpened(String message, JSONObject additionalData, boolean isActive) {
      try {
        if (additionalData != null) {
          Log.d("OneSignalExample", "Full additionalData:\n" + additionalData.toString());
        }
      } catch (Throwable t) {
        t.printStackTrace();
      }
    }

additionalDatadata通知を作成するときにフィールドに設定したものが含まれます。

OneSignal.getTagsでユーザーに設定したタグ値のみを取得しますOneSiganal.sendTags

于 2016-06-09T21:47:19.610 に答える