Documentation Index
Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
Use this file to discover all available pages before exploring further.
トピックベースのコンテンツを持つパブリッシャーや、製品への関心を追跡する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. カスタムデータを含む通知を送信する
これで、ユーザーが通知をクリックするたびに、次のデータで自動的にタグ付けされます:
- 通知をクリックした日付(Unixタイムスタンプ)
- 通知のトピックと、そのトピックがクリックされた合計回数
これで、このデータに基づいてサブスクライバーをセグメント化できます。