※KARTEからアプリPUSH通知配信を行った際に発生するイベントの仕様については、下記に記載があります
https://support.karte.io/post/3MRNpDiNIAIpC41DKuc5jE

KARTE for Appで配信される接客のリンク制御全般については、下記にも記載があります
https://support.karte.io/post/5isrl4EbC3Qhxz0benVqdi

FCM登録トークンや、アプリPUSH通知許可設定がKARTEに送信されるタイミング

下記のタイミングで、plugin_native_app_identify イベントを通じ、KARTEに送信が行われます

  1. アプリ起動時(SDK初期化時)
  2. アプリ起動中、FCMの登録トークンが更新された時
  3. FCM登録トークンが更新、もしくは通知許可設定が変更された後、アプリがフォアグラウンドに復帰したタイミング
  4. ビジターIDの再生成時

※iOSの通知許諾ダイアログにユーザーが応答した後にも、KARTEに許諾状況は送信されます
※FCM登録トークンの更新判定は、FCM側で行われるため 想定通りのタイミングで plugin_native_app_identify が送信されない場合もございます。最も送信確度が高いのは、1番の アプリ完全終了状態からの起動時となります。
※iOSの許諾ダイアログで拒否した際にはSDKでその検知ができないため、許諾直後には当該のイベントは発火しません。多くの場合、上記3のタイミングでの検知時で送信されます。

上記のタイミングで送信されない場合は、FCMの実装を改めてご確認ください

  1. チェック項目
    • アプリ起動時に application.registerForRemoteNotifications() を呼び出しているか?
    • アプリ起動時にメッセージングデリゲート Messaging.messaging().delegate = self が設定されているか?
    • トークン更新のモニタリング処理 messaging:didReceiveRegistrationToken: が実装されているか?
    • トークン更新のモニタリング処理内でトークン送信処理KarteTracker.shared.registerFCMToken(fcmToken)を呼び出しているか?

なお、FCM tokenの更新タイミングについては、以下のFirebaseのドキュメント等をご参照下さい。
FCM toekn更新の仕様の詳細については、お答え致しかねますので、ご了承ください。

  1. FCM SDKの導入を確認する
  2. PUSH通知の利用に必要な実装を確認する

該当ユーザーのKARTE上でのFCM登録トークン取得状況や、アプリPUSH通知の許諾状況を調べる方法は?

それぞれplugin_native_app_identify イベント上の値として管理され、最新のFCM登録トークンはfcm_tokenフィールド、許諾状況はsubscribeフィールドで管理されます。
ユーザーストーリー画面からご確認頂けます。
下記のKARTE for App(デフォルト)のセグメントでも確認いただけます

  • FCMトークンを持っている
  • プッシュ配信を許可している

ユーザーの端末にて、(設定アプリ等を通じ)アプリPUSH通知をオンorオフにした際、KARTEに反映されるタイミングはいつですか?

  • 次回アプリ起動時、もしくはアプリフォアグラウンド復帰時にKARTEに送信されます。そのため、アプリの起動やフォアグラウンド復帰が行われていない場合は、plugin_native_app_identifyイベントのsubscribeフィールドは反映されません。
  • KARTE側でsubscribetrueであった場合でも、該当アプリのPUSH通知がOFFにされている場合は、PUSH通知は届きません
  • ユーザーの端末にて、該当アプリのPUSH通知がONとされた場合でも、ユーザーによるアプリ起動やフォアグラウンド復帰が行われず、KARTE側のsubscribefalseのままの場合は、アプリPUSH通知の接客サービスの配信対象に入りません

複数端末で同一人物が同じアプリを利用している場合、アプリPUSH通知はどちらの端末に届きますか?

  • 複数端末間で、ユーザー統合が発生していない場合は、同一人物の利用であってもKARTEの内部的には 別々のユーザーとして扱われるため、それぞれ アプリPUSH通知が届きます
  • 複数端末間で、ユーザー統合が発生している場合。すなわち、それぞれの端末でログインを行い、user_idが送信されている場合は、最後に起動した端末にのみ、アプリPUSH通知が届きます。(1つのuser_idに対し、FCM tokenは 1つのみの保持となるためです。)

1つのuser_idで複数デバイスを利用しているユーザーへのPUSH通知の扱い

  • KARTEは、1つのuser_idに対し、1つのFCMトークンのみ保持可能な仕様です
  • 該当デバイスにてアプリを起動した際に、plugin_native_app_identifyイベントが発生し、そのデバイスで生成されているトークンの値がKARTE宛てに送信されます
  • そのため、KARTEから該当のユーザーにPUSH通知を送信する際は、最後にアクセスしたデバイス宛てに送信されます

FCM以外のアプリPUSH通知のAPI利用は可能ですか?

現状 KARTE for Appでサポートしている仕組みは、FCMのみとなりますのでご了承下さい。

iOSアプリのバックグラウンド起動のため、content-availableキーをPUSH通知に含めたいが可能か?

HTTP v1 APIをご利用であれば、アプリPUSH通知テンプレートの静的変数名として、apns.payload.aps.content-available を指定することで送信可能です。(エディタ内でエラーとなりますが、送信自体はご利用頂けます。)

通知ペイロードをカスタマイズしたい

通知ペイロードをカスタマイズする

KARTE SDKが反映されていないユーザー(休眠ユーザー)へのPUSH通知配信について

  • KARTEからのアプリPUSH通知は、KARTE SDKにより表示処理を行うため、アプリをアップデートせず、KARTE SDKが反映されていないユーザーへのPUSH通知の配信は原則不可となります
  • KARTE Datahubを通じ、FCM Registration Tokenをインポートして配信する際など、ご留意下さい