Οι ειδοποιήσεις push είναι ένα ζωτικής σημασίας εργαλείο μάρκετινγκ για οποιονδήποτε διαθέτει εφαρμογή για κινητά.
Είναι ο καλύτερος τρόπος επικοινωνίας με τους χρήστες σας, στέλνοντας επείγοντα μηνύματα στα κινητά τους τηλέφωνα.
Μια εφαρμογή για κινητά μπορεί να στείλει σε έναν χρήστη μια ειδοποίηση push, η οποία είναι ένα σύντομο αναδυόμενο μήνυμα που εμφανίζεται στο smartphone του ακόμα και όταν η εφαρμογή δεν είναι ανοιχτή.
Αυτές οι ειδοποιήσεις μπορούν να περιλαμβάνουν υπενθυμίσεις, ενημερώσεις, εκπτώσεις και άλλα.
Έχουν δημιουργηθεί για να τραβούν τα βλέμματα των χρηστών. Ο τίτλος, το μήνυμα, η εικόνα και η διεύθυνση URL είναι όλα πιθανά στοιχεία μιας ειδοποίησης push. Emoji, λογότυπα και άλλα πράγματα μπορούν επίσης να είναι μέρος τους.
Λειτουργικά συστήματα όπως το Apple OS και το Google Android έχουν διαφορετικές διεπαφές για ειδοποιήσεις push.
Οι ειδοποιήσεις push μπορούν να χρησιμοποιηθούν για την προώθηση της αφοσίωσης, την ενίσχυση της χρήσης εφαρμογών, την επίδραση των μετατροπών και πολλά άλλα.
Οι επιλογές είναι πραγματικά απεριόριστες.
Οι ειδοποιήσεις push για κινητές συσκευές, γνωστές και ως ειδοποιήσεις push για κινητές συσκευές, μπορούν να συμπληρώσουν τη χρήση καναλιών όπως email, SMS και ηλεκτρονικές ειδοποιήσεις push με μια σειρά από ειδικά πλεονεκτήματα.
Θα λάβετε μια γρήγορη περιγραφή της υπηρεσίας ειδοποιήσεων σε αυτήν την ανάρτηση και πληροφορίες σχετικά με τον στόχο, τον σχεδιασμό υψηλού επιπέδου, τις ειδικές δυνατότητες και πολλά άλλα.
Σκοπός
Για να αναπτύξετε μια υπηρεσία ειδοποιήσεων που μπορεί να διανέμει αποτελεσματικά μηνύματα προϊόντος σε χρήστη σε διάφορα κανάλια
απαιτήσεις:
- Αποστολή API: Δημοσιεύστε ένα εξουσιοδοτημένο τελικό σημείο, έτσι ώστε κάθε backend και microservice να μπορούν να ξεκινήσουν την παράδοση ειδοποιήσεων.
- Συμβατά κανάλια: Υποστήριξη για την παράδοση ειδοποιήσεων σε οποιοδήποτε κανάλι που δημοσιεύει ένα API, όπως email, μήνυμα κειμένου και push.
- Προτιμήσεις χρήστη: Επιτρέψτε στους χρήστες να επιλέξουν τις προτιμήσεις χρήστη για κάθε κανάλι και ειδοποίηση.
- Όρια για συμμόρφωση με την υπηρεσία μεταγενέστερης ροής: Αποφύγετε να έχετε τη δική σας ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ ή η υπηρεσία SMS στραγγαλίστηκε ή σταμάτησε.
- Scalable: Επιτρέπει (θεωρητικά) άπειρη οριζόντια κλιμάκωση.
Αρχιτεκτονική υψηλού επιπέδου
Ας υποθέσουμε ότι ο κωδικός σας υποτίθεται ότι ειδοποιεί κάποιον:
- Το τελικό σημείο POST /send καλείται από τον κώδικά σας. Για κάθε διαθέσιμο κανάλι, το αίτημα περιλαμβάνει το userId του παραλήπτη, τον τύπο της ειδοποίησης και το περιεχόμενό της.
- Η ροή διαπιστευτηρίων πελάτη OAuth2 χρησιμοποιείται από το τελικό σημείο /send για τον έλεγχο ταυτότητας του αιτήματος.
- Στη συνέχεια, ζητούνται από τη βάση δεδομένων οι επιλογές ειδοποίησης του χρήστη. Οι προτιμήσεις δείχνουν εάν ο χρήστης είναι εγγεγραμμένος ή όχι σε ένα συγκεκριμένο κανάλι και ειδοποίηση.
- Από τη βάση δεδομένων, θα διαβάσει χαρακτηριστικά χρήστη, όπως διευθύνσεις email και αριθμούς τηλεφώνου.
- Αυτό το τελικό σημείο θα δημιουργήσει ένα αντικείμενο μηνύματος που περιλαμβάνει χαρακτηριστικά χρήστη, κανάλια και περιεχόμενο για συγκεκριμένο κανάλι. Ωστόσο, δεν θα περιλαμβάνει απενεργοποιημένα κανάλια. Στη συνέχεια, το μήνυμα παραδίδεται σε μια υπηρεσία ανεμιστήρα.
- Τα εισερχόμενα μηνύματα διαδίδονται στις ουρές εργασίας μέσω της υπηρεσίας fanout. Ωστόσο, υπάρχει φιλτράρισμα για να αγνοηθούν οι ουρές εργασιών για κανάλια που δεν προσδιορίζονται στο μήνυμα.
- Κάθε κανάλι έχει έναν επεξεργαστή και μια ουρά εργασίας. Ο επεξεργαστής αναλαμβάνει την εργασία και στη συνέχεια ζητά την κατάλληλη υπηρεσία, όπως μια υπηρεσία ηλεκτρονικού ταχυδρομείου συναλλαγών ή SMS.
Κύρια στοιχεία Αρχιτεκτονικής
ΑΝΑΡΤΗΣΗ/απεστάλη
Μπορεί κάλλιστα να έχετε παρατηρήσει ότι μόνο το userId και ούτε η διεύθυνση email ούτε ο αριθμός τηλεφώνου περιλαμβάνονται στο αίτημα για αυτό το τελικό σημείο. Αυτό επιτρέπει στις υπηρεσίες ειδοποιήσεων να παραμένουν ανώνυμες στους χρήστες σας.
Για να εξασφαλιστεί η επεκτασιμότητα, το τελικό σημείο τοποθετείται πίσω από α φορτιστής φορτίου.
Ο τυπικός έλεγχος ταυτότητας που αντιμετωπίζει ο χρήστης δεν παρέχει προστασία για το τελικό σημείο.
Πρέπει να χρησιμοποιήσετε μια ξεχωριστή μέθοδο ελέγχου ταυτότητας γνωστή ως ροή διαπιστευτηρίων πελάτη OAuth2 που χρησιμοποιείται για την επικοινωνία διακομιστή-προς-διακομιστή, καθώς η υπηρεσία που υποβάλλει το αίτημα είναι το ίδιο το λογισμικό.
Η εφαρμογή σας θα παρέχει ειδοποιήσεις σε πολλά διαφορετικά μέρη. Μπορείτε να χρησιμοποιήσετε τη συνάρτηση αποστολής σχεδόν οπουδήποτε, όπως από μια νέα βάση κώδικα ή τη ροή εργασιών κατασκευής σας, εφαρμόζοντάς την ως τελικό σημείο πίσω από έναν εξισορροπητή φορτίου, ο οποίος εγγυάται ότι είναι ανεξάρτητη κλιμάκωση.
PUT/προτιμήσεις χρήστη
Χρησιμοποιήστε ένα ζεύγος κλειδιών/τιμών ή μια βάση δεδομένων NoSQL που είναι εξαιρετικά επεκτάσιμη. Μορφοποιήστε τις εγγραφές ως εξής: KEY: δείγμα αναγνωριστικού χρήστη: αναγνωριστικό ειδοποίησης δείγματος, VALUE: ["email", "state: true", "SMS", "state: false", κανάλι: "email", "email", κατάσταση : αληθινό»]
Εάν υπάρχουν "false" τιμές στις εγγραφές, το τελικό σημείο μετάδοσης θα αποκλείσει το αντίστοιχο κανάλι από το μήνυμα που παραδίδεται στο fanout. Εάν δεν υπάρχει εγγραφή για ένα κανάλι, ο χρήστης δεν έχει δηλώσει ρητά τις προτιμήσεις του. Πρέπει να συναινέσετε στην προεπιλογή σε αυτό το σενάριο.
Ο χρήστης μπορεί να τροποποιήσει τα δεδομένα στη βάση δεδομένων προτιμήσεων χρήστη χρησιμοποιώντας τη διεπαφή χρήστη σας και ένα κανονικό τελικό σημείο που προστατεύεται από τις τυπικές διαδικασίες ελέγχου ταυτότητας.
Οι χρήστες θα εκνευριστούν και θα αναγκαστούν να χαρακτηρίσουν τις ειδοποιήσεις σας ως ανεπιθύμητες ή να τις θέσουν σε σίγαση, εάν δεν τους παρέχετε την επιλογή να αλλάξουν τις προτιμήσεις ειδοποιήσεων. Ως αποτέλεσμα, η εμπειρία χρήστη σας θα πληγεί περαιτέρω και οι υπηρεσίες παράδοσης email ή SMS θα μπορούσαν να αναστείλουν τον λογαριασμό σας.
Fan Out
Το Fanout αντιγράφει ένα μήνυμα και το διανέμει σε διαφορετικές τοποθεσίες. Είναι προσιτά και πολύ επεκτάσιμα. Χρησιμοποιήστε το SNS στο AWS. Χρησιμοποιήστε το Pub/Sub στο Azure και θέματα και συνδρομές στο Google Cloud Platform.
Για να αποτρέψετε την αποστολή άσκοπων μηνυμάτων σε εξαιρούμενες ουρές εργασιών καναλιών, μπορείτε να διαμορφώσετε το φιλτράρισμα μεταξύ του fanout και των ουρών εργασίας. Για παράδειγμα, στο AWS SNS, μπορείτε να καθορίσετε ότι η ουρά εργασίας email θα πρέπει να λαμβάνει το μήνυμα fanout μόνο εάν έχει την τιμή "email" στο πεδίο "κανάλια".
Ακόμα κι αν μπορούσατε να δημιουργήσετε κώδικα για να στείλετε το ίδιο μήνυμα στις απαιτούμενες ουρές εργασίας, το fanout είναι πιο αποτελεσματικό και απαιτεί λιγότερη κωδικοποίηση. Το Fanout προσφέρει επίσης την ευκολία προσθήκης και αφαίρεσης ουρών, επιτρέποντάς σας να επεκτείνετε και να αναδιοργανώσετε τα κανάλια σας.
Επεξεργασία Εργασίας
Τα μηνύματα αποθηκεύονται σε ουρές σε αναμονή επεξεργασίας από τους επεξεργαστές εργασιών σας. Είναι επίσης προσιτά και πολύ επεκτάσιμα. Οι επεξεργαστές εργασιών είναι κομμάτια κώδικα που επεξεργάζονται μηνύματα από τις ουρές εργασιών. Ανάλογα με τον όγκο των μηνυμάτων στην ουρά, μπορούν να κλιμακωθούν.
Ο υπεύθυνος επεξεργασίας εργασιών θα πρέπει να πραγματοποιήσει μια κλήση API στον κατάλληλο πάροχο για να παραδώσει την ειδοποίηση στο σενάριό μας μέσω μιας υπηρεσίας ηλεκτρονικού ταχυδρομείου συναλλαγών.
Η πλειονότητα των παρόχων παράδοσης μηνυμάτων email, SMS και παρόμοιων μηνυμάτων έχει αυστηρές απαιτήσεις για την ποσότητα και το μέγεθος των μηνυμάτων που στέλνετε. Επιπλέον, θέλετε να τα εξετάσετε και να ρυθμίσετε διεξοδικά τις κατάλληλες διαδικασίες. Ακολουθούν οι συμβουλές μας για το πώς να αποφύγετε τον τερματισμό από το AWS SES.
Μπορείτε να ορίσετε έναν μέγιστο αριθμό διεκπεραιωτών εργασιών για να αποτρέψετε την υπέρβαση των ανώτατων τιμών των υπηρεσιών παράδοσης.
Περαιτέρω βελτιώσεις
Μπορείτε να ρίξετε μια ματιά σε ένα σωρό από αυτά τα αντικείμενα.
- Χρειάζονται τα δικά τους API, πίνακες κ.λπ. προκειμένου να έχουν μια κλιμακούμενη υπηρεσία ειδοποιήσεων εντός εφαρμογής.
- Συγκέντρωση και εμφάνιση της αναφοράς ανοίγματος/κλικ
- Αφαίρεση του περιεχομένου των ειδοποιήσεων από τον κώδικα και αφήστε την ομάδα του προϊόντος και του σχεδιασμού σας να τροποποιήσει οπτικά τις ειδοποιήσεις χωρίς αλλαγή κώδικα
- Χωρίς να αλλάξετε κανέναν κωδικό, η ομάδα σας μπορεί να χρησιμοποιήσει τον πίνακα ελέγχου για να ενεργοποιήσει ή να απενεργοποιήσει τις ειδοποιήσεις για ορισμένα κανάλια.
Πλεονεκτήματα της Push Notification
- Ενισχύστε την αλληλεπίδραση με τον χρήστη: Οι ενημερώσεις και το νέο υλικό θα κρατήσουν το ενδιαφέρον των χρηστών σας.
- Ενισχύστε την ορατότητα της επικοινωνίας: Βεβαιωθείτε ότι τα μηνύματά σας λαμβάνονται αμέσως, ακόμη και όταν οι άνθρωποι δεν είναι ενεργοί. Στείλτε επείγουσες ειδοποιήσεις και παρέχετε στους χρήστες μια ομαλή εμπειρία.
- Διατήρηση διατήρησης: Χρησιμοποιήστε ειδοποιήσεις push που είναι σαφώς ορατές για να παροτρύνετε τους χρήστες σας να επιστρέψουν. Μπορείτε να αυξήσετε τη διατήρηση των χρηστών και να μειώσετε την ανατροπή, σπρώχνοντας τους πελάτες πίσω στον ιστότοπο και την εφαρμογή σας.
- Βελτιώστε τις μετατροπές: Δημιουργώντας καμπάνιες ώθησης γύρω από βραβεία εντός εφαρμογής, προσφορές, εκπτώσεις ή άλλες προσφορές, μπορείτε να αυξήσετε τις πωλήσεις.
- Κλιμακώστε την επιχείρησή σας: Η επικοινωνιακή σας προσέγγιση πρέπει να κλιμακώνεται καθώς το κοινό σας διευρύνεται. Καθώς η βάση πελατών σας επεκτείνεται, οι ειδοποιήσεις push είναι μια αποτελεσματική μέθοδος για να μείνετε σε επαφή μαζί τους.
- Κάντε την εμπειρία χρήστη συνδεδεμένη (UX): Παρέχοντας ειδοποιήσεις συναλλαγών στους καταναλωτές για να τους κρατάτε ενήμερους και παρέχοντας μια ομαλή διακαναλική εμπειρία, μπορείτε να μειώσετε την τριβή καθ' όλη τη διάρκεια της διαδρομής του πελάτη.
Συμπέρασμα
Συμπερασματικά, αποκτήσαμε γνώσεις σχετικά με την αρχιτεκτονική μιας κλιμακούμενης υπηρεσίας ειδοποιήσεων push. Εξετάσαμε επίσης τα εργαλεία που παρέχονται από όλους τους κύριους παρόχους υπηρεσιών cloud, ώστε να μπορείτε να βασίζετε τις ειδοποιήσεις σας σε αυτά.
Παρά το γεγονός ότι προσπάθησα να σας δώσω μια επισκόπηση της αρχιτεκτονικής του συστήματος ειδοποιήσεων push, υπάρχουν πολλά περισσότερα που συμβαίνουν στα παρασκήνια.
Ελπίζω ειλικρινά να σας φανούν χρήσιμες αυτές οι πληροφορίες και να τις αξιοποιήσετε σωστά.
Αφήστε μια απάντηση