1. Hands MDM SDK
  2. Android Quickstart
  3. MDM Módulos
  4. MDM Notification

MDM Notification

Módulo responsável por entregar e exibir notificações segmentadas no aplicativo. Estas notificações podem ser apresentadas em 3 formatos:

  1. Push notification comum, com imagem ou carrossel de imagens.
  2. Inbox de mensagens.
  3. InApp Messages.

Antes de começar

Para integrar o módulo de notifications da MDM, o aplicativo precisa ter push notifications do Firebase integrado.

Caso você não possua push notifications do Firebase integrado ao seu aplicativo, siga as instruções em https://firebase.google.com/docs/


Implementação base:

Adicione o seguinte service ao seu manifesto, dentro da tag application:

<service
    android:name="br.com.hands.mdm.libs.android.notification.services.MDMMessagingService"
    android:exported="false"
    android:stopWithTask="false">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>

 


Tem suas próprias classes extendendo as classes do Firebase e não quer implementar os services acima?

Siga as instruções abaixo:

1. Para registrar o token fornecido pelo Firebase, adicione o seguinte código na sobrecarga do método onNewToken na classe que extende FirebaseMessagingService:

MDMNotification.registerToken(newToken, getApplicationContext());

 

2. Para receber o push da MDM, adicione o seguinte código na sobrecarga do método onMessageReceived na classe que extende FirebaseMessagingService:

if (MDMNotification.isMDMNotification(remoteMessage.getData())) {
    MDMNotification.processNotification(remoteMessage.getData(), getApplicationContext());
} else {
    // Minha Notificação
}

 


Implementação específica:

  • Push Notification

Para a implementação do formato push notification, nada mais é necessário.

 

  • Inbox

Para a implementação do formato Inbox, adicione o seguinte código para quando desejar exibir o conteúdo:

startActivity(new Intent(getApplicationContext(), MDMInboxActivity.class));

 

Para customização do texto da barra de título, adicione o seguinte código a sua application:

MDMInbox.setTitle("Inbox");

 

Para customização da cor da barra de título, adicione o seguinte código a sua application:

MDMInbox.setStatusBarColor("#96221B");
MDMInbox.setToolBarColor("#B3342F");

 

Para customização fixa das abas exibidas, adicione o seguinte código a sua application, edite de acordo com a necessidade:

MDMInbox.setActiveTabs(new MDMInbox.Tab[]{
    MDMInbox.Tab.COUPONS,
    MDMInbox.Tab.NOTIFICATIONS,
    MDMInbox.Tab.APPINSTALL,
    MDMInbox.Tab.MARKETPLACE
});

 

Para customização variável das abas exibidas, adicione o seguinte código no momento da chamada de exibição do conteúdo, edite de acordo com a necessidade:

Intent intent = new Intent(getApplicationContext(), MDMInboxActivity.class);

MDMInboxConfig inboxConfig = new MDMInboxConfig();

inboxConfig.setActiveTabs(new MDMInbox.Tab[]{
        MDMInbox.Tab.NOTIFICATIONS,
        MDMInbox.Tab.COUPONS,
        MDMInbox.Tab.APPINSTALL,
        MDMInbox.Tab.MARKETPLACE
});

inboxConfig.setSelectedTab(MDMInbox.Tab.COUPONS);

intent.putExtra(MDMNotification.INBOX_CONFIG_KEY, inboxConfig);

startActivity(intent);

 

  • InApp Message

Para a implementação do formato InApp, adicione o seguinte código a sua application.

MDMInApp.start(getApplicationContext());

 


Integração com o Firebase

Para enviarmos notificações push pelo serviço do Firebase, precisamos de um arquivo  chamado Service Account Key. Para obter esse arquivo, você deve seguir os seguintes passos:

OBS: Ao acessar os links abaixo, certifique-se que o projeto selecionado na parte de cima da página é o mesmo projeto do seu app no Firebase.

 

1. Criar um Role específico para envio de Push Notification

Acesse o seguinte endereço: https://console.developers.google.com/iam-admin/roles

Inicie a criação de um Role e nomeie como “Hands MDM”.

Adicione as seguintes permissões:

cloudmessaging.messages.create
Permissão para enviar notificações e mensagens de dados por meio da API FCM HTTP e do AdminSDK

resourcemanager.projects.get
resourcemanager.projects.getIamPolicy
Permissão para recuperar informações do projeto do Firebase

Salve para finalizar o processo.

 

2. Criar um Service Account com o Role previamente criado

Acesse o seguinte endereço: https://console.cloud.google.com/iam-admin/serviceaccounts

Inicie a criação de um Service Account e nomeie como “Hands MDM”.

Avance para o próximo passo e atribua o Role criado anteriormente.

Pule o último passo e salve para finalizar o processo.

 

3. Incluir uma Key no Service Account e obter o arquivo

Após salvar, você verá uma listagem de todos os Service Accounts. Selecione o Service Account criado com o nome de “Hands MDM” para editar.

Adicionar nova chave no formato JSON.

Ao adicionar a chave, um arquivo será baixado automaticamente.

 


Opt-out

Para fazer o opt-out do módulo, basta chamar o seguinte comando:

MDMNotification.setOptOut(getApplicationContext(), true);

Para desfazer o opt-out do módulo, basta chamar o seguinte comando:

MDMNotification.setOptOut(getApplicationContext(), false);