Trabalhando Com Eventos No Push Notification (iOS)

Após um longo período de testes como Push Notification, notei que havia um problema com relação a eventos e quando eles poderiam ser disparados.

No projeto que desenvolvi, precisava capturar os dados que eram enviados pelo Push e exibir em uma Window específica.

Para isso, tive que fazer algumas modificações no projeto para que o Push pudesse disparar alguns eventos. Os eventos que foram criados são: register, unregister, received, errors e enable.

Além dos eventos, também foram criados os métodos getAppToken e enable, para ativar/desativar o Push e para pegar o token do device.

Vamos a implementação da classe:

Agora para usar a classe é bem simples:

Aparentemente o uso da classe é bem simples, espero que gostem.

Com essa classe, também acredito que seja possível fazer a implementação para o Android.

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.

Rede Visão - Nova Versão Do Aplicativo

Após um longo desenvolvimento, a nova versão do aplicativo da Rede Visão é lançado. Veja.

Todo o aplicativo foi reescrito, novas funcionalidades foram adicionadas e o layout é zero bala, entre as novas funcionalidades, estão o Canal 500, onde será exibido o canal de TV.

Por enquanto é só.

php

Novo Blog

Já faz um bom tempo que não posto nada de novo no blog, as minhas últimas postagens são de projetos que realizei ao longo de 2011 / 2012.

O ano de 2012 está sendo bem intenso na área de desenvolvimento pra mim e por esse motivo resolvi fazer uma mudança geral no blog, bem como abandonei o Wordpress como o meu CMS.

Nessa nova versão do blog eu estou usando o Octopress (baseado no Jekyll) e o mesmo está hospedado no Github.

Espero que no próximo ano, eu tenha mais tempo para dedicar a novos posts sobre desenvolvimento e minhas descobertas.

Acho que é isso!

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