2012-09-10 17 views
8

time_to_liveに関連する問題があります。デバイスがオンのときにメッセージが表示されますが、オフラインのときはメッセージが表示されません。少なくとも最初の15分間は送信されません。私は、アイドル状態の間にメッセージを遅れて送信しています。time_to_live 2419200。何が起きているのか、何か問題が起きている可能性があります。Android GCM time_to_live issue

答えて

17

ドキュメントから:

delay_while_idle:含まれている場合、デバイスがアイドル状態の場合、メッセージが がすぐに送信されるべきではないことを示しています。サーバーは のデバイスがアクティブになるのを待ってから、各 のcollapse_key値の最後のメッセージのみが送信されます。オプション。デフォルト値はfalse、 で、JSONブール値でなければなりません。

time_to_live:デバイスがオフラインの場合、メッセージをGCM ストレージに保存する期間(秒単位)。オプション(既定の生存期間は4 週であり、JSON番号として設定する必要があります)。このパラメータを使用する場合は、 にcollapse_keyも指定する必要があります。

time_to_liveの値を2419200に設定する必要はありません。デフォルト値です。ただし、設定した場合は、collapse_keyも設定する必要があります。

collapse_keyが:最後のメッセージがクライアントに送信されますように、デバイスは、 オフラインのときのようなメッセージのグループを折りたたむために使用されている(例えば、「利用可能なアップデート」など)任意の文字列。この は、 がオンラインに戻ったときに電話に送信するメッセージが多すぎないようにするためのものです。 のメッセージが送信される順序は保証されていないため、「最後の」メッセージは実際にはアプリケーションサーバによって送信された最後のメッセージ ではありません。このトピックの詳細については、 の詳細トピックを参照してください。オプションで、 time_to_liveパラメータを使用している場合を除き、 collapse_keyも指定する必要があります。

詳しくは、tutorialを再度確認してください。

+0

これで4つの折りたたみキーを使用できるので、賢明に使用できます。 – Ankit

+7

time_to_liveを設定するときにcollapse_keyを設定する必要はなくなりました。https://plus.google.com/u/0/+FrancescoNerieri/posts/AEpCusdNZY9 –