Já apresentamos o argumento estratégico em outro lugar: a era do "blast" acabou, e as notificações acionadas por comportamento são o que as plataformas recompensam e os assinantes toleram. Este guia é a outra metade — como disparar notificações push de eventos de aplicativo no iOS, da instrumentação à entrega para o marketing. Ele é escrito para o desenvolvedor que faz a conexão, com o código que você enviará e as convenções que o mantêm sustentável.
A arquitetura em um parágrafo
Seu aplicativo dispara eventos nomeados com propriedades tipadas. O PushEngage compara esses eventos com regras de gatilho configuradas no painel, e as campanhas são enviadas — imediatamente, com atraso ou como uma sequência de várias etapas com condições de saída. A divisão do trabalho é o ponto: a engenharia instrumenta cada evento *uma vez*; o marketing cria, edita e encerra campanhas contra esses eventos para sempre, sem outra compilação. Sua instrumentação é uma API para sua equipe de marketing.
trackEvent: o sinal de propósito geral
O SDK do 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, então projete para elas desde o início:
- Os valores das propriedades devem ser strings, números ou booleanos. Arrays, dicionários e datas são rejeitados no lado do cliente — achate antes de enviar.
- Nomes de eventos e chaves de propriedade não podem estar vazios. O manipulador de conclusão informa quando a validação falha; registre-o em compilações de depuração.
- Os manipuladores de conclusão chegam em uma fila de segundo plano. Despache para a fila principal antes de tocar na interface do usuário.
Passe profileId sempre que o usuário for identificado — é isso que permite que uma campanha siga um cliente entre dispositivos em vez de seguir um dispositivo.
sendTriggerEvent: conectando campanhas de gatilho clássicas
Para campanhas criadas no construtor de gatilhos do painel — abandono de carrinho, abandono de navegação, jornadas personalizadas — o aplicativo dispara sendTriggerEvent com os nomes de campanha e evento que o profissional de marketing configurou, mais os tokens de dados que o modelo de notificação 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 data fluem para a cópia da notificação — é assim que “Sua Jaqueta de Lona Encerada está esperando” é personalizada sem que o profissional de marketing toque no código. Percorremos a sequência completa de recuperação de carrinho no playbook de abandono de carrinho do aplicativo móvel; esta chamada é o seu motor.
addAlert: queda de preço e volta ao estoque, integrados
Os dois gatilhos de comércio de maior intenção nem precisam de campanhas personalizadas — eles são cidadãos de primeira classe do SDK. Quando um usuário visualiza um produto, registre 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 cuida da visualização, da correspondência e do envio quando o preço cai ou o estoque retorna. Se você leu nosso guia de notificação de queda de preço, este é o registro no lado do aplicativo que faz essas campanhas serem disparadas.
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 em snake_case, ordem objeto_ação, chaves de propriedade singulares — e cubra o conjunto principal de comércio:
| Evento | Propriedades chave | Campanhas que ele impulsiona |
|---|---|---|
product_viewed | sku, categoria, preço | Abandono de navegação, personalização |
product_saved | sku, preço | Queda de preço, de volta em estoque, ganchos de reengajamento |
cart_updated | valor_carrinho, contagem_itens, item_principal | Abandono de carrinho |
purchase_completed | valor_pedido, contagem_itens | Condições de saída, pós-compra, metas |
search_performed | consulta, contagem_resultados | Recuperação de zero resultados, segmentos de interesse |
onboarding_step | etapa, concluída | Ramificação da série de onboarding |
Seis eventos, instrumentados uma vez, impulsionam a série de onboarding, recuperação de carrinho, ganchos de reengajamento e todos os segmentos que sua equipe de marketing solicitar este ano.
Teste o loop antes de entregá-lo
Defina PushEngage.enableLogging = true em builds de depuração e observe os eventos saírem do dispositivo. Dispare cada evento de um build de teste, confirme se ele chega na visualização de eventos do painel e envie uma campanha de teste ponta a ponta por gatilho. Os aplicativos de exemplo do repositório SDK incluem uma tela de gatilho funcional da qual você pode copiar o fluxo. Quinze minutos de verificação aqui economizam a investigação de "por que a campanha não disparou" mais tarde — que geralmente é um nome de evento digitado incorretamente em um lado do contrato.
A entrega: o que o marketing possui a partir daqui
Uma vez que os eventos fluem, 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 metas para atribuição de receita — tudo no painel, tudo sem um ticket. Publique a tabela de taxonomia de eventos em seu wiki de equipe como o contrato entre os dois lados. Em seguida, observe a fila de solicitações de tickets "você pode enviar um push" silenciosamente ir para zero — que era o objetivo desde o início. Para a estratégia que essas campanhas devem seguir, entregue à sua equipe de marketing o guia de marketing de push para aplicativos.