Visão geral
O RevenueCat ajuda você a rastrear compras no aplicativo e ciclos de vida de assinaturas entre plataformas. Com o OneSignal, você pode usar esses dados para enviar mensagens personalizadas com base no status de assinatura de um usuário. Esta integração atualiza tags de usuário no OneSignal automaticamente com suas informações de assinatura mais recentes.Principais benefícios
Com a integração RevenueCat-OneSignal, você pode:- Enviar mensagens de onboarding para usuários em teste gratuito ou que acabaram de assinar.
- Reengajar usuários inativos com pesquisas ou descontos.
- Enviar mensagens transacionais para compras, problemas de cobrança ou renovações.
Requisitos
- Conta RevenueCat
- SDK Purchases do RevenueCat
- Entender integração RevenueCat-OneSignal
- Conta OneSignal com SDK integrado
- Entender Data Tags, Usuários e Assinaturas do OneSignal
Configuração
Conectar OneSignal ao RevenueCat
- No seu painel RevenueCat, navegue até as configurações do projeto e escolha ‘OneSignal’ no menu Integrações.
- Adicione seu ID de App OneSignal e chave de API OneSignal. Veja Chaves e IDs para mais informações.
- Digite os nomes das tags que o RevenueCat deve usar ou escolha os nomes de tags padrão.
Passar o ID OneSignal para o RevenueCat
O RevenueCat usa o ID de usuário OneSignal (ID OneSignal) para atualizar tags de usuário no OneSignal com base em seus detalhes de usuário RevenueCat.Definir o ID Externo no OneSignal é necessário para um identificador estável. Se ele mudar no meio da sessão, o ID OneSignal também pode mudar, quebrando a conexão RevenueCat.
1
Definir o ID Externo no OneSignal
Defina o ID Externo no OneSignal para o ID do seu usuário principal. Isso pode ser feito com o método
login do SDK.2
Obter o ID OneSignal
Recomendamos usar o método observador de estado do usuário para obter o ID OneSignal, mas também fornecemos métodos getter:
- Observadores de estado do usuário:
- Métodos getter:
3
Passar o ID OneSignal para o RevenueCat
Passe o ID OneSignal para o RevenueCat.
- Propriedade RevenueCat:
$onesignalUserId - Método auxiliar RevenueCat:
setOneSignalUserID()(recomendado)
Enviar eventos RevenueCat para o OneSignal
Usuários que têm um ID OneSignal mapeado para o RevenueCat terão suas tags atualizadas automaticamente.Testando a integração
1
Fazer uma compra sandbox
Simule um novo usuário instalando seu app e passe pelo fluxo do seu app para completar uma compra sandbox.
Certifique-se de que o ID OneSignal está definido no RevenueCat.
2
Verificar se os dados do dispositivo necessários foram coletados
No RevenueCat, navegue até a Visualização de Cliente para o usuário de teste que acabou de fazer uma compra. Certifique-se de que todos os dados necessários estejam listados como atributos para o usuário.
3
Verificar se o evento OneSignal foi entregue com sucesso
Ainda na Visualização de Cliente, clique no evento de compra de teste no Histórico do Cliente e certifique-se de que o evento de integração OneSignal existe e foi entregue com sucesso.
4
Verificar se as tags OneSignal foram atualizadas
No OneSignal, navegue até Audiência > Usuários e procure pelo ID OneSignal. Você deve ver as tags que foram atualizadas pelo RevenueCat.
Integração completa! Agora você deve ver as tags no OneSignal atualizando automaticamente conforme os usuários fazem compras ou atualizam seu status de assinatura.
Tags de evento RevenueCat
Para cada evento de assinatura com renovação automática no RevenueCat, as seguintes tags são adicionadas ou atualizadas no usuário no OneSignal. Ao deixar a tag em branco no painel RevenueCat, você pode optar por não enviar nenhum valor para tag(s) específica(s).| Tag | Descrição |
|---|---|
app_user_id | O ID de usuário do app RevenueCat que disparou o evento |
period_type | O tipo de período mais recente para a compra ou renovação. Um de: TRIAL (para testes gratuitos), INTRO (ou preço introdutório), NORMAL (assinatura padrão) |
purchased_at | Tempo epoch em segundos da compra ou renovação de assinatura mais recente |
expiration_at | Tempo epoch em segundos da data de expiração da assinatura mais recente |
store | Um de APP_STORE, PLAY_STORE ou STRIPE |
environment | Um de SANDBOX ou PRODUCTION |
last_event_type | O tipo de evento mais recente do usuário. Um de: INITIAL_PURCHASE, TRIAL_STARTED, TRIAL_CONVERTED, TRIAL_CANCELLED, RENEWAL, CANCELLATION |
product_id | O identificador de produto de assinatura mais recente que o usuário comprou ou renovou |
entitlement_ids | String separada por vírgulas de identificadores de Direito RevenueCat que o usuário desbloqueou |
active_subscription | O valor será definido como true em qualquer evento de compra/renovação, e false em EXPIRATION |
subscription_status | Veja Atributo de Status de Assinatura abaixo |
grace_period_expiration_at | Se ocorrer um problema de cobrança, enviaremos a data de expiração do período de carência. |
- Somente assinaturas com renovação automática
- O RevenueCat atualiza apenas tags de dados no OneSignal em resposta a eventos de assinatura com renovação automática.
Exemplos de eventos RevenueCat
Os exemplos JSON fornecidos mostram as tags enviadas ao OneSignal com base em Eventos RevenueCat. O evento é salvo como a taglast_event_type.
- initial_purchase
- trial_started
- trial_converted
- trial_cancelled
- renewal
- cancellation
- uncancellation
- non_subscription_purchase
- subscription_paused
- expiration
- billing_issue
- product_change
Tag subscription_status
Sempre que o RevenueCat envia um evento para o OneSignal, uma tag subscription_status é adicionada ou atualizada com quaisquer alterações aplicáveis, usando um dos seguintes valores:
| Status | Descrição |
|---|---|
| active | O cliente tem uma assinatura ativa e paga que está configurada para renovar na próxima data de renovação. |
| intro | O cliente tem uma assinatura ativa e paga através de uma oferta introdutória paga. |
| cancelled | O cliente tem uma assinatura paga que está configurada para expirar na próxima data de renovação. |
| grace_period | O cliente tem uma assinatura paga que entrou em um período de carência após falhar ao renovar com sucesso. |
| trial | O cliente está em um período de teste que está configurado para converter para pago no final do período de teste. |
| cancelled_trial | O cliente está em um período de teste que está configurado para expirar no final do período de teste. |
| grace_period_trial | O cliente estava em um período de teste e agora entrou em um período de carência após falhar ao renovar com sucesso. |
| expired | A assinatura do cliente expirou. |
| promotional | O cliente tem acesso a um direito através de um RevenueCat |
| expired_promotional | O cliente teve anteriormente acesso a um direito através de um Direito Concedido RevenueCat que desde então expirou. |
| paused | O cliente tem uma assinatura paga que foi pausada e está configurada para retomar em alguma data futura. |