メインコンテンツへスキップ
トピックベースのコンテンツを持つパブリッシャーや、製品への関心を追跡するeコマースサイトの場合、ユーザーがインタラクションする通知のカスタムデータに基づいてユーザーをセグメント化できます。 OneSignalでは、データタグを使用してこれを実行できます。通知ペイロードで定義したメタデータに基づいて、ユーザーが通知をクリックしたときにタグを付けることで、豊富な行動主導のセグメントを作成できます。

1. コードを追加する

OneSignal SDKの通知イベントハンドラーを使用して、通知が開かれたときを検出します。そのハンドラーで、ペイロードからカスタムデータを抽出し、addTagまたはaddTagsを使用して保存します。 この例では、カスタムデータから"notification_topic"でユーザーにタグを付けます。カテゴリ、製品タイプ、キャンペーンなど、必要な他のフィールドを追加できます。
OneSignal.setNotificationOpenedHandler(
  new OneSignal.OSNotificationOpenedHandler() {
    @Override
    public void notificationOpened(OSNotificationOpenedResult result) {
      JSONObject data = result.getNotification().getAdditionalData();
      Log.i("OneSignalExample", "Notification Data: " + data);

      if (data != null) {
        String topic = data.optString("notification_topic", null);
        if (topic != null)
          OneSignal.User.addTag("notification_topic", topic);

        // Add more tags from custom data if needed
        String category = data.optString("category", null);
        if (category != null)
          OneSignal.User.addTag("notification_category", category);
      }
    }
  }
);
```swift Swift
let notificationOpenedBlock: OSHandleNotificationActionBlock = { result in
let payload: OSNotificationPayload? = result?.notification.payload
let additionalData = payload?.additionalData

if let topic = additionalData?["notification_topic"] as? String {
  OneSignal.User.addTags(["notification_topic": topic])
}

if let category = additionalData?["category"] as? String {
  OneSignal.User.addTags(["notification_category": category])
}

// Add more tags from custom data if needed
}

2. 通知にカスタムデータを追加する

通知を作成するときは、ダッシュボードまたはAPI dataパラメータを使用して、通知に追加データを追加するだけです。 これが通知のトピックとなり、ユーザーをセグメント化するために使用するものです。一般的なトピックには、「news」、「entertainment」、「politics」、「finance」、「tech」などがあります。

ダッシュボードで通知トピックデータを追加

3. タグに基づいてセグメント化する

ユーザーがクリックしたカスタムデータの値に基づいて、セグメントを作成できるようになりました。 :金融トピックをクリックしたユーザー
  • キー:notification_topic
  • 条件:equals
  • 値:finance

クリックされたトピックに基づいてユーザーをセグメント化

4. カスタムデータを含む通知を送信する

これで、ユーザーが通知をクリックするたびに、次のデータで自動的にタグ付けされます:
  1. 通知をクリックした日付(Unixタイムスタンプ)
  2. 通知のトピックと、そのトピックがクリックされた合計回数
これで、このデータに基づいてサブスクライバーをセグメント化できます。