Учетная запись GMail на телефоне используется для идентификации получателя сообщения C2DM.Сначала клиент регистрирует себя, затем (когда отправляется сообщение C2DM) все зарегистрированные клиенты получают сообщение C2DM.Более одного клиента могут зарегистрировать себя в качестве получателя сообщения C2DM.
С сайта Google C2DM (см. Регистрация ):
Intent registrationIntent = new Intent("com.google.android.c2dm.intent.REGISTER");
registrationIntent.putExtra("app", PendingIntent.getBroadcast(this, 0, new Intent(), 0));
registrationIntent.putExtra("sender", emailOfSender);
startService(registrationIntent);
Параметр app определяетимя пакета, используемое процессом регистрации, вместе с идентификатором отправителя (в коде над var emailOfSender).Вы видите, что учетная запись GMail на устройстве не используется в коде, но будет использоваться внутренне для идентификации мобильного устройства на сервере C2DM (либо реализация Android напрямую предоставляет учетную запись GMail на стороне клиента, либо идентификатор, связанный с учетной записью GMail).).
Google говорит: Требуются устройства под управлением Android 2.2 или выше, на которых также установлено приложение Market. Это связано с тем, что приложение Market поддерживает соединение с сервером C2DM.Идентификатор регистрации различен для всех устройств.Перед отправкой сообщений C2DM с вашего сервера клиент должен сообщить серверу регистрационный идентификатор.
Если вы хотите создать приложение для отправки сообщений C2DM (на стороне сервера), вам также необходима учетная запись GMail (SenderID, который мы использовали на устройстве).Обычно используется шаблон «одна учетная запись GMail на приложение».Когда вы регистрируетесь для C2DM, вы должны ввести SenderID и пространство имен принимающего приложения Android в форму регистрации - в точности та же информация, которая использовалась на клиенте для регистрации устройства.
Обе учетные записи GMail не являются открытыми,Это отношение n-1-m, что означает, что n клиентов и m сервер регистрируют себя на одном сервере C2DM.Только Google (сервер C2DM) знает, какие учетные записи GMail используются.
У меня есть один реальный адрес GMail, который используется на моем мобильном телефоне.Я имею на отладке адрес GMail, который я использую на моем эмуляторе.Затем у меня есть 3 учетных записи GMail для каждого приложения, поддерживающего C2DM, которое я написал.