Convites por aplicativo móvel

Com o número crescente de aplicativos no Android e no iOS, é importante que as pessoas encontrem seus aplicativos, tanto nas lojas quanto na Web.

Se o seu aplicativo móvel tem um site, você provavelmente já conhece:

Mobile app button example

Esses botões permitem que qualquer pessoa acesse a loja correta para o seu dispositivo móvel. No entanto, esse fluxo deixa de funcionar se o usuário não estiver usando um dispositivo móvel. O que acontece quando o usuário está usando um computador de mesa? Ao utilizar Promoção de aplicativos móveis, você pode transformar rapidamente um usuário que está navegando no site em um cliente ativo, enviando a ele um link para o seu aplicativo por SMS.

Neste tutorial

Veja como é rápido criar um sistema de convites para aplicativos móveis usando as APIs e bibliotecas da Vonage:

  1. Criar um aplicativo da Web - criar um aplicativo da Web com botões de download.
  2. Identificar usuários de desktop - exibir o botão de download correto para usuários de computadores ou dispositivos móveis.
  3. Anote o nome e o número de telefone - para navegadores de desktop, exibir um formulário para coletar informações do usuário.
  4. Envie o link para download por SMS - envie um SMS ao usuário contendo o link para baixar seu aplicativo.
  5. Execute este tutorial - execute o tutorial e envie o link para download para o seu número de telefone.

Pré-requisitos

Para seguir este tutorial, você precisará de:

Criar um aplicativo da Web

Para a interface do cliente, use Sinatra e prateleira para criar um aplicativo web de página única:

Gemfile

source 'https://rubygems.org'

gem 'sinatra'
gem 'rack-flash3'

app.rb

# web server and flash messages
require 'sinatra'
require 'rack-flash'
use Rack::Flash

# enable sessions and set the
# session secret
enable :sessions
set :session_secret, '123456'

# Index
# - shows our landing page
#   with links to download
#   from the app stores or
#   via SMS
#
get '/' do
  erb :index
end

Adicione os botões da Google Play Store e da App Store ao código HTML do seu aplicativo web:

views/index.erb

<a href="https://play.google.com/store/apps/details?id=com.imdb.mobile">
  <!-- place this image in a public/ folder -->
  <img src="google-play-badge.png" />
</a>

<a href="https://geo.itunes.apple.com/us/app/google-official-search-app/id284815942">
  <!-- place this image in a public/ folder -->
  <img src='app-store-badge.svg' />
</a>

Para facilitar a vida, você pode baixe os botões.

Identificar usuários de desktop

Para verificar se um usuário está navegando em um dispositivo móvel ou em um computador, analise request.user_agent:

Gemfile

gem 'browser'

app.rb

# determine the browser and platform
require 'browser'

before do
  @browser ||= Browser.new(request.user_agent)
end

Use o valor de browser.device para exibir o botão de compra correto nos dispositivos móveis:

views/index.erb

<% unless @browser.platform.ios? %>
  <a href="https://play.google.com/store/apps/details?id=com.imdb.mobile">
    <!-- place this image in a public/ folder -->
    <img src="google-play-badge.png" />
  </a>
<% end %>

<% unless @browser.platform.android? %>
  <a href="https://geo.itunes.apple.com/us/app/google-official-search-app/id284815942">
    <!-- place this image in a public/ folder -->
    <img src='app-store-badge.svg' />
  </a>
<% end %>

Se o usuário não estiver usando um dispositivo móvel, exiba o botão para download por SMS:

views/index.erb

<% unless @browser.device.mobile? %>
  <a href="/download">
    <!-- place this image in a public/ folder -->
    <img src='sms-badge.png' />
  </a>
<% end %>

Este botão tem a seguinte aparência:

Mobile app button example

Anote o nome e o número de telefone

Se o usuário estiver navegando pelo computador, use um formulário HTML para coletar tanto o número de telefone para o qual você enviará um SMS quanto um nome, caso o usuário queira enviar esse link a um amigo. Quando o usuário clicar no botão de download por SMS na página inicial, exiba o formulário de preenchimento para o número de telefone dele.

app.rb

# Download page
# - a page where the user
#   fills in their phone
#   number in order to get a
#   download link
#
get '/download' do
  erb :download
end

O formulário captura o número de telefone no E.164 formato esperado pela SMS API:

visualizações/download.erb

<form action="/send_sms" method="post">
  <div class="field">
    <label for="number">
      Phone number
    </label>
    <input type="text" name="number">
  </div>

  <div class="actions">
    <input type="submit" value="Continue">
  </div>
</form>

Quando o usuário clicar Continuar, você usa a SMS API para enviar a eles uma mensagem de texto contendo o link de download do seu aplicativo.

Você também pode enviar um link direto para as lojas corretas na mensagem de texto. Para isso, basta atualizar o formulário para que o usuário possa escolher seu dispositivo.

Você envia um SMS usando uma única chamada à SMS API, e a Vonage se encarrega de todo o roteamento e entrega. O diagrama a seguir mostra o fluxo de trabalho seguido neste tutorial para enviar um SMS:

Neste tutorial, para enviar um SMS, você deve adicionar o SDK do Ruby Server no seu aplicativo:

Gemfile

gem 'vonage'

Use sua API da Vonage chave e segredo para inicializar o cliente:

app.rb

# Vonage library
require 'vonage'
vonage = Vonage::Client.new(
  api_key: ENV['VONAGE_API_KEY'],
  api_secret: ENV['VONAGE_API_SECRET']
)

Nota: Não armazene suas credenciais de API no código; em vez disso, use variáveis de ambiente.

Use a biblioteca inicializada para fazer uma solicitação a SMS API:

app.rb

# Send SMS
# - when submitted this action
#   sends an SMS to the user's
#   phone number with a download
#   link
#
post '/send_sms' do
  message = "Download our app on #{url('/')}"

  # send the message
  response = vonage.sms.send(
    from: 'My App',
    to: params[:number],
    text: message
  ).messages.first

  # verify the response
  if response.status == '0'
    flash[:notice] = 'SMS sent'
    redirect '/'
  else
    flash[:error] = response.error-text
    erb :download
  end
end

O status O parâmetro de resposta indica se a Vonage aceitou sua solicitação e enviou o SMS.

Para verificar se essa mensagem SMS foi recebida pelo usuário, consulte o (link: messaging/sms-api/api-reference#delivery_receipt texto: comprovante de entrega). Este tutorial não verifica comprovantes de entrega.

Execute este tutorial

Para executar este tutorial:

  1. Inicie seu aplicativo.
  2. Usando o navegador do seu computador, acesse o aplicativo da Web.
  3. Clique no botão de mensagem SMS. Será exibido o campo para inserir o número de telefone.
  4. Preencha e envie o formulário. Em poucos segundos, você receberá uma mensagem de texto (SMS) com o link para o seu aplicativo.

Nota: se a mensagem SMS tiver um localhost ou 127.0.0.1 link, use uma ferramenta como ngrok Portanto, o código do tutorial cria uma URL à qual seu dispositivo móvel pode se conectar.

Conclusão

É isso aí. Agora você pode permitir que qualquer pessoa envie a si mesma ou a um amigo um link direto para baixar seu aplicativo móvel por SMS. Para isso, você coletou um número de telefone, enviou um link ao usuário, identificou a plataforma dele e apresentou o link de download correto para que ele pudesse continuar.

Obter o código

Todo o código deste tutorial está disponível no Repositório do GitHub com tutorial sobre o aplicativo móvel.

Recursos