Pesquisar

terça-feira, 21 de setembro de 2010

Exemplos C2DM - Parte 3 - Final


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.

C2DM:
















.

segunda-feira, 13 de setembro de 2010

Funcionamento do C2DM - Parte 2

ANDROID CLOUD TO DEVICE MESSAGING 


Antes de uma olhada na edição anterior:



1º precisaremos no mínimo do Android 2.2;

O C2DM utiliza os serviços da Google que estão presentes em todos os dispositivos que executam o Android Market.

Levando em consideração que as conexões já existem nos serviços da google, o usuário só precisará sinalizar em sua conta do Google Android.

Com este recursos o servidor poderá enviar mensagens de baixo custo para suas aplicações. O serviço C2DM não foi criado para encher a aplicação do usuário com conteúdo, e sim para apenas "sinalizar" que o servidor já possui o novo conteúdo e que a aplicação pode efetuar a busca.

A sua aplicação não precisa estar rodando para receber as mensagens do servidor, porque o aplicativo será ativado via transmissão Intent logo que os dados chegarem. Lembrando que para isso as propriedades das permissões e Intent Receiver precisão estar configuradas.

Não é necessária uma interface para receber os dados, pois o aplicativo pode postar uma notificação(ou exibir outra UI) se for necessário.





Seguem os passos de como o C2DM funciona.


Para habilitar o C2DM, a aplicação receberá um ID da google, que será enviado para o Servidor.

Quando o servidor precisar enviar uma mensagem para a aplicação, será enviada via HTTP para os servidores C2DM da Google.

Assim com a rota no Servidor C2DM a mensagem chega até o aplicativo via transmissão Intent.

Logo a aplicação é ativada e inicia o seu processamento pelo Receiver Intent.

Por fim, caso o usuário não queira mais receber as mensagens, o C2DM pode ser cancelado.








segunda-feira, 6 de setembro de 2010

C2DM - Android Cloud To Device Messaging - Parte 1



Android Cloud To Device Messaging 










Para quem pretende ir no Google Developer Day, um dos assuntos abordados também será sobre android, em especial sobre o seu mais novo serviço, o C2DM.
Irei falar sobre C2DM dividindo este tema em três partes:

  • O que é o C2DM;
  • Funcionamento do C2DM;
  • Exemplos C2DM.

O que é o C2DM
No recém-lançado Android 2.2, foi adicionado um novo serviço para ajudar os desenvolvedores a enviar os dados dos servidores para as suas aplicações nos android. Android Cloud To Device Messaging (c2dm) simplifica a sincronização entre servidor e cliente.

A maioria dos aplicativos android utiliza a internet para manter seus usuários atualizados. Tradicionalmente, os aplicativos utilizam Polling para recuperar informação periodicamente. Tipo um cliente de email POP que acessa o servidor a cada 15 minutos. O Polling é fácil de programar e funciona bem na maioria das situações.

O problema é que essa lógica cria um stress desnecessário, um processamento para busca algo que normalmente ainda não existe.

O Polling é especialmente problemático em dispositivos móveis, pois consome uma preciosa banda da sua rede e a vida útil de sua bateria.

Muitos dos aplicativos do Google no Android já utilizam Push para manter seus dados atualizados, por exemplo, Gmail, contatos e calendário. Começando com o Android 2.2, c2dm permite que os desenvolvedores façam o que o Google Apps faz.



C2DM:






  


quinta-feira, 2 de setembro de 2010

Final de Almoço Androidado

Final de almoço!



Boa tarde, como este é o meu primeiro post no AndroidPack, eu gostaria de falar um pouco do que me motivou a começar a falar sobre o android, não começar tacando informação sobre ele.
Sou um eterno estudante e gosto de compartilhar conhecimentos, graduado em análise e desenvolvimento de sistemas e cursando Pós-Graduação em Engenharia de Software.
Sou fã de tecnologia, e esta é uma forma de compartilhar este monte de informação que eu coleto na Net em meus estudos pos-almoço. Ah! antes que eu me esqueça, tenho um outro blog VarandaGeek sobre assuntos mais abrangentes “sem sair da área de T.I é claro”.
Descobri que gosto de escrever! – Cá entre nós, “o meu português é péssimo” – porem eu espero evoluir com o tempo.
Taí galera! Esse é um pouco sobre mim e espero contribuir com muitos por muito tempo.