Caducidad del ID de registro de Google Cloud Messaging

Estoy usando Google Cloud Messaging para mi aplicación de Android y trato de entender cuándo caduca el ID de registro. Desdeesta Post Pude entender que Google tiende a actualizar la ID en algún momento. Tengo curiosidad sobre cómo sabrá mi aplicación cuando se actualice la ID? Si Google decide actualizar la ID y mi servidor está hasta que envíe el mensaje a la ID antigua, no creo que el mensaje se envíe. Entonces, ¿tendría que intentar registrarme cada vez y ver si los ID son iguales?

También la misma publicación dice que la identificación se actualizaría cuando la versión de la aplicación cambia, pero al cambiar la versión a través del manifiesto, la identificación de registro no cambió. Entonces, ¿cuál es el punto al tratar de volver a registrarse de los cambios de versión?

EDITAR Aquí está el lado del servidor. ¿Dónde se almacenaría exactamente la identificación canónica?

Código del lado del servidor:

<?php
// Message to be sent
$message = $_POST['message'];
 
// Set POST variables
$url = 'https://android.googleapis.com/gcm/send';
 
$fields = array(
                'registration_ids'  => array($_POST['registrationIDs']),
                'data'              => array( "message" => $message ),
                );
 
$headers = array( 
                    'Authorization: key=' . $_POST['apiKey'],
                    'Content-Type: application/json'
                );
 
// Open connection
$ch = curl_init();
 
// Set the url, number of POST vars, POST data
curl_setopt( $ch, CURLOPT_URL, $url );
 
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
 
curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $fields ) );
 
// Execute post
$result = curl_exec($ch);
 
// Close connection
curl_close($ch);
 
echo $result;
 
?>

Respuestas a la pregunta(4)

Su respuesta a la pregunta