Skip to content
This repository has been archived by the owner on Jan 25, 2023. It is now read-only.

Latest commit

 

History

History
83 lines (49 loc) · 3.9 KB

README.md

File metadata and controls

83 lines (49 loc) · 3.9 KB

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. Para habilitar o use de FCM, atualize o arquivo /config/grm/grm_config_base.rb(linha 3), e renomeie o arquivo para /config/grm/grm_config.rb

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

  7. Execute os comandos:

    $ bundle install
    $ 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 9. :)

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

  • Caso o remote notification não chegue, verifique se os certificados foram gerados corretamente.
  • Teste o serviço de push, usando um Push Notification comum, comentando a linha 142 do arquivo /app/controlers/posts_controller.rb e descomentando a linha 141. Crie um novo post. Isto fará com que o serviço envie um push comum ao invés de um push silencioso. Descomente/comente novamente as linhas para usar o push remoto.

Configuração testada

  • OSX 10.9+
  • Ruby 2.1.2p95
  • Rails 4.1.2
  • Gem APNS 1.1.0

Perguntas?

Só abrir um issue.

Colaborações?

Dê um pull request.

Enjoy!