Merge "Doc update: new reg error code + snippet" into lmp-docs
This commit is contained in:
@ -263,6 +263,21 @@ message is "nack". A NACK message contains:</p>
|
|||||||
</message>
|
</message>
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
|
<p>Device Message Rate Exceeded:</p>
|
||||||
|
|
||||||
|
<pre><message id="...">
|
||||||
|
<gcm xmlns="google:mobile:data">
|
||||||
|
{
|
||||||
|
"message_type":"nack",
|
||||||
|
"message_id":"msgId1",
|
||||||
|
"from":"REGID",
|
||||||
|
"error":"DEVICE_MESSAGE_RATE_EXCEEDED",
|
||||||
|
"error_description":"Downstream message rate exceeded for this registration id"
|
||||||
|
}
|
||||||
|
</gcm>
|
||||||
|
</message>
|
||||||
|
</pre>
|
||||||
|
|
||||||
<p>The following table lists NACK error codes. Unless otherwise
|
<p>The following table lists NACK error codes. Unless otherwise
|
||||||
indicated, a NACKed message should not be retried. Unexpected NACK error codes
|
indicated, a NACKed message should not be retried. Unexpected NACK error codes
|
||||||
should be treated the same as {@code INTERNAL_SERVER_ERROR}.</p>
|
should be treated the same as {@code INTERNAL_SERVER_ERROR}.</p>
|
||||||
@ -303,8 +318,7 @@ message should be immediately retried over another connection.</td>
|
|||||||
<td>{@code DEVICE_MESSAGE_RATE_EXCEEDED}</td>
|
<td>{@code DEVICE_MESSAGE_RATE_EXCEEDED}</td>
|
||||||
<td>The rate of messages to a particular device is too high. You should reduce
|
<td>The rate of messages to a particular device is too high. You should reduce
|
||||||
the number of messages sent to this device and should not immediately retry
|
the number of messages sent to this device and should not immediately retry
|
||||||
sending to this device. This error code replaces {@code QUOTA_EXCEEDED},
|
sending to this device. This error code is replacing {@code QUOTA_EXCEEDED}.</td>
|
||||||
which has been deprecated.</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>{@code SERVICE_UNAVAILABLE}</td>
|
<td>{@code SERVICE_UNAVAILABLE}</td>
|
||||||
|
@ -452,6 +452,21 @@ private void storeRegistrationId(Context context, String regId) {
|
|||||||
editor.commit();
|
editor.commit();
|
||||||
}</pre>
|
}</pre>
|
||||||
|
|
||||||
|
<h4 id="reg-errors">Handle registration errors</h4>
|
||||||
|
|
||||||
|
<p>As stated above, an Android app must register with GCM servers and get a registration ID
|
||||||
|
(regID) before it can receive messages. A given regID is not guaranteed to last indefinitely,
|
||||||
|
so the first thing your app should always do is check to make sure it has a valid regID
|
||||||
|
(as shown in the code snippets above).</p>
|
||||||
|
|
||||||
|
<p>In addition to confirming that it has a valid regID, your app should be prepared to handle
|
||||||
|
the registration error {@code TOO_MANY_REGISTRATIONS}. This error indicates that the device
|
||||||
|
has too many apps registered with GCM. The error only occurs in cases where there are
|
||||||
|
extreme numbers of apps, so it should not affect the average user. The remedy is to prompt
|
||||||
|
the user to delete some of the other GCM-enabled apps from the device to make
|
||||||
|
room for the new one.</p>
|
||||||
|
|
||||||
|
|
||||||
<h3 id="sample-send">Send a message</h3>
|
<h3 id="sample-send">Send a message</h3>
|
||||||
<p>When the user clicks the app's <strong>Send</strong> button, the app sends an
|
<p>When the user clicks the app's <strong>Send</strong> button, the app sends an
|
||||||
upstream message using the
|
upstream message using the
|
||||||
|
Reference in New Issue
Block a user