KARTE for App接客のうち「プッシュ通知接客サービス」特有のチェックリストです。
KARTE for App接客全般の問題は KARTE for App接客が配信されない場合のチェックリスト をご確認ください。

またプッシュ通知の配信時に発生するイベントについてはKARTEからアプリPUSH通知配信を行う際のイベント仕様(許諾・非許諾ユーザー)をご確認ください。

確認項目

確認の詳細は後述する「確認項目詳細」をご確認ください。

  1. プッシュ通知が届かない
    • Firebase Cloud Messaging (以下FCM) SDKの実装はできているか
    • FCMコンソールから通知を送った場合に通知が届くか
    • FCMサーバーキーは登録済みか
    • FirebaseプロジェクトIDと秘密鍵は登録済か
    • Firebase Cloud Messaging APIは有効か
    • FCMトークンの送信ができているか
    • 接客サービスの配信設定は正しくできているか
  2. iOS端末のみでプッシュ通知が届かない
    • FCMにAPNs認証キーの登録はできているか
  3. Android端末のみでプッシュ通知が届かない
    • 通知メッセージ受信時の処理は実装できているか
  4. 以前はプッシュ通知が届いていたが、ある時から届かなくなった
    • 同じユーザーに対して複数のuser_idを連携していないか
    • アンインストールしていないか
    • アンインストール/再インストールを行っていないか
  5. リッチ通知でメディア(画像・動画・音声)が表示できない (iOSのみ)
    • リッチ通知用のSDK実装はできているか
  6. ディープリンクが動作しない
    • メッセージ開封時の処理は実装できているか
    • ディープリンクを処理するための実装ができているか
  7. プッシュ通知の開封イベントが計測されない
    • メッセージ開封時の処理は実装できているか
  8. 「TALK送信失敗」の数が多い
    • エラーメッセージから原因を調査する
  9. フォアグラウンドの時に、PUSH通知が表示されない
    • 表示に必要なアプリの実装を確認する
    • React Native SDKをご利用の場合
  10. 「テストメッセージを送信する」機能でテスト配信に失敗する
    • ブラウザのコンソールにエラーメッセージが表示されていないか確認する
    • 対象のユーザーが存在するか
    • テスト配信を行うプロジェクトが間違っていないか
  11. 通知アイコンが正しく表示できない (Androidのみ)
    • 通知用アイコンにアルファチャンネルのある画像が正しく指定されているか
  12. 問題が解決しない場合

確認項目詳細

プッシュ通知が届かない

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の値を確認してください。

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

接客サービスの配信設定は正しくできているか
KARTE for App接客が配信されない場合のチェックリスト をご確認ください。

iOS端末のみでプッシュ通知が届かない

FCMにAPNs認証キーの登録はできているか
iOS端末へプッシュ通知を送るためには、事前にAPNs認証キーをFirebaseにアップロードしておく必要があります。
設定手順に関しては iOS での Firebase Cloud Messaging クライアント アプリの設定 をご覧ください。

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

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

Android端末のみでプッシュ通知が届かない

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

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

  • [Android] プッシュ通知を受信する

  • ※AndroidについてはAndroid SDKのnotificaton module v2.8.0以降で、AndroidManifest.xmlや実装方法の修正が必要になる場合があります。該当バージョン以降へのSDKアップデートを行う際には当該の内容についてもご確認ください。招待はリンク先を御覧ください。

以前はプッシュ通知が届いていたが、ある時から届かなくなった

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

アンインストールしていないか
プッシュ通知の送信先端末でアプリがアンインストールされている場合「KARTEからFCMへのリクエストは成功し、メッセージ送信成功イベント talk_message_send は発生するが、端末には届かない」という事象が発生します。
このとき、FCMから端末への配信は失敗します。
失敗したという情報はFCMからKARTEに返ってきて、KARTE側ではそのfcm tokenを配信対象から除外するため、以降は配信されません。
参考: talk_message_sendが発火しているのに端末にプッシュ通知が届きません。

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

  • Androidでnotification moduleのアップデートに伴い必要な対応が漏れている
    • Android SDKのnotificaton module v2.8.0以降で、AndroidManifest.xmlや実装方法の修正が必要になる場合があります。該当バージョン以降へのSDKアップデートを行う際には当該の内容についてもご確認ください。招待はリンク先を御覧ください。

リッチ通知でメディア(画像・動画・音声)が表示できない (iOSのみ)

リッチ通知用のSDK実装はできているか
リッチ通知に対応するには、別途SDKの実装が必要です。
実装方法に関しては [iOS] リッチプッシュ通知を受信する をご覧ください。

ディープリンクが動作しない

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

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

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

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

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

プッシュ通知の開封イベントが計測されない

メッセージ開封時の処理は実装できているか
先の述べた「メッセージ開封時の処理は実装できているか」と同じです。

「TALK送信失敗」の数が多い

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

「代表的なエラー」

エラーメッセージ 主な原因
SENDER_ID_MISMATCH KARTE管理画面上に登録されたFCMの設定情報 に誤りがある
UNREGISTERED ユーザーがアプリをアンインストールした場合など、送信に使ったFCMトークンが登録解除されている

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

アプリのフォアグラウンド/バックグラウンド状態で挙動が変わる場合

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

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

Flutter SDKをご利用の場合
Androidではforeground/background状態のそれぞれで実装が必要です。

「テストメッセージを送信する」機能でテスト配信に失敗する

送信対象のユーザーは存在しているか
KARTEの管理画面上でプッシュ通知のテスト配信を行う際に対象ユーザーが存在しない場合は送信に失敗します。
該当ユーザーが存在するかをご確認ください。

テスト配信を行うプロジェクトが間違っていないか
、検証環境と本番環境でプロジェクトを間違えていないかご確認ください。

通知アイコンが正しく表示できない (Androidのみ)

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

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