Маркер аутентификации Android C2DM, один раз или каждый раз

Я обрисовываю в общих чертах свой план по внедрению C2DM в приложение, и у меня есть основной (читай: глупый) вопрос о токенах аутентификации.

Клиентский сервер должен зарегистрироваться в службе 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

Мой вопрос заключается в том, происходит ли это один раз для каждого приложения для каждой учетной записи 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

Или вам нужно запрашивать новый код аутентификации для каждого отправляемого сообщения?


person bMon    schedule 12.03.2011    source источник


Ответы (1)


Сохраните токен авторизации для будущих push-уведомлений. На странице C2DM Google:

Возможность хранить токен авторизации ClientLogin и идентификаторы регистрации клиентов. Токен авторизации ClientLogin включается в заголовок запросов POST, которые отправляют сообщения. Дополнительные сведения по этой теме см. в разделе Клиентский вход для установленных приложений. Сервер должен хранить токен и иметь политику его периодического обновления.

Также обратите внимание, что Google будет периодически обновлять токен в заголовке Update-Client-Auth. Подробности см. в этом обсуждении в группе android-c2dm.

Исходя из своего опыта, я не могу сказать, когда и почему Google решает обновить токен. Это случалось со мной так часто, как каждый день, а иногда и каждую неделю.

person gnuf    schedule 13.03.2011
comment
Продолжают ли работать предыдущие токены authToken? Похоже это у меня так.. - person calebds; 16.12.2011
comment
По моему опыту, старые токены авторизации продолжают функционировать. Однако не задокументировано, как долго или сколько сообщений. - person gnuf; 27.01.2012