Похоже, что у вас сложилось неправильное впечатление, что учетная запись электронной почты роли, созданная для идентификации приложения с помощью службы C2DM, должна быть изменена в намерении регистрации.
У вас должна быть та же электронная почта роли, что и на сервере, иначе Google не сможет идентифицировать ваше приложение как отправителя / получателя этого сообщения c2dm.
Назначение регистрации образца:
Intent registrationIntent = new Intent(
C2DMessaging.REQUEST_REGISTRATION_INTENT);
registrationIntent.setPackage(C2DMessaging.GSF_PACKAGE);
registrationIntent.putExtra(
C2DMessaging.EXTRA_APPLICATION_PENDING_INTENT,
PendingIntent.getBroadcast(context, 0, new Intent(), 0));
registrationIntent.putExtra(C2DMessaging.EXTRA_SENDER, senderId);
context.startService(registrationIntent);
Переменная senderId здесь должна содержать учетную запись роли, которую вы создали и зарегистрировали для C2DM на странице регистрации google C2DM
Этот же адрес электронной почты используется для получения токена аутентификации с серверов Google, который используется для отправки сообщений C2DM позже
Пример кода сервера для получения ключа аутентификации:
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("Email",
senderId));
nameValuePairs.add(new BasicNameValuePair("Passwd", "testpassword"));
nameValuePairs.add(new BasicNameValuePair("accountType", "GOOGLE"));
nameValuePairs.add(new BasicNameValuePair("source",
"Fleet Tracker Pro"));
nameValuePairs.add(new BasicNameValuePair("service", "ac2dm"));
post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = client.execute(post);
BufferedReader rd = new BufferedReader(new InputStreamReader(
response.getEntity().getContent()));
String line = "";
while ((line = rd.readLine()) != null) {
if (line.startsWith("Auth=")) {
String auth = line.substring(5);
System.out.println("Auth token = " + auth);
return auth;
}
}
обратите внимание на переменную senderId, в которой также должна храниться учетная запись роли, которую вы создали и зарегистрировали для C2DM на странице регистрации в google C2DM
любое другое электронное письмо может быть изменено на любое другое, но оно должно оставаться идентичным
вот определение страницы Google C2DM в коде Google:
ID отправителя. Учетная запись электронной почты, связанная с приложением.
разработчик. Идентификатор отправителя используется в процессе регистрации для
определить приложение Android, которому разрешено отправлять сообщения
Устройство. Этот идентификатор обычно основан на ролях, а не
личный кабинет - например, my-app@gmail.com.
Надеюсь, я помог провести хороший день.
было бы неплохо, если бы вы включили фрагменты кода или дополнительную информацию об электронных письмах, о которых вы говорите.