ANDROID CLOUD TO DEVICE MESSAGING
Antes de uma olhada nas edições anteriores:
Estamos na reta final do C2DM, lembrando que isto é só uma idéia do que este recurso apresenta. A seguir 2 exemplos de implementação de recursos C2DM.
Tudo que você precisa é um servidor que saiba falar HTTPnês e uma aplicação android que saiba se comunicar com a API Intent.
// Utilize a API Intent para recuperar o ID de registro
Intent regIntent = new Intent(
"com.google.android.c2dm.intent.REGISTER");
// Identifique sua aplicação
regIntent.putExtra("app",
PendingIntent.getBroadcast(this /* your activity */,
0, new Intent(), 0);
// Identifique o servidor que será utilizado
regIntent.putExtra("sender", emailOfSender);
// Início do processo de registro
startService(regIntent);
O ID de registro será distribuido para a sua aplicação pela transmissão Intent com o Intent Action com.google.android.c2dm.intent.REGISTRATION.
Segue exemplo para receber o ID de registro na aplicação.
// ID de registro recebido via Intent
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (“com.google.android.c2dm.intent.REGISTRATION”.equals(action)) {
handleRegistration(context, intent);
}
}
public void handleRegistration(Context context, Intent intent) {
String id = intent.getExtra(“registration_id”);
if ((intent.getExtra(“error”) != null) {
// Se o registro falhar. "Try again later, with backoff!!".
} else if (id != null) {
// Envia o ID de registro para o servidor da aplicação.
...
}
}
No lado do servidor você precisará do ClientLogin Auth token ordenado para se comunicar com os servidores C2DM. Quando for necessário enviar uma mensagem push para o dispositivo, será enviada uma autenticação http via post com:
- Autorização: GoogleLogin auth<auth token>;
- Incluídos no parametro da URL: ID de registro, o par de dado chave/valor, um "colapse key" para sobreescrever as mensagens antigas com as mesmas chaves no servidores C2DM e alguns outros parâmetros opcionais.
Quando estiver utilizando o serviço C2DM, você não deve se preocupar com os blocos móveis de dados de conexão ou quando o usuário não estiver conectado. O C2DM mantém as mensagens armazenadas no servidor e às libera assim que o dispositivo ficar online.
Basicamente você pode deixar toda a parte complexa com os servidores da google.
Sua aplicação terá uma infraestrutura de push construída e testada, sempre conectada a internet. E melhor de tudo, você não detonará a bateria do seu usuário.
Para mais informações sobre o C2DM leiam o Code Lab.
Para mais informações sobre o C2DM leiam o Code Lab.
C2DM:
.