¿Deben las aplicaciones llamar a gcm.register () cada siete días para asegurar las identificaciones de registro válidas?

El código del lado del cliente en elEjemplo de GCM en el sitio de desarrollo de Android por defecto a llamargcm.register(SENDER_ID); después de cada siete días, verifique si el registro ha caducado con la siguiente función:

public static final long REGISTRATION_EXPIRY_TIME_MS = 1000 * 3600 * 24 * 7;

/**
 * Checks if the registration has expired.
 *
 * To avoid the scenario where the device sends the registration to the
 * server but the server loses it, the app developer may choose to re-register
 * after REGISTRATION_EXPIRY_TIME_MS.
 *
 * @return true if the registration has expired.
 */
private boolean isRegistrationExpired() {
    final SharedPreferences prefs = getGCMPreferences(context);
    // checks if the information is not stale
    long expirationTime =
            prefs.getLong(PROPERTY_ON_SERVER_EXPIRATION_TIME, -1);
    return System.currentTimeMillis() > expirationTime;
}

El comentario sobre la función implica que esto se usa para "evitar el escenario en el que el dispositivo envía el registro al servidor, pero el servidor lo pierde. Esto sugiere quenuestro Los servidores (no los servidores GCM) pueden perder el ID de registro? ¿O esto se debe a que el ID de registro podría volverse inválido en el lado de GCM? Parece que esto es posible según el siguiente párrafo enla página de temas avanzados de GCM:

Del mismo modo, no debe guardar el ID de registro cuando se realiza una copia de seguridad de una aplicación. Esto es porqueEl ID de registro podría quedar inválido en el momento en que se restaure la aplicación, lo que pondría a la aplicación en un estado no válido (es decir, la aplicación cree que está registrada, peroEl servidor y CM ya no almacenan ese ID de registro—Así la aplicación no recibirá más mensajes).

¡Gracias de antemano!