Έχουμε αναλύσει στρατηγικά αλλού: η εποχή των μαζικών αποστολών έχει τελειώσει, και οι ειδοποιήσεις που ενεργοποιούνται από τη συμπεριφορά είναι αυτές που οι πλατφόρμες επιβραβεύουν και οι συνδρομητές ανέχονται. Αυτός ο οδηγός είναι το άλλο μισό — πώς να ενεργοποιήσετε πραγματικά τις ειδοποιήσεις push από συμβάντα εφαρμογής σε iOS, από την παρακολούθηση έως την παράδοση στο μάρκετινγκ. Είναι γραμμένο για τον προγραμματιστή που κάνει τις συνδέσεις, με τον κώδικα που θα παραδώσετε και τις συμβάσεις που τον καθιστούν συντηρήσιμο.
Η αρχιτεκτονική σε μια παράγραφο
Η εφαρμογή σας στέλνει ονομαστικά συμβάντα με ιδιότητες τύπου. Το PushEngage αντιστοιχίζει αυτά τα συμβάντα με κανόνες ενεργοποίησης που έχουν ρυθμιστεί στον πίνακα ελέγχου, και οι καμπάνιες αποστέλλονται — άμεσα, με καθυστέρηση, ή ως μια ακολουθία πολλαπλών βημάτων με συνθήκες εξόδου. Η κατανομή εργασίας είναι το ζητούμενο: η μηχανική παρακολουθεί κάθε συμβάν μία φορά· το μάρκετινγκ δημιουργεί, επεξεργάζεται και ακυρώνει καμπάνιες έναντι αυτών των συμβάντων για πάντα, χωρίς άλλη επαναδημιουργία. Η παρακολούθησή σας είναι ένα API για την ομάδα μάρκετινγκ.
trackEvent: το σήμα γενικής χρήσης
Το iOS SDK 1.0 εισήγαγε το trackEvent, τον εργάτη για προσαρμοσμένα σήματα συμπεριφοράς:
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) }
}
Τρεις κανόνες που επιβάλλει το SDK, οπότε σχεδιάστε τους από την αρχή:
- Οι τιμές ιδιοτήτων πρέπει να είναι συμβολοσειρές, αριθμοί ή boolean. Οι λίστες, οι λεξικοί πίνακες και οι ημερομηνίες απορρίπτονται από την πλευρά του πελάτη — ισοπεδώστε τις πριν τις στείλετε.
- Τα ονόματα συμβάντων και τα κλειδιά ιδιοτήτων δεν πρέπει να είναι κενά. Ο χειριστής ολοκλήρωσης σας ενημερώνει πότε αποτυγχάνει η επικύρωση· καταγράψτε το σε εκδόσεις debug.
- Οι χειριστές ολοκλήρωσης φτάνουν σε μια ουρά παρασκηνίου. Στείλτε στην κύρια ουρά πριν αγγίξετε το UI.
Περάστε το profileId όποτε ο χρήστης αναγνωρίζεται — αυτό του επιτρέπει να ακολουθεί μια καμπάνια από πελάτη σε συσκευές αντί να ακολουθεί μια συσκευή.
sendTriggerEvent: σύνδεση κλασικών καμπανιών ενεργοποίησης
Για καμπάνιες που δημιουργούνται στον κατασκευαστή ενεργοποίησης του πίνακα ελέγχου — εγκατάλειψη καλαθιού, εγκατάλειψη περιήγησης, προσαρμοσμένα ταξίδια — η εφαρμογή στέλνει το sendTriggerEvent με τα ονόματα καμπάνιας και συμβάντος που έχει ρυθμίσει ο υπεύθυνος μάρκετινγκ, συν τα tokens δεδομένων που θα αποδώσει το πρότυπο ειδοποίησης:
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
}
Τα tokens data εισρέουν στο κείμενο της ειδοποίησης — έτσι το “Το μπουφάν σας από κερωμένο καμβά περιμένει” εξατομικεύεται χωρίς ο υπεύθυνος μάρκετινγκ να αγγίζει κώδικα. Αναλύσαμε την πλήρη ακολουθία ανάκτησης καλαθιού στο εγχειρίδιο ανάκτησης καλαθιού για εφαρμογές κινητών· αυτή η κλήση είναι ο κινητήρας της.
addAlert: μείωση τιμής και επιστροφή σε απόθεμα, ενσωματωμένα
Οι δύο εμπορικές ενεργοποιήσεις με την υψηλότερη πρόθεση δεν χρειάζονται καν προσαρμοσμένες καμπάνιες — είναι πολίτες πρώτης γραμμής του SDK. Όταν ένας χρήστης παρακολουθεί ένα προϊόν, καταχωρήστε την ειδοποίηση:
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 χειρίζεται την παρακολούθηση, την αντιστοίχιση και την αποστολή όταν η τιμή πέφτει ή επιστρέφει το απόθεμα. Αν έχετε διαβάσει τον οδηγό ειδοποιήσεων μείωσης τιμής, αυτή είναι η καταχώρηση από την πλευρά της εφαρμογής που ενεργοποιεί αυτές τις καμπάνιες.
Μια ταξινομία συμβάντων που κλιμακώνεται
Το χρέος οργάνωσης είναι πραγματικό: έξι μήνες μετά, κανείς δεν θυμάται αν το συμβάν είναι addToCart, cart_add, ή CartUpdated. Επιλέξτε συμβάσεις από την πρώτη μέρα — ονόματα snake_case, σειρά object_action, ενιαία κλειδιά ιδιοτήτων — και καλύψτε το βασικό σύνολο εμπορίου:
| Συμβάν | Βασικές ιδιότητες | Εκστρατείες που τροφοδοτεί |
|---|---|---|
product_viewed | sku, κατηγορία, τιμή | Εγκατάλειψη περιήγησης, εξατομίκευση |
product_saved | sku, τιμή | Πτώση τιμής, επιστροφή σε απόθεμα, ειδοποιήσεις επανενεργοποίησης |
cart_updated | τιμή_καλαθιού, αριθμός_ειδών, κορυφαίο_είδος | Εγκατάλειψη καλαθιού |
purchase_completed | αξία_παραγγελίας, αριθμός_ειδών | Συνθήκες εξόδου, μετά την αγορά, στόχοι |
search_performed | ερώτημα, αριθμός_αποτελεσμάτων | Ανάκτηση μηδενικών αποτελεσμάτων, τμήματα ενδιαφέροντος |
onboarding_step | βήμα, ολοκληρώθηκε | Διακλάδωση σειράς εισαγωγής |
Έξι συμβάντα, οργάνωση μία φορά, τροφοδοτούν τη σειρά εισαγωγής, ανάκτηση καλαθιού, ειδοποιήσεις επανενεργοποίησης και κάθε τμήμα που θα ζητήσει η ομάδα μάρκετινγκ σας φέτος.
Δοκιμάστε τον βρόχο πριν τον παραδώσετε
Ορίστε το PushEngage.enableLogging = true σε εκδόσεις εντοπισμού σφαλμάτων και παρακολουθήστε τα συμβάντα να φεύγουν από τη συσκευή. Εκπέμψτε κάθε συμβάν από μια δοκιμαστική έκδοση, επιβεβαιώστε ότι φτάνει στην προβολή συμβάντων του πίνακα ελέγχου και στείλτε μία ολοκληρωμένη δοκιμαστική καμπάνια ανά ενεργοποιητή. Οι εφαρμογές παραδείγματος του αποθετηρίου SDK περιλαμβάνουν μια οθόνη ενεργοποιητή που λειτουργεί από την οποία μπορείτε να αντιγράψετε τη ροή. Δεκαπέντε λεπτά επαλήθευσης εδώ εξοικονομούν την έρευνα “γιατί δεν πυροδότησε η καμπάνια” αργότερα — η οποία είναι συνήθως ένα τυπογραφικό λάθος στο όνομα ενός συμβάντος στη μία πλευρά της σύμβασης.
Η παράδοση: τι ιδιοποιείται το μάρκετινγκ από εδώ και πέρα
Μόλις τα συμβάντα ρέουν, το δικό σας μέρος έχει τελειώσει. Το μάρκετινγκ δημιουργεί κανόνες ενεργοποίησης, γράφει κείμενο, ορίζει καθυστερήσεις και συνθήκες εξόδου, δοκιμάζει A/B παραλλαγές και επισυνάπτει παρακολούθηση στόχων για απόδοση εσόδων — όλα στον πίνακα ελέγχου, όλα χωρίς εισιτήριο. Δημοσιεύστε τον πίνακα ταξινομίας συμβάντων στο wiki της ομάδας σας ως τη σύμβαση μεταξύ των δύο πλευρών. Στη συνέχεια, παρακολουθήστε την ουρά αιτημάτων για εισιτήρια “μπορείς να στείλεις μια ειδοποίηση” να πηγαίνουν αθόρυβα στο μηδέν — που ήταν ο σκοπός από την αρχή. Για τη στρατηγική που πρέπει να ακολουθούν αυτές οι καμπάνιες, δώστε στην ομάδα μάρκετινγκ σας τον οδηγό μάρκετινγκ ειδοποιήσεων εφαρμογής.