Ablauf der Registrierungs-ID für Google Cloud Messaging

Ich verwende Google Cloud Messaging für meine Android-Anwendung und versuche zu verstehen, wann die Registrierungs-ID abläuft. Vondiese post Ich habe verstanden, dass Google die ID manchmal aktualisiert. Ich bin gespannt, wie meine Anwendung weiß, wann die ID aktualisiert wird. Wenn Google beschließt, die ID zu aktualisieren, und mein Server die Nachricht erst an die alte ID sendet, wird die Nachricht vermutlich nicht gesendet. Müsste ich also versuchen, mich jedes Mal zu registrieren und festzustellen, ob die IDs identisch sind?

Der gleiche Beitrag besagt auch, dass die ID aktualisiert wird, wenn sich die App-Version ändert, aber beim Ändern der Version über das Manifest hat sich die Registrierungs-ID nicht geändert. Worum geht es also, wenn Sie versuchen, die Versionsänderungen erneut zu registrieren?

BEARBEITEN Hier ist die Serverseite. Wo genau würde die kanonische ID gespeichert werden?

Serverseitiger Code:

<?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;
 
?>

Antworten auf die Frage(4)

Ihre Antwort auf die Frage