Aplicações Android com Parse
Olá pessoal,
Hoje vou falar um pouco sobre o site www.Parse.com, muito útil, que oferece API's e serviços de nuvem para aplicativos Android, iOS, Windows. Usando a API do Parse é possível criar um aplicativo remoto na nuvem, mas em que isso influencia?
Eu te respondo:
Um aplicativo remoto com a API Parse pode armazenar objetos de dados e arquivos na nuvem do próprio Parse, gerenciar dados de usuários, localizações geográficas, até utilizar plataformas de mídia social como: Facebook, twittet, etc. Além do Parse ser um ótimo serviço, também possui uma rede de desenvolvedores que são bastante atuantes em discussões. O foco do post será:
Enviar e Receber Notificações Push
Mas... O que são Push Notification's?
Bom, são notificações que permitem alertar um usuário de novas mensagens ou eventos mesmo quando o usuário não está usando ativamente sua aplicação. No SO Android quando um aplicativo recebe uma notificação push é mostrada um ícone de seu aplicativo na parte superior de seu Android, possibilitando abaixar a aba para lê-la.
Hoje vou falar um pouco sobre o site www.Parse.com, muito útil, que oferece API's e serviços de nuvem para aplicativos Android, iOS, Windows. Usando a API do Parse é possível criar um aplicativo remoto na nuvem, mas em que isso influencia?
Eu te respondo:
Um aplicativo remoto com a API Parse pode armazenar objetos de dados e arquivos na nuvem do próprio Parse, gerenciar dados de usuários, localizações geográficas, até utilizar plataformas de mídia social como: Facebook, twittet, etc. Além do Parse ser um ótimo serviço, também possui uma rede de desenvolvedores que são bastante atuantes em discussões. O foco do post será:
Enviar e Receber Notificações Push
Mas... O que são Push Notification's?
Bom, são notificações que permitem alertar um usuário de novas mensagens ou eventos mesmo quando o usuário não está usando ativamente sua aplicação. No SO Android quando um aplicativo recebe uma notificação push é mostrada um ícone de seu aplicativo na parte superior de seu Android, possibilitando abaixar a aba para lê-la.
imagem retirada do site:http://www.notifymyandroid.com/img/new_notification.png?v=2
Ok, agora que você entendeu o que é uma Push Notification, vou mostrar como essa função pode ser implementada no seu APP Android.
Primeiro de tudo:
REGISTRANDO O SERVIÇO DE NOTIFICAÇÃO PUSH.
Para utilizar os serviços, você terá que registar sua aplicação adicionando o código abaixo XML, ao seu código AndroidManifest.xml imediatamente depois da tag </application>:
<service android:name="com.parse.PushService" /><receiver android:name="com.parse.ParseBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.USER_PRESENT" /> </intent-filter></receiver><receiver android:name="com.parse.GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND"> <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <action android:name="com.google.android.c2dm.intent.REGISTRATION"/> <!-- IMPORTANTE: Mude "com.parse.tutorials.pushnotifications" p/ o nome do seu pacote --> <category android:name="com.parse.tutorials.pushnotifications" /> </intent-filter></receiver><receiver android:name="com.parse.ParsePushBroadcastReceiver" android:exported="false"> <intent-filter> <action android:name="com.parse.push.intent.RECEIVE" /> <action android:name="com.parse.push.intent.DELETE" /> <action android:name="com.parse.push.intent.OPEN" /> </intent-filter></receiver>
OBS: Avisar nunca é demais... Você terá que trocar o "com.parse.tutorials.pushnotifications" para o nome de seu pacote ex: meu pacote é "com.Renato", ficaria o seguinte:
<category android:name="com.parse.tutorials.pushnotifications" />
SETANDO AS PERMISSÕES.
Para sua aplicação funcionar, ela irá necessitar que você dê permissões para que o Parse seja utilizado e que mostre as notificações, no seu código AndroidManifest.xml, imediatamente antes da tag <application>:
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /><uses-permission android:name="android.permission.VIBRATE" /><uses-permission android:name="android.permission.GET_ACCOUNTS" /><uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /><!-- IMPORTANTE: Mude "com.parse.tutorials.pushnotifications.permission.C2D_MESSAGE" nas proximas linhas nome do pacote de seu aplicativo + ".permission.C2D_MESSAGE".--><permission android:protectionLevel="signature" android:name="com.parse.tutorials.pushnotifications.permission.C2D_MESSAGE" /><uses-permission android:name="com.parse.tutorials.pushnotifications.permission.C2D_MESSAGE" />
OBS: Está comentado no código, mas avisando novamente para substituir algumas linhas pelo nome de seu pacote da aplicação. :D
ESCOLHA SEU ÍCONE DE NOTIFICAÇÃO (OPCIONAL)
Imediatamente antes de fechar a tag </application>:
<meta-data android:name="com.parse.push.notification_icon" android:resource="@drawable/push_icon"/>
Você terá que deixar o ícone na pasta drawable de seu APP, e não upar um ícone exageradamente grande.
ADICIONAR AS SUAS CHAVES DA PARSE API
Até aqui você já deve ter feito o seu cadastro no Parse.com, se não faça-o agora, logue, cria uma aplicação, e pegue suas chaves.
Na sua Main.java, no método OnCreate, adicione a seguinte linha de código:
Parse.initialize(this, "YOUR_APP_ID", "YOUR_CLIENT_KEY");
Troque as strings.
HABILITANDO AS NOTIFICAÇÕES PUSH
Finalmente o seu aplicativo precisa se registrar para receber notificações push. A maneira mais simples de começar é se inscrever em um canal particular. Por convenção o canal "" é o chamado "canal de transmissão", e é usado para mensagens amplamente aplicáveis, para criar um canal de comunicação, adicione o seguinte código no método OnCreate
ParsePush.subscribeInBackground("", new SaveCallback() { @Override public void done(ParseException e) { if (e == null) { Log.d("com.parse.push", "successfully subscribed to the broadcast channel."); } else { Log.e("com.parse.push", "failed to subscribe for push", e); } }});
Por fim utilize os seguintes includes:
import com.parse.Parse;import com.parse.ParsePush;import com.parse.SaveCallback;
FAÇA UM TESTE
Para mais informações o site oficial:
Para trabalhos mais refinados com Push Notification:
Dúvidas, críticas, etc. Podem ser deixadas nos comentários
Forte abraço!! (:
Comentários
Postar um comentário