We hebben de strategische argumentatie elders uiteengezet: het tijdperk van massale verzendingen is voorbij, en gedragsgestuurde meldingen zijn wat platforms belonen en abonnees tolereren. Deze handleiding is het andere deel — hoe je daadwerkelijk pushmeldingen activeert vanuit app-gebeurtenissen op iOS, van instrumentatie tot de overdracht naar marketing. Het is geschreven voor de ontwikkelaar die de bedrading doet, met de code die je gaat verzenden en de conventies die het onderhoudbaar houden.
De architectuur in één paragraaf
Je app vuurt benoemde gebeurtenissen af met getypeerde eigenschappen. PushEngage matcht die gebeurtenissen met triggerregels die in het dashboard zijn geconfigureerd, en campagnes worden verzonden — onmiddellijk, met vertraging, of als een meerstapsreeks met exit-voorwaarden. De taakverdeling is het punt: engineering instrumenteert elke gebeurtenis één keer; marketing creëert, bewerkt en beëindigt campagnes tegen die gebeurtenissen voor altijd, zonder een nieuwe build. Je instrumentatie is een API voor je marketingteam.
trackEvent: het signaal voor algemeen gebruik
De iOS SDK 1.0 introduceerde trackEvent, het werkpaard voor aangepaste gedragssignalen:
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) }
}
Drie regels die de SDK afdwingt, dus ontwerp ze vanaf het begin:
- Eigenschapwaarden moeten strings, getallen of booleans zijn. Arrays, woordenboeken en datums worden aan de clientzijde afgewezen — maak ze plat voordat je ze verzendt.
- Gebeurtenisnamen en eigenschapssleutels mogen niet leeg zijn. De voltooiingshandler vertelt je wanneer de validatie mislukt; log dit in debug-builds.
- Voltooiingshandlers komen aan op een achtergrondwachtrij. Dispatch naar de hoofdthread voordat je de UI aanraakt.
Geef profileId mee wanneer de gebruiker is geïdentificeerd — dit is wat een campagne in staat stelt een klant over apparaten heen te volgen in plaats van een apparaat te volgen.
sendTriggerEvent: klassieke triggercampagnes verbinden
Voor campagnes die zijn gebouwd in de triggerbouwer van het dashboard — winkelwagenverlating, browseverlating, aangepaste reizen — vuurt de app sendTriggerEvent af met de campagne- en gebeurtenisnamen die de marketeer heeft geconfigureerd, plus de datatokens die de meldingssjabloon zal renderen:
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
}
De data tokens stromen in de meldingstekst — zo wordt "Je Waxed Canvas Jas wacht" gepersonaliseerd zonder dat de marketeer code hoeft aan te raken. We hebben de volledige winkelwagenherstelreeks behandeld in de handleiding voor winkelwagenverlating in mobiele apps; deze aanroep is de motor ervan.
addAlert: prijsdaling en weer op voorraad, ingebouwd
De twee meest waardevolle e-commerce triggers vereisen niet eens aangepaste campagnes — ze zijn eersteklas SDK-burgers. Wanneer een gebruiker een product volgt, registreer dan de waarschuwing:
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 }
PushEngage beheert het volgen, het matchen en het verzenden wanneer de prijs daalt of de voorraad terugkeert. Als je onze handleiding voor prijsdaler-meldingen hebt gelezen, is dit de app-side registratie die ervoor zorgt dat die campagnes worden geactiveerd.
Een gebeurtenistaxonomie die schaalt
Instrumentatiedebt is reëel: zes maanden later herinnert niemand zich meer of de gebeurtenis addToCart, cart_add of CartUpdated is. Kies vanaf dag één conventies — snake_case namen, object_actie volgorde, enkelvoudige eigenschapsnamen — en dek de kern van de e-commerce set af:
| Gebeurtenis | Belangrijkste eigenschappen | Campagnes die het aandrijft |
|---|---|---|
product_bekeken | sku, categorie, prijs | Browse-verlating, personalisatie |
product_opgeslagen | sku, prijs | Prijsdaling, weer op voorraad, win-back hooks |
winkelwagen_bijgewerkt | winkelwagen_waarde, aantal_artikelen, top_artikel | Winkelwagen-abandonment |
aankoop_voltooid | bestelwaarde, aantal_artikelen | Exit-voorwaarden, na aankoop, doelen |
zoekopdracht_uitgevoerd | query, aantal_resultaten | Herstel bij nul resultaten, interessesegmenten |
onboarding_stap | stap, voltooid | Onboarding-serie vertakking |
Zes gebeurtenissen, één keer geïnstrumenteerd, drijven de onboarding-serie, winkelwagenherstel, win-back hooks en elk segment dat uw marketingteam dit jaar zal vragen aan.
Test de lus voordat u deze overdraagt
Stel PushEngage.enableLogging = true in voor debug-builds en kijk hoe gebeurtenissen het apparaat verlaten. Vuur elke gebeurtenis af vanuit een test-build, bevestig dat deze arriveert in de gebeurtenisweergave van het dashboard en stuur één end-to-end testcampagne per trigger. De voorbeeldapps in de SDK-repo bevatten een werkend trigger-scherm waarvan u de flow kunt overnemen. Vijftien minuten verificatie hier bespaart het onderzoek naar 'waarom de campagne niet werd geactiveerd' later — wat meestal een typefout in de gebeurtenisnaam aan één kant van het contract is.
De overdracht: wat marketing vanaf hier beheert
Zodra de gebeurtenissen stromen, is uw deel klaar. Marketing bouwt triggerregels, schrijft copy, stelt vertragingen en exit-voorwaarden in, A/B-test varianten en koppelt doeltracking voor omzetattributie — allemaal in het dashboard, allemaal zonder ticket. Publiceer de gebeurtenis-taxonomie-tabel in uw teamwiki als het contract tussen de twee partijen. Kijk vervolgens hoe de aanvraagwachtrij voor 'kun je een push sturen'-tickets stilzwijgend naar nul gaat — wat het oorspronkelijke doel was. Voor de strategie die deze campagnes moeten volgen, overhandig uw marketingteam de app push marketinggids.