Home

Awesome

Esporty App Server Side

Procurando o App? Clique aqui

Este é o server side (lado servidor) do código exemplo apresentado na Trilha iOS do TDC SP 2014, Melhorando a experiência do usuário usando Background Fetching, por George Villasboas.

A keynote da talk, em PDF, pode ser baixada aqui

Ele serve para simular um serviço remoto usado para alimentar o aplicativo Esporty (App fictício de compartilhamento de fotos de esportes radicais) e enviar Remote Notifications para mostrar o funcionamento de background fetches.

Como instalar

  1. Faça a instalação do ambiente Ruby/Rails em sua maquina local. Se você é novo em Ruby/Rails, sugiro seguir este tutorial passo-a-passo: http://www.createdbypete.com/articles/ruby-on-rails-development-setup-for-mac-osx/ (em inglês e para OSX).

  2. Clone este repositório.

  3. Crie os seus certificados de push notification no Apple Developer Portal. Instruções de como gerar o arquivo .pem, você pode encontrar aqui: https://github.com/jpoz/APNS (em inglês).

  4. Mova o arquivo certs.pem para a pasta /config/apple_apns/ do repositório clonado. Caso decida colocar outro nome no seu arquivo .pem, lembre-se de atualizar o arquivo /app/controlers/posts_controller.rb (linha 111).

  5. Via terminal acesse o diretório do repositório clonado

  6. Execute os comandos:

    $ rake db:migrate
    $ rails server
  1. No seu browser acesse o endereço: http://localhost:3000. Sua tela deve ser semelhante à exibida abaixo:

Acesso backend Esporty App

  1. Não existe passo 7. :)

Como enviar um Remote Notification

  1. Execute o código do repositório Esporty App em seu dispositivo iOS (detalhes sobre o app você encontra no readme do repositório).

  2. Acesse http://localhost:3000

  3. Clique em NEW

  4. Copie e cole o token de push notification do seu device no campo Token. Para obter o token, observe o console do seu Xcode, ele aparece como no exemplo abaixo:

    2014-08-09 11:49:20.409 Esporty[84530:607] Token APNS: <TOKEN>
  1. Informe um comentário qualquer e clique em "Create post", como na imagem abaixo:

Criando um post para o Esporty App

  1. Observe o console do Xcode pelo recebimento do Remote Notification.
    2014-08-09 11:49:20.409 Esporty[84530:607] Posts atualizados: X

Dicas

Configuração testada

Perguntas?

Só abrir um issue.

Colaborações?

Dê um pull request.

Enjoy!