2011-03-12 15 views
14

Estoy delineando mi plan para implementar C2DM en una aplicación y tengo una pregunta básica (léase: estúpida) sobre los tokens de autenticación.Android C2DM Auth token, una vez o cada vez

El servidor cliente tiene que registrarse en el servicio c2dm Google utilizando la cuenta de la lista blanca:

Para la prueba:

curl https://www.google.com/accounts/ClientLogin -d Email=theEmailYouWhitelisted -d Passwd=pass****word -d accountType=HOSTED_OR_GOOGLE -d source="your_app_name_and_ver_for_logging_purposes_only" -d service=ac2dm 

Mi pregunta es, ¿qué sucede esto una vez por aplicación por cada cuenta c2dm - es decir, : obtener el código de autorización generado un servidor utilizando su cuenta en la lista blanca, almacenarlo, entonces cada vez que un mensaje es enviado recuperarlo y uso:

curl --header "Authorization: GoogleLogin auth=**authFromRegistrationAbove**" "https://android.apis.google.com/c2dm/send" -d registration_id=**phoneRegistrationId(reciever)** -d "data.message=StringToPass" -d collapse_key=something -k 

O hacer ¿tiene que solicitar un nuevo código de autenticación para cada mensaje que se envía?

Respuesta

13

Guarde el token de autenticación para futuros empujones. Desde el Google C2DM page:

Capaz de almacenar los ID de registro de tokens de autenticación de cliente y ClientLogin . El token ClientLogin Auth se incluye en el encabezado de las solicitudes POST que envían mensajes . Para obtener más información sobre este tema de , consulte ClientLogin for Installed Applications. El servidor debe almacenar el token y tener una política para actualizarlo periódicamente .

También tenga en cuenta que Google actualizará periódicamente el token en un encabezado Update-Client-Auth. Consulte this discussion en el grupo android-c2dm para obtener más información.

Según mi experiencia, no puedo decir cuándo o por qué Google elige actualizar el token. Me ha sucedido con tanta frecuencia como todos los días, y algunas veces es todas las semanas.

+0

¿Los authTokens anteriores continúan funcionando? Parece que este es el caso para mí ... – paislee

+0

En mi experiencia, los tokens de autenticación antiguos continúan funcionando. Sin embargo, no está documentado por cuánto tiempo o cuántos mensajes. – gnuf

Cuestiones relacionadas