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>
|
||||
</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
|
||||
indicated, a NACKed message should not be retried. Unexpected NACK error codes
|
||||
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>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
|
||||
sending to this device. This error code replaces {@code QUOTA_EXCEEDED},
|
||||
which has been deprecated.</td>
|
||||
sending to this device. This error code is replacing {@code QUOTA_EXCEEDED}.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{@code SERVICE_UNAVAILABLE}</td>
|
||||
|
@ -452,6 +452,21 @@ private void storeRegistrationId(Context context, String regId) {
|
||||
editor.commit();
|
||||
}</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>
|
||||
<p>When the user clicks the app's <strong>Send</strong> button, the app sends an
|
||||
upstream message using the
|
||||
|
Reference in New Issue
Block a user