Expiração do ID de registro do Google Cloud Messaging

Estou usando o Google Cloud Messaging para meu aplicativo Android e estou tentando entender quando o ID de registro expira. Deisto post eu pude entender que o Google tende a atualizar o ID em algum momento. Estou curioso como meu aplicativo saberá quando o id for atualizado? Se o Google decidir atualizar a ID e o meu servidor for até o envio da mensagem para o ID antigo, não acho que a mensagem será enviada. Então, eu teria que tentar registrar todas as vezes e ver se os ids são iguais?

Além disso, o mesmo post diz que o ID seria atualizado quando a versão do aplicativo fosse alterada, mas ao alterar a versão através do manifesto, o ID de registro não mudaria. Então, qual é o ponto em tentar registrar novamente as alterações de versão?

EDITAR Aqui está o lado do servidor. Onde exatamente o id canônico seria armazenado?

Código do lado do 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;
 
?>

questionAnswers(4)

yourAnswerToTheQuestion