Usando Push Notification(iOS) No Titanium

Bom, após um tempo trabalhando com Push Notification (iOS) no Titanium, resolvi compartilhar desse conhecimento com a comunidade.

Push Notification (iOS)

O Apple Push Notification Service (Serviço de avisos por Push da Apple) é um serviço móvel criado pela Apple Inc. ref: Wikipédia

Na minha humilde opinião, o serviço de push da Apple é o mais fácil de ser implementado, pois precisa de uma configuração simples e alguns certificados. (exatamente 2)

A geração dos certicados ficam por conta do portal Developer Center da Apple. (Muito simples de gerar, lá tem o tutorial!)]

Mas para que servem os certificados?

Os certificados servem para você fazer o envio do push notification, esse envio é um pouco complicado, pois você precisa ter conhecimento em alguma outra linguagem de programação que trabalhe sockets. Em breve irei fazer um tutorial de como enviar push notification usando PHP.

Titanium

A implementação no Titanium é tranqüila, pois devemos apenas chamar um método específico do package Network.

Veja o exemplo:

app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
    Titanium.Network.registerForPushNotifications({
        types: [
            Ti.Network.NOTIFICATION_TYPE_BADGE,
            Ti.Network.NOTIFICATION_TYPE_ALERT,
            Ti.Network.NOTIFICATION_TYPE_SOUND
        ],
        success: function(e){
            Ti.API.info(e.deviceToken);
        },
        error: function(e){
            alert(e.error);
        },
        callback: function(e){

          Titanium.Media.vibrate();
                  
          var data = JSON.parse(e.data);
          var badge = data.badge;
          var message = data.message;
          
          if (badge > 0) {
              Titanium.UI.iPhone.appBadge = badge;
          }
          
          alert(message);

        }
    });
Agora vamos entender o bloco acima.
  1. Callback success: será retornando o deviceToken, esse token deve ser salvo externamente para depois ser enviado a mensagem para o device. Aqui você poderá usar a sua API Rest ou algum serviço para envio do push.
  2. Callback error: é apenas quando não é possível registrar o deviceToken.
  3. Callback callback, será disparado quando o device receber o push. Os dados retornados podem variar conforme o envio do push.

Uma coisa que achei estranha foi o fato do registerForPushNotification ser chamado toda a vez que o aplicativo abria, isso a própria Apple explica aqui.

O Titanium também implementa o unregisterForPushNotification, esse método deve ser chamado apenas em raros momentos, exemplo, quando uma versão do seu app não tem mais o suporte a Push Notification.

Pelo que vocês puderam ver acima, a implementação é relativamente tranquila, acho que o mais complicado é a geração dos certificados.

Acredito que eu tenha explicado rapidamente como usar o Push Notification.

Comments

Copyright © 2013 Fábio da Silva Ribeiro Design credit: Shashank Mehta