Android C2DM Auth令牌,一次或每次

bMo*_*Mon 14 android android-c2dm

我概述了将C2DM实现到应用程序中的计划,并且有关于Auth令牌的基本(读取:愚蠢)问题.

客户端服务器需要使用白名单帐户注册google c2dm服务:

用于检测:

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
Run Code Online (Sandbox Code Playgroud)

我的问题是,每个应用程序每个c2dm帐户是否会发生一次 - 即:使用您列入白名单的帐户获取一个服务器生成的身份验证代码,存储它,然后每次发送邮件检索它并使用:

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
Run Code Online (Sandbox Code Playgroud)

或者您是否必须为每个被推送的消息请求新的Auth代码?

gnu*_*nuf 13

存储身份验证令牌以备将来推送.来自Google C2DM页面:

能够存储ClientLogin Auth令牌和客户端注册ID.ClientLogin Auth令牌包含在发送消息的POST请求的标头中.有关此主题的更多讨论,请参阅已安装应用程序的ClientLogin.服务器应存储令牌并具有定期刷新它的策略.

另请注意,Google会定期刷新Update-Client-Auth标头中的令牌.有关详细信息,请参阅有关该组的讨论android-c2dm.

根据我的经验,我无法判断Google何时或为何选择刷新令牌.每天都经常发生在我身上,有时每周都会发生.