2012-12-04 9 views

答えて

7

登録IDは含まれていません。

サポートドキュメントを提供していただけません。 GCMの文書には明確に述べられていません。しかし、私はこの動作を検証するためにテストしました。 私が提供できる唯一の「証明」は、マルチキャストメッセージに1000個まで登録できます。明らかに1000の登録IDはペイロードの4096バイトに収まらない。 http://developer.android.com/google/gcm/gcm.htmlから

registration_ids

メッセージを受信したデバイス(登録ID)のリストを含む文字列配列。少なくとも1つの登録IDと1000以下の登録IDを含む必要があります。マルチキャストメッセージを送信するには、JSONを使用する必要があります。 1つのデバイスに1つのメッセージを送信するには、登録IDが1つだけのJSONオブジェクト、またはプレーンテキストを使用できます(下記参照)。必須。

+0

です。わかりません。 googleは、ペイロードout.noのドキュメントのregistration_id intをカウントしませんrefere.in gcmの場合私は仲間のようなペイロードを持つメッセージを見つける:{ "registration_id": "APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx ..."、 "data":{ "Nick": "Mario"、 "Text": "マッチ!" "Room": "PortugalVSDenmark"、 }、 } – user1556497

+0

この例では、ペイロードの長さは4 + 5 + 4 + 12 + 4 + 16(フィールド名とフィールドの長さ)。キーの長さ+値の長さ= 4096の単一のキー/値のペアでそれらを置換しようとすることで、自分自身を検証することができます。メッセージが送信されることがわかります。次に、1文字を追加して、メッセージが拒否されることを確認します。私が言及しなければならない唯一の免責事項は、私はJSONではなく単純な形式でしかテストしていないということですが、同じように動作することを期待しています。 – Eran

0

回答を完了するには私はこれをテストしており、結果は次の通りです:

ペイロードの最大長は4096バイトです。 JSONを使用している場合、メッセージは次のようになります:

{ 
    "to" : "APA91bGbkLeRLD228BKYQy4syvAYd5ErYiHup5FzofY_8x5CNHmhMlB65CaCHj9ntm7zcMhzDEkd9vi6rxM89cRzPuDLPrlX8UgYExGQ3LmakGTKpkIS0CE9-9tinlIRLMiLoGKDn5jVvks0njvcGFPJSHBn23cd-A", 
    "data": {"a":"Some information. Only this part inside data counts as payload"} 
} 

ペイロードとしてカウントされるメッセージの唯一の部分は、「データ」内の部分です。これは、複数のデバイスに送信していても当てはまります。

{ 
    "registration_ids" : ["APA91bGbkLeRLD228BKYQy4syvAYd5ErYiHup5FzofY_8x5CNHmhMlB65CaCHj9ntm7zcMhzDEkd9vi6rxM89cRzPuDLPrlX8UgYExGQ3LmakGTKpkIS0CE9-9tinlIRLMiLoGKDn5jVvks0njvcGFPJSHBn23cd-A", 
         "APA91bGbkLeRLD228BKYQy4syvAYd5ErYiHup5FzofY_8x5CNHmhMlB65CaCHj9ntm7zcMhzDEkd9vi6rxM89cRzPuDLPrlX8UgYExGQ3LmakGTKpkIS0CE9-9tinlIRLMiLoGKDn5jVvks0njvcGFPJSHBn23cd-A"] 
    "data": {"a":"Some information. Only this part inside data counts as payload"} 
} 
関連する問題