1

奇妙なことに、以前は通知が機能していました。だから私は何が起こったのかわかりません。アプリをデバイスに再インストールしようとしましたが、何も変わりませんでした。

{"multicast_id":xxxxxxxxxxxxxxxxxxx,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]}

これはある時点で機能していたので、正しいキーを使用していることがわかります。私は出くわした他のSOFスレッドに基づいてトリプルチェックさえしました。今の潜在的な問題は何でしょうか?私は今数日間見回しました、そして私はまだ途方に暮れています。

** 編集 **

サーバーからメッセージが送信されたときのPOST情報は次のとおりです。

ヘッダー

Array
(
    [0] => Authorization: key=xxxxxxx-key-for-browser-apps-from-google-apis-console-xxxxxxx
    [1] => Content-Type: application/json
)

田畑

Array
(
    [registration_ids] => Array
        (
            [0] => xxxxxxxxx-big-old-id-from-the-device-xxxxxxxx

    [data] => Array
        (
            [message] => hello
        )

)

また

に関連付けられたキーを使用していますKey for browser apps (with referers)

4

4 に答える 4

10

どうやら、アプリを再コンパイルすると、デバイスIDの生成が、以前のIDと一致しない場所にスローされることがあります。

私がしなければならないのは、私の電話でアプリを完全にアンインストールし、(日食を介して)アプリを再コンパイルすることです。これは非常に哀れなようですが、私が現在持っている実行可能な解決策に最も近いものです。

于 2012-12-17T17:42:30.933 に答える
3

これは、Google APIコンソールでプロジェクトのAPIアクセスを設定する方法、特に「許可されたリファラー」と関係があると思います。開発ドキュメントが言うように

不一致の送信者登録IDは、特定の送信者グループに関連付けられています。アプリケーションがGCMの使用を登録するとき、メッセージの送信を許可する送信者を指定する必要があります。デバイスにメッセージを送信するときは、これらのいずれかを使用していることを確認してください。別の送信者に切り替えると、既存の登録IDは機能しなくなります。エラーコードがMismatchSenderIdの場合に発生します。

私のプロジェクトは、次のようなリファラーを許可するように設定されています。

Key for browser apps (with referers) 
API key: my secret  
Referers: Any referer allowed

おそらく、特定のIP範囲に制限していて、その範囲外からメッセージを送信しようとしています。

于 2012-12-05T16:41:25.823 に答える
1

正しいデバイストークンを使用しなかったため、エラーが発生しました。だから、新しいデバイストークン(Androidモバイルのトークン)を取得して使用してください

于 2015-12-31T10:27:37.820 に答える
1

curl -X POST \
-H "認証:key = write here api_key" \
-H "Content-Type:application / json" \
-d'{"registration_ids":["write here reg_id generate by gcm"]、
"data ":{"メッセージ ":"Rajkumarからの手動プッシュ通知"}、"優先度 ":"高 "}'\ https://android.googleapis.com/gcm/send

同じデバイスで異なるキーを使用してログに記録したため、MismatchSenderId。この問題を解決するには、アプリをアンインストールして再度実行し、登録キーを更新します。次に、上に投稿したターミナルでCURLスクリプトを実行すると、成功メッセージが表示され、デバイスに通知が届きます。

于 2016-02-22T14:07:06.100 に答える