プッシュ通知で問題が発生する場合は、以下の手順で確認を行ってください。
※プッシュ通知以外の接客サービスも含めた、KARTE for App接客が配信されない場合のチェックリストはこちら

確認項目

  1. プッシュ通知が届かない

    1. Firebase Cloud Messaging (以下FCM) SDKの実装はできているか → 詳細
    2. FCMコンソールから通知を送った場合に通知が届くか → 詳細
    3. FCMサーバーキーは登録済みか → 詳細
    4. FirebaseプロジェクトIDと秘密鍵は登録済か → 詳細
    5. Firebase Cloud Messaging APIは有効か → 詳細
    6. FCMトークンの送信ができているか → 詳細
    7. 接客サービスの配信設定は正しくできているか → 詳細
  2. iOS端末のみでプッシュ通知が届かない

    1. FCMにAPNs認証キーの登録はできているか → 詳細
  3. Android端末のみでプッシュ通知が届かない

    1. 通知メッセージ受信時の処理は実装できているか → 詳細
  4. 以前はプッシュ通知が届いていたが、ある時から届かなくなった

    1. 同じユーザーに対して複数のuser_idを連携していないか → 詳細
    2. アンインストール/再インストールを行っていないか → 詳細
  5. リッチ通知でメディア(画像・動画・音声)が表示できない (iOSのみ)

    1. リッチ通知用のSDK実装はできているか → 詳細
  6. ディープリンクが動作しない

    1. メッセージ開封時の処理は実装できているか → 詳細
    2. ディープリンクを処理するための実装ができているか → 詳細
    3. 外部サイトのリンクを指定していないか → 詳細
  7. プッシュ通知の開封イベントが計測されない

    1. メッセージ開封時の処理は実装できているか → 詳細
  8. 「TALK送信失敗」の数が多い

    1. エラーメッセージから原因を調査する → 詳細
  9. フォアグラウンドの時に、PUSH通知が表示されない

    1. 表示に必要なアプリの実装を確認する →  詳細
    2. ご使用中のSDKを確認する。React Native SDKをご利用の場合 → 詳細
  10. 「テストメッセージを送信する」機能でテスト配信を行うと送信に失敗する。

    1. ブラウザのコンソールにエラーメッセージが表示されていないか確認する
    2. 対象のユーザーが存在するか確認する →  詳細
    3. テスト配信を行うプロジェクトが間違っていないか確認する。 → 詳細
  11. 通知アイコンが正しく表示できない (Androidのみ)

    1. 通知用アイコンにアルファチャンネルのある画像が正しく指定されているか → 詳細
  12. 問題が解決しない場合

    1. 問題が解決しない場合、KARTE for App不具合の調査に必要な情報 を参考に情報をご準備の上管理画面のチャットサポートからお問い合わせください。

Firebase Cloud Messaging (以下FCM) SDKの実装はできているか

プッシュ通知を受信するにはFCM SDKの実装が必要です。

実装手順に関しては、Firebaseのページをご覧ください。

サンプルコードも併せてご覧ください。

FCMコンソールから通知を送った場合に通知が届くか

FCMコンソールから通知を送ることで、FCM SDKの実装が正しくできているか確認できます。

FCMコンソールを使ったメッセージ送信については、以下のページをご覧ください。
Firebase コンソールでメッセージを送信する

FCMサーバーキーは登録済か

FCM Legacy APIをご利用の場合、KARTEからFCMのAPIを呼び出すために、FCMサーバーキーが必要です。

サーバーキーの設定方法に関しては、以下のページをご覧ください。
接客サービス(プッシュ通知)

FirebaseプロジェクトIDと秘密鍵は登録済か

FCM HTTP v1 APIをご利用の場合、KARTEからFCMのAPIを呼び出すために、FirebaseプロジェクトIDと秘密鍵が必要です。

プロジェクトIDおよび秘密鍵の設定方法に関しては、以下のページをご覧ください。
接客サービス(プッシュ通知)

Firebase Cloud Messaging APIは有効か

FCM HTTP v1 APIをご利用の場合、KARTEからFCMのAPIを呼び出すために、Google API ConsoleでFirebase Cloud Messaging APIを有効にする必要があります。

Firebase Cloud Messaging APIは有効化の方法に関しては、以下のページをご覧ください。
接客サービス(プッシュ通知)

FCMトークンの送信ができているか

プッシュ通知の送信対象を示すトークンをKARTE側に送る必要があります。

トークンの送信方法に関しては、以下のページをご覧ください。

また、トークン送信時に発生するplugin_native_app_identifyfcm_tokensubscribeの値が正しいかを確認してください。
通知を送信するにはsubscribe(通知許可)がtrueである必要があります。
イベントの内容はストーリー画面で次の方法で確認できます。

イベントログ

plugin_native_app_identifyは「ネイティブアプリ・プッシュ通知用の情報が送信されました」と表示されます。「データを確認」を押し、fcm_tokensubscribeの値を確認してください。
null

ユーザデータ

画面左の「ユーザーデータ > すべて確認」から、ユーザの情報が確認できます。
plugin_native_app_identifyfcm_tokensubscribeの「最新の値」を確認してください。

null

接客サービスの配信設定は正しくできているか

別紙のチェックリストをご覧ください。
KARTE for App接客が配信されない場合のチェックリスト

FCMにAPNs認証キーの登録はできているか

iOS端末へプッシュ通知を送るためには、事前にAPNs認証キーをFirebaseにアップロードしておく必要があります。

設定手順に関しては、以下のページをご覧ください。
iOS での Firebase Cloud Messaging クライアント アプリの設定

通知メッセージ受信時の処理は実装できているか

KARTEから送信したプッシュ通知は、受信時にSDKで処理されることを前提として作られています。
そのため通知受信時にSDKの処理を呼び出していただく必要があります。

通知受信時の処理の実装に関しては、以下のページをご覧ください。

同一端末上での複数user_idの連携に関しては、計測データの不整合が発生する可能性が高いため動作保証をしておりません。
同じユーザーに対して、複数のuser_idをユーザータグで連携しても問題ないでしょうか? | KARTEサポートサイト

リッチ通知用のSDK実装はできているか

リッチ通知に対応するには、別途SDKの実装が必要です。

実装方法に関しては、以下のページをご覧ください。
[iOS] リッチプッシュ通知を受信する

メッセージ開封時の処理は実装できているか

通知開封時に行われる以下の処理に関しては、KARTE SDKで処理されることを前提に作られているため、通知開封時にSDKの処理を呼び出していただく必要があります。

  • 開封イベント送信
  • ディープリンクによる遷移

通知開封時の処理の実装に関しては、以下のページをご覧ください。

ディープリンクを処理するために、あらかじめアプリケーション間通信(カスタムURLスキーム)に対応している必要があります。

アプリケーション間通信に関しては、以下のページをご覧ください。

Androidでは、通知クリックによりアプリが起動されたタイミングでmessage_clickが発火します。そのため、リンクに他アプリのディープリンクやブラウザで表示するサイトのURLを指定した場合はmessage_clickは取得できません。(iOSではこの場合でもmessage_clickが計測できます。)

TALKメッセージ送信失敗(talk_message_fail)のエラー内容を確認

送信できなかったユーザのTalkメッセージ送信失敗(talk_message_fail)イベントから、エラーの内容を確認できます。

エラー内容の例

例えば、FCMがエラーレスポンスを返却した場合はレスポンスのデータが含まれます。よくあるケースとして、エラー内容がNotRegistered UNREGISTERED(ユーザがアプリをアンインストールしている等)であることがあります。

  • NotRegisteredで失敗した場合のイベントデータ例 (FCM Legacy API)
      {
        "values": {
          "talk_message_fail": {
            ...
            "error": "Error: Failed to send notification data. FCM response: [200] {\multicast_id\":xxxxxxxxxxx

またKARTE管理画面上に登録されたFCMの設定情報に誤りがある場合は、 SENDER_ID_MISMATCH というエラーが発生するケースもあります。

FCMのエラーの詳細

FCMのエラーの詳細については、以下をご覧ください。

FCM Legacy API
Firebase Cloud Messaging の HTTP プロトコル

エラーコード | Firebase

アンインストール/再インストールを行っていないか

アンインストール/再インストールを行うと、fcm tokenがリフレッシュされます。リフレッシュ後にKARTEに対して、fcm tokenを送るイベント plugin_native_app_identify が発生して、最新データが送られていれば更新されますが、それが送られていない場合にはKARTE上では古いfcm tokenの情報のまま保持されています。その状態でプッシュ通知を配信しようとすると、古いtokenに対して配信リクエストを送るため、メッセージ送信成功イベント talk_message_send は発生するが、端末には届かないという事象が発生します。
プッシュ通知の送信テストを行う際には、アンインストール/再インストールせずにお試しください。

フォアグラウンドの時にPUSH通知を表示させたい場合、必要な実装が完了しているかどうか

iOSにて、アプリがフォアグラウンドのときにPUSH通知を表示させるためには、User Notifications Frameworkの userNotificationCenter(_:willPresent:withCompletionHandler:) の実装が必要となります。実装を行わない場合、フォアグラウンドの際はPUSH通知が全く表示されないため、ご注意ください。

また、React Native SDKをご利用の場合、FirebaseのReact Native Bridgeの仕様により、上記対応を行なってもフォアグラウンド時のPUSH通知の表示が自動でされない場合があります。その際は、別途ローカル通知APIを使用しPUSH通知を表示する必要があります。

送信対象のユーザーは存在しているか、検証環境と本番環境を間違えていないか。

KARTEの管理画面上でプッシュ通知のテスト配信を行う際に対象ユーザーが存在しない場合は送信に失敗します。該当ユーザーが存在するか、検証環境と本番環境でプロジェクトを間違えていないかご確認ください。

通知用アイコンにアルファチャンネルのある画像が正しく指定されているか

Android 5以降では通知のアイコン(small icon)はアルファチャンネルを利用して描画されます。
アイコンを指定する際にアルファチャンネルの存在しない画像を指定すると、黒塗りのアイコン表示になる恐れがあります。

また、KARTE SDKで表示される通知は、無指定時にはデフォルトでアプリのランチャーアイコンが指定されます。
ランチャーアイコンにアルファチャネルがない場合や外形がある場合に、黒塗りアイコンになってしまいます。
下記記事を参考に、通知アイコンの指定を行うか、通知のカスタマイズを行って対応してください。