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