プッシュ通知の一般的なエラーメッセージ
このページでは、プッシュメッセージングに関する一般的なエラーメッセージについて説明します。
プッシュバウンス: MismatchSenderId
MismatchSenderId は認証の失敗を示します。Firebase Cloud Messaging (FCM) は、senderIDとFCM APIキーという2つの重要なデータで認証を行います。これらの両方が正確であることを確認する必要があります。詳細については、この問題に関するAndroidドキュメントを参照してください。
一般的な失敗の原因には以下が含まれます:
- 不正なsenderID
- 異なるsenderIDを持つ別のプッシュサービスに登録した場合の多重登録
プッシュバウンス: InvalidRegistration
InvalidRegistration は、プッシュトークンが不正な形式の場合に発生する可能性があります。一般的な失敗の原因には以下が含まれます:
- Brazeの登録トークンを手動で渡しているが、
getToken()を呼び出していない場合。たとえば、インスタンスID全体を渡している場合があります。エラーメッセージ内のトークンは|ID|1|:[regular token]のように表示されます。 - 複数のサービスに登録している場合。現在、プッシュ登録インテントは旧式で到着することを想定しているため、複数の場所で登録を行い、他のサービスからのインテントをキャッチすると、不正な形式のプッシュトークンが発生する可能性があります。
プッシュバウンス: NotRegistered
NotRegistered は通常、アプリがデバイスから削除されたことを意味します(アンインストールのシグナルなど)。これは、多重登録が発生し、2番目の登録がBrazeが受信したプッシュトークンを無効にした場合にも発生する可能性があります。
DEVICE_UNREGISTERED
このエラーはメッセージアクティビティログに以下のように表示されます:
Received 'Error: DEVICE_UNREGISTERED, ' sending to '[Token String]'
これは通常、以下のいずれかの理由で発生します:
- ユーザーがアプリをアンインストールした場合。これが最も一般的な原因です。アプリがデバイスから削除されると、プッシュトークンは無効になります。
- アプリのプッシュ認証情報が更新された場合。チームがアプリにバンドルされているFCM認証情報または証明書を変更した場合、以前の認証情報で登録したユーザーは、アプリが再登録するまで無効なトークンを持つことになります。
- カスタムロジックがユーザーのプッシュ登録を解除している場合。これはまれですが、Firebase/Android SDKを使用してプログラムでデバイスのプッシュ登録を解除することは技術的に可能です。
このエラーは、ユーザーのプッシュが無効であることを意味するものではありません。特定のトークンがプロファイルから削除されたことを示しているだけです。これは、機能をテストしていてアプリのインストールとアンインストールを頻繁に行っているユーザーによく見られます。ユーザーがまだ有効なトークンを持っているかどうかを確認するには、ユーザー検索に移動し、エンゲージメントタブの連絡先設定セクションを確認してください。
ペイロードが無効なためプッシュの送信エラー
このメッセージは、Apple Push Notification service (APNs) が無効なペイロードのためにプッシュリクエストを拒否した場合に、ユーザープロファイルのエンゲージメントタブの連絡先設定 > プッシュ変更ログに表示されることがあります。
Brazeでは、このダッシュボードメッセージは以下のAPNsエラー理由のいずれかに対応する場合があります:
PayloadEmpty: 送信されるプッシュの種類に必要なコンテンツがペイロードに含まれていませんでした。PayloadTooLarge: ペイロードがAPNsの最大ペイロードサイズを超えました。
一般的な原因には以下が含まれます:
- カスタムキー(およびその値)によりペイロードが大きくなりすぎている場合(予想外に大きなLiquidレンダリング値を含む場合があります)。
- 必要な場所でアラートまたは本文が空または欠落している場合(または不正な形式の
apsペイロード)。
次のステップ:
- カスタムキーを削減し、大きな動的値を短縮してペイロードサイズを縮小してください。
- APIを通じて送信する場合は、送信前に最終的なJSONペイロード(サイズを含む)を検証してください。
プッシュバウンス: BadToken
BadToken エラーはいくつかの理由で発生する可能性があります:
- プッシュトークンがBrazeに正しく送信されていない場合(たとえば、
registerDeviceToken:またはプラットフォームの同等のメソッドで)。- メッセージアクティビティログでトークンを確認してください。通常、文字と数字の長い文字列(
6e407a9be8d07f0cdeb9e714733a89445f57a89ec890d63867c482a483506fa6など)のように見えるはずです。そうでない場合は、Brazeにプッシュトークンを送信するコードを確認してください。
- メッセージアクティビティログでトークンを確認してください。通常、文字と数字の長い文字列(
- プロビジョニング環境の不一致:
- 開発用証明書で登録し、本番用証明書で送信しようとすると、このエラーが表示されることがあります。
- Brazeは本番環境のユニバーサル証明書のみをサポートしています。ユニバーサル証明書を使用した開発環境でのプッシュテストは機能しません。
- このレポートは本番環境ではバウンスを送信しますが、開発環境では送信しません。
- プロビジョニングプロファイルの不一致:
- これは、証明書がトークンの取得に使用されたものと一致しない場合に発生する可能性があります。これが疑われる場合、次のステップには以下が含まれます:
- Brazeダッシュボードからプッシュを送信するために使用されるプッシュ証明書とプロビジョニングプロファイルが正しく設定されていることを確認してください。
- APNS証明書を再作成し、APNS証明書が
app_idに設定された後にプロビジョニングプロファイルを再作成してください。これにより、より目に見える問題が解決される場合があります。
- これは、証明書がトークンの取得に使用されたものと一致しない場合に発生する可能性があります。これが疑われる場合、次のステップには以下が含まれます:
バンドルIDが許可されていない
TopicDisallowed エラーは、リクエスト内のトピック(バンドルID)が使用されている認証資格情報で許可されていないため、APNsがプッシュを拒否したことを意味します。これを解決するには:
- バンドルIDを確認してください。 Brazeのアプリ設定で構成されているバンドルIDが、アプリのバンドルIDと正確に一致していることを確認してください。これにはサフィックスのバリエーション(たとえば、
.debug、.staging)も含まれます。 - APNs認証設定を確認してください。 アプリが正しいAPNs
.p8キーで構成されていること、およびそのキーが送信先のアプリと同じApple Developer Teamに関連付けられていることを確認してください。 - アプリ環境を確認してください。 開発ビルドと本番ビルドでBrazeに別々のApp IDがある場合は、それぞれが正しいプッシュ認証情報と環境で構成されていることを確認してください。
Unregistered
このエラーはメッセージアクティビティログに以下のように表示されます:
Received 'Unregistered' sending to '[Token String]'
これはAndroidのDEVICE_UNREGISTEREDエラーのiOS版です。通常、以下のいずれかの理由で発生します:
- ユーザーがアプリをアンインストールした場合。これが最も一般的な原因です。
- プッシュ証明書が更新された場合。チームがAPNs証明書を変更または更新した場合、以前の証明書で登録したユーザーは、アプリが再登録するまで無効なトークンを持つ可能性があります。
- カスタムロジックがユーザーのプッシュ登録を解除している場合。これはまれですが、iOS SDKを使用してプログラムでリモート通知の登録を解除することは技術的に可能です。
このエラーは、ユーザーのプッシュが無効であることを意味するものではありません。特定のトークンがプロファイルから削除されたことを示しているだけです。ユーザーがまだ有効なトークンを持っているかどうかを確認するには、ユーザー検索に移動し、エンゲージメントタブの連絡先設定セクションを確認してください。
InvalidProviderToken
InvalidProviderToken エラーは、認証トークン(.p8 キーから)またはプッシュ証明書(.p12)がアプリのバンドルIDまたはTeam IDと一致しないため、APNsがリクエストを拒否したことを意味します。これを解決するには:
- Team IDとKey IDを確認してください:
.p8認証キーを使用している場合は、Brazeダッシュボード(Settings > App Settings > iOSアプリを選択)で構成されているTeam IDとKey IDが、Apple Developerアカウントの値と一致していることを確認してください。 - バンドルIDを確認してください: Brazeに登録されているバンドルIDがアプリのバンドルIDと一致していることを確認してください。大文字小文字の違いや
.debugサフィックスなどの不一致がこのエラーの原因となります。 - キーまたは証明書を再アップロードしてください:
.p8キーまたは.p12証明書が最近再生成または取り消された場合は、新しいキーをBrazeにアップロードし、古いものを削除してください。 - APNs環境を確認してください:
.p12証明書を使用している場合は、アップロード時に正しい環境(開発と本番)を選択したことを確認してください。.p8キーの場合、これは自動的に処理されます。
プッシュバウンス: APNsフィードバックサービスによる削除
これは通常、誰かがアプリをアンインストールした場合に発生します。Brazeは毎晩APNsフィードバックサービスに問い合わせて、無効なトークンのリストを取得します。詳細については、AppleのAPNsとの通信を参照してください。