4

GCMプラットフォームに問題があり、リクエストからあらゆる種類のデータを取得しています。私はプッシュ通知を見ることができますが、そこから任意のデータを取得することができます。GCMデータがNULLを返す

self.addEventListener('push', function(event) { 
    console.log('Push message', event); //<--- event.data == null !!! :(

    var title = 'Push message'; 

    event.waitUntil(
    self.registration.showNotification(title, { 
    'body': 'Some Messages', 
    'icon': 'images/myImageSmall.png' 
    })); 
}); 

は、私がデータ本体なしで通知を受け取る理由

curl --header "Authorization: key=MY_KEY" --header "Content-Type: application/json" 
https://android.googleapis.com/gcm/send -d 
"{\"data\" : {\"THIS_DOESNT\":\"SHOW_HELP_ME\"}, \"to\":\"THERE_ID\"}" 

誰もが任意のアイデアを持っている簡単なcurl要求でテスト?

編集:私はまた、このJSONを試してみましたOfficial Google Documentationに基づい

{ 
"registration_ids": 
    [ 
     "xxxxxxxxx" 
    ], 
"data": 
    { 
     "title": "some title", 
     "message": "some message" 
    } 
} 

答えて

0

、2つの異なるキーを使用して設定することができます。

データ、このパラメータは、メッセージのペイロードの、カスタマーキーと値のペアを指定します。

キーは予約語(「from」または「google」または「gcm」で始まる単語)であってはなりません。このテーブルに定義されている単語(collapse_keyなど)は使用しないでください。

文字列型の値を推奨します。オブジェクトやその他の文字列以外のデータ型(整数やブール値など)の値を文字列に変換する必要があります。

通知、このパラメータは、通知ペイロードの事前定義され、ユーザーに表示キーと値のペアを指定します。

データキーを使用し、通知のペイロード内に設定する必要があります。送信したら、受信した通知の結果を印刷して、データキー内に正しいペイロードがあることを確認できます。

あなたのメッセージは、次のようなJSONデータのようにする必要があります:通知メッセージとデータメッセージのオプションの詳細については

{ 
"registration_ids" => "some_target_device_id", 
"data": { 
"title": "My title", 
"message": "This is the message!", 
} 
} 

Payloadを参照してください。

+0

ありがとうございました!しかし、このフォーマットであっても、データフィールドではまだ何も見ていません。 'data:null'。そのちょうど奇妙なことに私は 'event.data'で何かを見ることができません – Jay

関連する問題