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.



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

Postagens mais visitadas deste blog

Conectando Arduino na Nuvem com Yaler

Arduino

Arduino LED Server