Disparar notificações push a partir de eventos da aplicação

Como Disparar Notificações Push a Partir de Eventos da Aplicação no iOS

Já apresentámos o caso estratégico noutro local: a era do "blast" acabou, e as notificações acionadas por comportamento são o que as plataformas recompensam e os subscritores toleram. Este guia é a outra metade — como disparar notificações push a partir de eventos da aplicação no iOS, desde a instrumentação até à passagem de responsabilidade para o marketing. Foi escrito para o programador que faz a ligação, com o código que irá implementar e as convenções que o mantêm sustentável.

A arquitetura num parágrafo

A sua aplicação dispara eventos nomeados com propriedades tipificadas. O PushEngage compara esses eventos com regras de acionamento configuradas no painel de controlo, e as campanhas são enviadas — imediatamente, com atraso, ou como uma sequência de múltiplos passos com condições de saída. A divisão do trabalho é o ponto principal: a engenharia instrumenta cada evento uma vez; o marketing cria, edita e elimina campanhas contra esses eventos para sempre, sem outra compilação. A sua instrumentação é uma API para a sua equipa de marketing.

trackEvent: o sinal de propósito geral

O SDK iOS 1.0 introduziu o trackEvent, o cavalo de batalha para sinais comportamentais personalizados:

PushEngage.trackEvent(name: "product_viewed",
                      properties: [
                        "sku": "WCJ-1042",
                        "category": "outerwear",
                        "price": 189.00,
                        "in_stock": true
                      ],
                      profileId: currentUserId,   // ties the event to an identified subscriber
                      provider: nil,
                      eventType: nil) { success, error in
    if !success { log(error) }
}

Três regras que o SDK impõe, por isso planeie-as antecipadamente:

  • Os valores das propriedades devem ser strings, números ou booleanos. Arrays, dicionários e datas são rejeitados no lado do cliente — achate-os antes de enviar.
  • Os nomes dos eventos e as chaves das propriedades não podem estar vazios. O manipulador de conclusão informa-o quando a validação falha; registe-o em compilações de depuração.
  • Os manipuladores de conclusão chegam numa fila de background. Faça o dispatch para a fila principal antes de tocar na UI.

Passe o profileId sempre que o utilizador for identificado — é o que permite que uma campanha siga um cliente entre dispositivos em vez de seguir um dispositivo.

sendTriggerEvent: ligação de campanhas de acionamento clássicas

Para campanhas criadas no construtor de acionamento do painel — abandono de carrinho, abandono de navegação, jornadas personalizadas — a aplicação dispara sendTriggerEvent com os nomes da campanha e do evento que o profissional de marketing configurou, mais os tokens de dados que o modelo de notificação irá renderizar:

let trigger = TriggerCampaign(campaignName: "cart_abandonment",
                              eventName: "add_to_cart",
                              data: [
                                "productname": "Waxed Canvas Jacket",
                                "price": "$189",
                                "cartlink": "myapp://cart"
                              ])

PushEngage.sendTriggerEvent(triggerCampaign: trigger) { success, error in
    // background queue — dispatch before UI work
}

Os tokens de data fluem para a cópia da notificação — é assim que "O seu casaco de lona encerada está à espera" é personalizado sem que o profissional de marketing toque no código. Percorremos a sequência completa de recuperação de carrinho no guia de abandono de carrinho da aplicação móvel; esta chamada é o seu motor.

Captura de ecrã de um painel de campanhas de marketing mostrando Campanhas de Gatilho selecionadas com quatro campanhas listadas (abandono de navegação, descida de preço, alerta de inventário, abandono de carrinho). Estado ativo visível ao lado de cada campanha.

addAlert: quebra de preço e reposição de stock, integrados

Os dois gatilhos de comércio com maior intenção nem sequer precisam de campanhas personalizadas — são cidadãos de primeira classe do SDK. Quando um utilizador vê um produto, registe o alerta:

let alert = TriggerAlert(type: .priceDrop,        // or .inventory
                         productId: "WCJ-1042",
                         link: "myapp://product/WCJ-1042",
                         price: 189.00,
                         data: ["size": "M"])

PushEngage.addAlert(triggerAlert: alert) { success, error in }

O PushEngage gere a monitorização, a correspondência e o envio quando o preço desce ou o stock regressa. Se leu o nosso guia de notificações de descida de preço, este é o registo no lado da aplicação que faz com que essas campanhas sejam disparadas.

Definições do Gatilho de Queda de Preço

Uma taxonomia de eventos que escala

A dívida de instrumentação é real: seis meses depois, ninguém se lembra se o evento é addToCart, cart_add, ou CartUpdated. Escolha convenções desde o primeiro dia — nomes snake_case, ordenação object_action, chaves de propriedade singulares — e cubra o conjunto principal de comércio:

EventoPropriedades chaveCampanhas que potencia
produto_visualizadosku, categoria, preçoAbandono de navegação, personalização
produto_guardadosku, preçoDescida de preço, regresso de stock, ganchos de recuperação
carrinho_atualizadovalor_carrinho, contagem_itens, item_principalAbandono de carrinho
compra_concluidavalor_encomenda, contagem_itensCondições de saída, pós-compra, objetivos
pesquisa_realizadaconsulta, contagem_resultadosRecuperação de zero resultados, segmentos de interesse
passo_onboardingpasso, concluídoRamificação da série de onboarding

Seis eventos, instrumentados uma vez, potenciam a série de onboarding, a recuperação do carrinho, os ganchos de recuperação e todos os segmentos que a sua equipa de marketing irá pedir este ano.

Teste o ciclo antes de o entregar

Defina PushEngage.enableLogging = true em compilações de depuração e observe os eventos a sair do dispositivo. Dispare cada evento a partir de uma compilação de teste, confirme que chega à vista de eventos do painel e envie uma campanha de teste ponta a ponta por gatilho. As aplicações de exemplo do repositório SDK incluem um ecrã de gatilho funcional de onde pode copiar o fluxo. Quinze minutos de verificação aqui poupam a investigação "porque é que a campanha não disparou" mais tarde — que é geralmente um erro de digitação no nome de um evento num dos lados do contrato.

A entrega: o que o marketing gere a partir daqui

Assim que os eventos fluírem, a sua parte está feita. O marketing cria regras de gatilho, escreve cópias, define atrasos e condições de saída, testa variantes A/B e anexa o rastreamento de objetivos para atribuição de receita — tudo no painel, tudo sem um ticket. Publique a tabela de taxonomia de eventos no wiki da sua equipa como o contrato entre os dois lados. Depois, observe a fila de pedidos de tickets "pode enviar um push" a ir silenciosamente para zero — que era o objetivo desde o início. Para a estratégia que essas campanhas devem seguir, entregue à sua equipa de marketing o guia de marketing de push para aplicações.

Adicionar um Comentário

Temos todo o gosto que tenha escolhido deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com a nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

Interaja e Mantenha Visitantes Depois de Saírem do Seu Website

Aumente o valor de cada visita web com Notificações Push que são difíceis de ignorar.

  • Plano Gratuito para Sempre
  • Configuração Fácil
  • Suporte 5 Estrelas