Pular para o conteúdo principal
Bem-vindo ao OneSignal! Este guia ajudará você a migrar de sua plataforma de mensagens atual para o OneSignal com interrupção mínima. É projetado para:
  • Desenvolvedores implementando o SDK OneSignal
  • Profissionais de marketing gerenciando campanhas e análises

Pré-requisitos

Antes de começar:

Passos de migração

1. Audite sua configuração de mensagens atual

Antes da migração, faça um inventário da sua implementação atual: Para desenvolvedores:
  • As plataformas que você suporta: iOS, Android, Web, email, SMS, etc.
  • O código que manipula eventos de push e mensagens in-app:
    • Exibição em primeiro plano e manipulação de cliques
    • Uso de deep link para push, email, etc.
    • Manipulação de token push e payload
  • Como você está coletando endereços de email, números de telefone, tokens push, etc.
  • Domínios de email e propriedade de DNS
  • Remetentes SMS e mecanismos de opt-in
Para profissionais de marketing:
  • Os tipos de mensagens que você envia: (transacionais, marketing, etc.)
    • Templates para essas mensagens
  • Como você está segmentando e direcionando usuários.
  • As análises ou métricas de conversão que você rastreia.

2. Conceitos principais do OneSignal

Alguns conceitos principais sobre o OneSignal para entender antes de começar:
  • Users - Identificados via External ID. Users são compostos de propriedades (tags, dados de sessão, etc.) e subscriptions (push, email, SMS).
  • Subscriptions - Refere-se a como um usuário pode receber mensagens. Existem 4 tipos de subscriptions:
    • Mobile: Pode receber notificações push, mensagens in-app e Live Activities.
    • Web push: Pode receber notificações web push.
    • Email: Pode receber notificações de email.
    • SMS: Pode receber notificações SMS.
  • Segments - Um grupo de usuários que compartilham propriedades comuns.
  • Tags - Uma propriedade de usuário personalizada.
  • Custom Events - Uma ação que um usuário realiza.

3. Adicione o SDK OneSignal (desenvolvedores)

Configure o SDK OneSignal em seu aplicativo mobile e/ou site web:

Identifique usuários com External ID

O External ID é um identificador único para um usuário que você pode usar para identificá-los entre dispositivos e canais de mensagens. Chame o método login do nosso SDK para definir o External ID para um usuário quando eles usarem seu aplicativo ou site.

Colete novos emails e números de telefone

Endereços de email e números de telefone podem ser adicionados ao seu aplicativo OneSignal de várias maneiras, conforme discutido mais adiante neste guia. Se você coleta endereços de email e/ou números de telefone em seu aplicativo mobile ou site diretamente, você pode usar nosso SDK para criar essas subscriptions:

4. Remova sua implementação legada

Recomendamos que você remova quaisquer métodos nativos ou de terceiros e APIs para coletar tokens push, endereços de email e números de telefone. Especialmente para coletar tokens push, estes podem criar conflitos com o SDK OneSignal.

Conflitos e formato de token push

Remova todo o código legado que gera tokens push. Permita apenas que o OneSignal gere o token push, que acontece automaticamente quando o SDK é inicializado. Se necessário, use nosso SDK para obter o token e enviá-lo para seu outro provedor ou backend. Métodos para fazer isso:
  • Obtenha o identificador de token push do dispositivo usando nosso SDK Mobile Frontend
  • Obtenha o identificador do dispositivo usando nossa API View user
Formato de token push do OneSignal:
  • Formato de token APNS Push iOS: 64 caracteres, apenas caracteres hexadecimais (0-9,a-f). deviceToken.map {String(format: "%02x", $0)}.joined()
  • Formato de token FCM Push Android: Tipicamente 163 caracteres, caracteres alfanuméricos, pode conter hífens, dois pontos e underscores.

Manipulação de payload push

Se estiver usando OneSignal e outro provedor push em paralelo, você precisará impedir que seu outro SDK processe notificações OneSignal para evitar duplicatas. O payload push do OneSignal contém uma chave "custom" específica dentro do rawPayload do objeto OSNotification que nosso SDK usa para determinar se deve manipular a notificação ou não. Você precisará atualizar seu Android NotificationCompat para ouvir um objeto no payload OSNotification que seja diferente do payload do seu outro provedor para impedir que ele manipule notificações enviadas por nós.

Migração em fases (apenas aplicativos mobile)

Se você deve manter ambos os SDKs por um tempo limitado:
  • Não deixe vários SDKs gerarem tokens push. Deixe o OneSignal lidar com isso e compartilhe o token com seu sistema antigo, se necessário.
  • Atualize filtros de payload para que seu SDK legado não processe pushes OneSignal.
    • OneSignal usa uma chave "custom" em seu rawPayload (docs).
    • Verifique esta chave em NotificationCompat (Android).
  • Decida qual provedor manipula quais tipos de notificações.
  • Defina uma data de corte clara e construa um plano de eliminação gradual para sistemas legados.
    • Crie um template de notificação para cada tipo de notificação que você envia.
    • Configure seu provedor antigo para enviar mensagens para usuários na versão antiga do seu aplicativo e OneSignal para enviar mensagens para usuários na versão mais recente do seu aplicativo.
    • Crie segmentos para direcionar grupos específicos de usuários.

5. Migração de web push

Se você está usando o mesmo site HTTPS origin, os assinantes serão silenciosamente adicionados ao OneSignal em sua próxima visita. Nenhum prompt será mostrado, e eles podem receber push do OneSignal imediatamente depois. Eles também devem parar de receber push do provedor anterior.
  • Você não pode importar subscriptions de web push devido a limites de segurança do navegador. OneSignal registrará usuários quando eles retornarem.
  • Você deve desregistrar seus service workers push antigos antes que o OneSignal possa assumir.
Passos:
  1. Remova o SDK legado: Código no site e arquivos de Service Worker.
  2. Adicione este código para garantir que o Service Worker seja desregistrado.
  3. Substitua sw.js pelo nome do arquivo Service Worker de terceiros.
javascript
if ('serviceWorker' in navigator) {
  navigator.serviceWorker.getRegistrations().then(function(registrations) {
    for (let registration of registrations) {
      if (registration.active.scriptURL.includes("sw.js")) {
        registration.unregister();
      }
    }
  });
}

Migrando entre aplicativos OneSignal

Se você está movendo assinantes de um aplicativo OneSignal (App A) para outro (App B):
  • Subscriptions de web push não podem ser transferidas diretamente entre aplicativos. Cada subscription está vinculada tanto ao domínio (origin) do seu site quanto ao OneSignal App ID.
  • Para migrar, atualize o código de inicialização OneSignal do seu site para usar o appId do App B:
OneSignal.init({
  appId: "YOUR_APP_B_ID",
});
  • Quando um usuário revisita seu site, a permissão push existente do navegador permitirá que o OneSignal os registre silenciosamente no App B.
  • Nenhum novo prompt de permissão aparecerá, mas os usuários devem visitar seu site pelo menos uma vez para que a subscription seja criada no App B.
  • Assinantes continuarão a aparecer no App A até se tornarem inativos.
Melhor prática: Pare de enviar do App A uma vez que você confirme que usuários suficientes migraram. Monitore contagens de assinantes em ambos os aplicativos para validar o progresso da migração.

6. Configuração de Email e SMS

Se você está enviando emails e/ou SMS com OneSignal, você precisará seguir nossos guias Configuração de Email e Configuração de SMS. Migrar seu domínio de envio de email atual para OneSignal simplesmente requer atualizar os registros DNS. Você pode configurar vários remetentes de email no OneSignal, se necessário. Migrar remetentes SMS pode levar tempo. Nossa equipe deve entrar em contato com você para ajudar com este processo, mas se não, você pode entrar em contato com support@onesignal.com a qualquer momento para assistência.

É necessário aquecimento de email?

Se seu domínio de envio tem uma reputação de envio estabelecida, então o aquecimento não é necessário, a menos que você tenha um endereço IP dedicado.

Posso obter um endereço IP dedicado?

Sim, dependendo do seu tipo de plano e necessidades, podemos fornecer endereços IP dedicados. Entre em contato com seu gerente de conta para mais detalhes.

7. Importar usuários existentes (opcional)

Importar usuários inscritos que estiveram ativos em seu aplicativo nos últimos 270 dias ajudará a minimizar interrupções durante a migração. Recomendamos que você comece importando usuários de teste conhecidos, depois importe os usuários restantes antes do lançamento do aplicativo.

Considerações de plataforma

  • Endereços de email devem ser de usuários ativos e válidos. Não importe endereços de email que nunca clicaram ou abriram emails antes.
  • Números de telefone devem estar em um formato específico e os usuários devem ter consentido em receber SMS.
  • Assinaturas iOS podem começar a receber notificações push imediatamente após a importação. Recursos como rastreamento de cliques de notificação e entregas confirmadas requerem que nosso SDK esteja ativo no dispositivo.
  • Assinaturas Android/Huawei/Amazon devem ter nosso SDK ativo no dispositivo para receber notificações, seja através de uma atualização automática ou atualização manual.
  • Assinaturas web não podem ser importadas. Se você seguir o descrito acima em Migração de web push, a assinatura de web push será criada e o token push buscado via nosso SDK quando o usuário retornar ao site.

Passos de importação

  1. Revise os documentos Users e Subscriptions para compreensão.
  2. Exporte dados de usuários de teste do sistema antigo.
  3. Formate os dados para a API Create user do OneSignal.
  4. Importe usuários de teste e, após testes bem-sucedidos, mantenha o processo para repetir na checklist de pré-lançamento.
Campos obrigatórios:
  • token - O token push ou endereço de email ou número de telefone
  • type - O tipo de assinatura: iOSPush, AndroidPush, WebPush, Email, SMS
  • external_id - Um identificador único para o usuário. É recomendado ser usado para rastreamento e análises.
Exemplo de solicitação de API:
POST https://api.onesignal.com/users
  {
    "identity": {
      "external_id": "user_12345"
    },
    "subscriptions": [
      {
        "type": "iOSPush",
        "token": "7abcd49d0affb7426a8f1202420e8f4e2fc4df58e49501adc383f3bd66df8636"
      },
      {
        "type": "AndroidPush",
        "token": "dQGm89TZQXiTvLsRIj_GBo:APA91bpgqFgqkP2qYvV1uW2kdK5Z3TjgCXB_1jkL6VJrgH3hoYn16MvFY19tzDE4OuSgKjYC7itbFpSJYHBfKLWt-xZYBpgCVhYn9K5neV_9-Zj7s9mOSjRUJ2IwEwVSYhR-j5ICF9WB"
      },
      {
        "type": "Email",
        "email": "test@example.com"
      },
      {
        "type": "SMS",
        "phone_number": "+1234567890"
      }
    ]
  }

7. Testar a migração

Testes completos são cruciais para uma transição suave.
  1. Habilite Debug Logging no SDK OneSignal.
  2. Teste em dispositivos reais para todas as plataformas (Android, iOS, Web, etc.).
  3. Verifique o tratamento de notificações em primeiro plano e em segundo plano.
Cenários de teste para equipes de desenvolvedores e profissionais de marketing:
  • Envie notificações de teste do OneSignal para usuários importados antes de adicionar o SDK OneSignal.
    • Você deve receber o push no iOS, mas não obterá entrega confirmada ou análises de cliques.
    • Você pode receber o push no Android se tiver outro SDK push e ainda não implementou os requisitos de Manipulação de payload. A notificação provavelmente estará faltando dados e não funcionará como esperado quando clicada.
  • Envie notificações de teste do OneSignal para usuários importados depois de adicionar o SDK OneSignal.
    • Você deve receber o push em Android e iOS junto com entrega confirmada e análises de cliques.
  • Teste o comportamento de notificação com o aplicativo em diferentes estados.
  • Verifique se deep links e ações personalizadas funcionam corretamente.
Se estiver usando múltiplos provedores:
  • Envie de ambos, seu provedor atual e OneSignal.
  • Verifique se há notificações duplicadas
  • Verifique se as notificações de cada provedor são exibidas corretamente
  • Teste cenários de login/logout de usuário
Precisa de ajuda?Converse com nossa equipe de Suporte ou envie email para support@onesignal.comPor favor inclua:
  • Detalhes do problema que você está enfrentando e passos para reproduzir se disponível
  • Seu OneSignal App ID
  • O External ID ou Subscription ID se aplicável
  • A URL para a mensagem que você testou no Dashboard OneSignal se aplicável
  • Quaisquer logs ou mensagens de erro relevantes
Estamos felizes em ajudar!

Checklist de pré-lançamento

Para profissionais de marketing:
  • Construa um plano de mensagens para solicitar atualizações de aplicativo
  • Considere usar push e mensagens in-app do seu sistema antigo para lembrar gentilmente os usuários a atualizarem.
Para desenvolvedores:
  • Verifique se as análises de push e mensagens in-app estão funcionando como esperado.
    • Eventos de clique e entrega confirmada são rastreados em Android e iOS.
  • Verifique se eventos de clique e eventos recebidos em primeiro plano são tratados corretamente para mensagens enviadas de ambos os provedores.
  • Se estiver importando usuários, exporte usuários Android e iOS que estiveram ativos em seu aplicativo nos últimos 270 dias para evitar importação de tokens expirados. Consulte FCM Expired Token FAQ para detalhes.

Lance seu aplicativo/site

  • A maioria dos usuários terá seus aplicativos atualizados automaticamente para a versão mais recente.
  • Quando os usuários abrirem seu aplicativo atualizado, eles não serão solicitados a se inscrever em notificações push se as permissões já foram concedidas—seja através dos prompts de permissão necessários ou das configurações de notificação do aplicativo.
Se você não importou usuários:
  • Os usuários serão criados automaticamente no OneSignal quando abrirem a versão atualizada do aplicativo. Eles não serão solicitados para push se já estiverem inscritos anteriormente.
  • Você precisará esperar que eles abram o aplicativo atualizado antes de poder enviar mensagens para eles.
  • Continue enviando notificações e mensagens in-app do provedor push anterior por alguns dias até que usuários suficientes apareçam no OneSignal. Envie alertas adicionais pedindo que atualizem o aplicativo para a versão mais recente.

Monitorar resultados

Para desenvolvedores:
  • Monitore taxas de erro e crashes após a implantação.
  • Fique atento a invalidações inesperadas de token.
  • Verifique análises de integração do SDK.
Para profissionais de marketing:
  • Marque a data de lançamento do aplicativo.
  • Comunique-se com seus desenvolvedores sobre:
    • Qual caminho de migração foi escolhido (migração Limpa ou Em fases).
    • Os usuários foram importados?
  • Se seguindo uma migração Limpa:
    • Na plataforma anterior, crie um segmento ou coorte de usuários que continuam ativos. Verifique seus tempos de sessão, mensagens recebidas e eventos de clique.
    • Apenas usuários que não atualizaram o aplicativo devem continuar ativos e contidos neste grupo.
    • Continue enviando push e mensagens in-app do seu provedor anterior para esses usuários, incentivando-os gentilmente a atualizar.
    • Pare de enviar do provedor anterior até estar pronto para mover completamente para o OneSignal.
  • Se seguindo uma migração Em fases:
    • Na plataforma anterior, crie um segmento ou coorte de usuários que têm a versão mais antiga do aplicativo antes do OneSignal.
    • Continue enviando push e mensagens in-app do seu provedor anterior para esses usuários de aplicativos mais antigos, incentivando-os gentilmente a atualizar.
    • Pare de enviar do provedor anterior até estar pronto para mover completamente para o OneSignal.
    • Remova o código do provedor push anterior no próximo lançamento do aplicativo.

Você migrou com sucesso para o OneSignal!Para questões estratégicas sobre planejamento de migração, nossa equipe de sucesso do cliente pode fornecer orientação personalizada.
Precisa de ajuda?Converse com nossa equipe de Suporte ou envie email para support@onesignal.comPor favor inclua:
  • Detalhes do problema que você está enfrentando e passos para reproduzir se disponível
  • Seu OneSignal App ID
  • O External ID ou Subscription ID se aplicável
  • A URL para a mensagem que você testou no Dashboard OneSignal se aplicável
  • Quaisquer logs ou mensagens de erro relevantes
Estamos felizes em ajudar!