Merge "Doc update: new reg error code + snippet" into lmp-docs

This commit is contained in:
kmccormick
2014-11-13 22:21:01 +00:00
committed by Android (Google) Code Review
2 changed files with 31 additions and 2 deletions

View File

@ -263,6 +263,21 @@ message is &quot;nack&quot;. A NACK message contains:</p>
&lt;/message&gt;
</pre>
<p>Device Message Rate Exceeded:</p>
<pre>&lt;message id=&quot;...&quot;&gt;
&lt;gcm xmlns=&quot;google:mobile:data&quot;&gt;
{
&quot;message_type&quot;:&quot;nack&quot;,
&quot;message_id&quot;:&quot;msgId1&quot;,
&quot;from&quot;:&quot;REGID&quot;,
&quot;error&quot;:&quot;DEVICE_MESSAGE_RATE_EXCEEDED&quot;,
&quot;error_description&quot;:&quot;Downstream message rate exceeded for this registration id&quot;
}
&lt;/gcm&gt;
&lt;/message&gt;
</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>

View File

@ -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