2011-03-12 4 views
14

응용 프로그램에 C2DM을 구현하려는 계획을 요약하고 Auth 토큰에 대한 기본적인 질문 (읽기 : 어리석은 질문)이 있습니다.Android C2DM 인증 토큰 (한 번에 또는 번에)

클라이언트 서버가 흰색 나열된 계정을 사용하여 구글 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 

내 질문입니다,이 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 

또는 수행, 보관, 다음 메시지가 전송됩니다 때마다 그것을 사용을 검색하여 허용 된 계정을 사용하여 하나 개의 서버 생성 된 인증 코드를 얻을 푸시되는 모든 메시지에 대해 새 인증 코드를 요청해야합니까?

답변

13

향후 푸시를 위해 인증 토큰을 저장하십시오. 구글 C2DM page에서 :

ClientLogin에 인증 토큰 및 클라이언트 등록 ID를 저장할 수있게

. ClientLogin Auth 토큰은 메시지를 보내는 POST 요청의 헤더 인 에 포함됩니다. 이 항목에 대한 자세한 내용은 ClientLogin for Installed Applications.을 참조하십시오. 서버에 토큰을 저장하고 주기적으로 을 새로 고치는 정책이 있어야합니다.

Google은 주기적으로 Update-Client-Auth 헤더의 토큰을 새로 고칩니다. 자세한 내용은 android-c2dm 그룹의 this discussion을 참조하십시오.

제 경험상 Google이 토큰을 새로 고치는시기와 이유를 알 수 없습니다. 매일 같이 자주 일어나고 때로는 매주 있습니다.

+0

이전의 authTokens가 계속 작동합니까? 이런 상황이 나를위한 것 같습니다. – paislee

+0

제 경험상 예전의 인증 토큰은 계속 작동합니다. 얼마나 오랫동안 또는 얼마나 많은 메시지를 위해 문서화되지 않았습니다. – gnuf