Show Menu
トピック×

プッシュメッセージのトラブルシューティング

この情報は、プッシュメッセージのトラブルシューティングに役立ちます。

プッシュメッセージの送信に遅延が生じることがある理由

Mobile Services のプッシュメッセージは、次のタイプの遅延を伴うことがあります。
  • Analytics のヒットの待機
    どのレポートスイートにも、受信する Analytics のヒットをいつ処理するかを決定する設定があります。デフォルトは、1 時間ごとです。
    Analytics のヒットの実際の処理にかかる時間は最大 30 分ですが、通常は 15 ~ 20 分です。例えば、1 時間ごとにヒットを処理するレポートスイートがあるとします。最大 30 分の必要な処理時間を考慮に入れると、プッシュメッセージに対して受信ヒットが利用可能になるまでに最大 90 分かかる場合があります。あるユーザーがアプリを午前 9 時 1 分に起動した場合、ヒットが新しい一意のユーザーとして Mobile Services UI に表示されるのは、午前 10 時 15 分~ 10 時 30 分になります。
  • プッシュサービスの待機
    プッシュサービス(APNS または GCM)は、メッセージを直ちに送信できないことがあります。めったに起こりませんが、5 ~ 10 分の待ち時間が生じます。プッシュメッセージの​ レポート ​ビューを見て、 メッセージ履歴 ​テーブルにあるメッセージを探し、 発行数 ​を確認することで、プッシュメッセージがプッシュサービスに送信されたことを確認できます。
    この数は、成功したプッシュサービスへの送信件数です。プッシュサービスでは、メッセージが送信されることは保証されません。
    サービスの信頼性について詳しくは、次を参照してください。

Android GCM API キーが無効である理由

  • 無効な API キー
    次の理由により、API キーが無効になっていることがあります。
    • 指定した API キーが正しい GCM API キー値を持つサーバーキーでない。
    • サーバーキーは、ホワイトリストに登録された IP で、アドビのサーバーがプッシュメッセージを送信するのをブロックします。
  • API キーの有効性の判定
    API キーの有効性を判定するには、次のコマンドを実行します。
    Android
    # api_key=YOUR_API_KEY
    #curl--header"Authorization:key=$api_key"\
        --headerContent-Type:"application/json"\ 
        https://gcm-http.googleapis.com/gcm/send\
        -d"{\"registration_ids\":[\"ABC\"]}"
    
    
    返される 401 HTTP ステータスコードは、API キーが無効であることを意味します。そうでない場合は、次のようなものが表示されます。
    {"multicast_id":6782339717028231855,"success":0,"failure":1,
    canonical_ids":0,"results":[{"error":"InvalidRegistration"}]}
    
    
    また、「 "ABC" 」をトークンと置き換えることで、登録トークンの有効性をチェックできます。

APNS 証明書が機能しない理由

次の理由により、APNS 証明書が無効になっていることがあります。
  • 実稼動証明書ではなく、サンドボックス証明書を使用している可能性があります。
  • サポートされていない新しい実稼動/サンドボックス証明書を使用している可能性があります。
  • .p8 ファイルではなく、 .p12 ファイルを使用しています。

プッシュメッセージの失敗の解決

次の例は、VRS 使用時のプッシュエラーを解決する方法を示しています。
次の顧客は、2 つの iOS アプリを持っています。
  • アプリ名:PhotoShop_app_iOS
    • Parent RSID:AllAdobe PhotoShop_apps
    • VRSID:PhotoShop_iOS_app_SF
    • VRSID 定義セグメント: a.appid contains “PhotoShop_iOS_app_SF”
  • アプリ名:PhotoShop_app_iOS
    • Parent RSID:AllAdobe PhotoShop_apps
    • RSID:PhotoShop_iOS_app_LA
    • VRSID 定義セグメント: a.os contains “iOS”
この例では、Photoshop ユーザーが PhotoShop_iOS_app_SF アプリにプッシュを送信すると、すべての PhotoShop_iOS_app_SF ​アプリユーザーが期待どおりにプッシュメッセージを受け取ります。しかし、ユーザーが PhotoShop_iOS_app_LA ​アプリにメッセージを送信すると、その VRSID 定義セグメントが正しくない( a.os contains "PhotoShop_iOS_app_LA" ではなく iOS となっている)ので、 AllAdobe PhotoShop_apps の​ すべての iOS ユーザーにメッセージが送信されます。メッセージは依然として PhotoShop_iOS_app_LA ユーザーに届きますが、 PhotoShop_iOS_app_SF アプリの証明書が異なるので、メッセージは​ PhotoShop_iOS_app_SF ユーザーのプッシュ ID をブラックリストに記載します。セグメントが a.os contains “PhotoShop_iOS_app_LA” と定義されていた場合、プッシュメッセージは​ PhotoShop_iOS_app_LA ​ユーザーにのみ送信されていました。
PhotoShop_IOS_app_LA プッシュ証明書を使用して渡された場合、 PhotoShop_iOS_app_SF のプッシュ ID は invalid として復活します。
VRS を使用しているアプリ用にプッシュメッセージを作成して 保存して送信 をクリックすると、リストされている各アプリに有効な証明書がある​ 必要がある ​ことを確認するアラートが表示されます。各アプリに有効な証明書が​ ない ​場合、オーディエンスセグメントは無期限にブラックリストに記載され、今後、影響を受けるユーザーにプッシュメッセージを送信できなくなる可能性があります。オーディエンスセグメントについて詳しくは、「 オーディエンス:プッシュメッセージ用のオーディエンスオプションの定義および設定 」を参照してください。