メインコンテンツへスキップ

プリファレンスセンターとは?

プリファレンスセンターは、アプリまたはウェブサイト上のページで、ユーザーが受信するメッセージの方法と種類を制御できるようにするものです。プリファレンスセンターを作成する理由と詳細については、ユーザープリファレンスセンターのガイドをご覧ください。 このガイドでは、OneSignalのAPIを使用してアプリまたはウェブサイトにユーザープリファレンスセンターを含めるために必要な技術的なセットアップについて説明します。このガイドでは、次の方法について説明します:
  • データタグを使用してトピック、カテゴリ、頻度制御を割り当てる
  • 新しいコミュニケーションチャネル(プッシュ通知、メール、SMS)を収集する
  • ユーザーがオプトアウトしたい場合にコミュニケーションチャネルを無効にする
  • データコンプライアンスを処理する
  • ユーザーデータを削除する

要件

  • OneSignalのMobile SDKsバージョン5+および/またはWeb SDK 16+
  • External IDまたはAliasの設定
  • OneSignalは、プリファレンスセンターのレイアウトを作成するためのAPIは提供していません。ユーザーとサブスクリプションをGET、PATCH、DELETEするAPIのみを提供しています
    • ウェブサイトがあり、シンプルなプリファレンスセンターが必要な場合は、カテゴリプロンプトをお試しください

追加の推奨読み物

セットアップ

ユーザーがプリファレンスセンターにアクセスしたら、View user APIを使用して、external_idまたは設定したカスタムエイリアスに基づいてユーザーのOneSignalデータを取得します。これにより、ユーザーのpropertiessubscriptionsが提供されます。役立つデータには以下が含まれますが、これらに限定されません:
  • properties:ユーザーデータ
    • tags - OneSignalに送信するカスタムデータ
    • language - ユーザーの言語コード
  • subscriptions:メッセージングチャネルとサブスクリプションステータス
    • id - サブスクリプションID
    • type - EmailSMS、*Push(AndroidPushiOSPushChromePushSafariPushなど)
    • enabled - trueはサブスクライブ済み、falseはサブスクライブ解除を意味します
    • token - サブスクリプションタイプに応じたプッシュトークン、メールアドレス、または電話番号
{
  "properties": {
    "tags": {
      "finance": "1",
      "tech": "1",
      "sports": "1",
      "breaking-news": "0",
      "entertainment": "0",
      "deals": "0",
      "newsletter-frequency": "weekly",
      "customer_status": "Enterprise",
      "event": "1693411710",
      "first_name": "Jon",
      "last_name": "F"
    },
    "language": "en"
  },
  "subscriptions": [
    {
      "id": "sub_id_1",
      "type": "Email",
      "token": "email@example.com",
      "enabled": true
    },
    {
      "id": "sub_id_2",
      "type": "SMS",
      "token": "1234567890",
      "enabled": true
    },
    {
      "id": "sub_id_3",
      "type": "ChromePush",
      "token": "some_token_here",
      "enabled": true
    }
  ]
}
提供されたデータを使用して、必要に応じてプリファレンスセンターにデータを入力します。

カテゴリと頻度制御の割り当て

データタグを参照してください。タグは、セグメント化とパーソナライゼーションに使用されるキーバリューペアです。範囲ベースのフィルタリングを有効にするには、文字列エンコードされた整数またはタイムスタンプを使用します。 ユーザーは興味をトグルできます(例:sports: 1)、またはnewsletter-frequency: weeklyのような頻度タグを設定できます。このデータをセグメントまたはCreate notification APIでフィルターと共に使用します。 タグを更新するには、Update user APIを呼び出します。

新しいコミュニケーションチャネルの収集

タイプと有効ステータスについてsubscriptionsを確認します。tokenはメール/SMSの場合のみ表示し、プッシュの場合は表示しません。
連絡先情報がシステムに存在するがOneSignalにはまだ存在しない場合は、独自のDBをフォールバックとして使用して表示してください。

メールとSMSの更新

addEmailaddSms SDKメソッド、またはCreate subscriptionUpdate subscription APIを使用します。更新にはサブスクリプションidが必要です。

プッシュの更新

プッシュが有効になっていない場合は、ユーザーにプロンプトを表示します。

コミュニケーションチャネルの無効化

Update subscriptionを使用してenabledfalseに設定します。再度オプトインするにはtrueにトグルします。

データコンプライアンスの処理

デフォルトでSDK初期化を防止し、初期化にユーザーの同意を必要とします。個人データの取り扱いを参照してください。

ユーザーデータの削除

Delete user APIを使用して、OneSignalからユーザーを完全に削除します。