הודעות דחיפה הן כלי שיווקי חיוני לכל מי שיש לו אפליקציה לנייד.
זוהי הדרך הטובה ביותר לתקשר עם המשתמשים שלך, לשלוח הודעות דחופות לטלפונים הניידים שלהם.
אפליקציה לנייד יכולה לשלוח למשתמש הודעת דחיפה, שהיא הודעה קופצת קצרה המופיעה בסמארטפון שלו גם כשהאפליקציה לא פתוחה.
התראות אלו יכולות לכלול תזכורות, עדכונים, הנחות ועוד.
הם נוצרו כדי לתפוס את עיני המשתמשים. כותרת, הודעה, תמונה וכתובת אתר הם כולם מרכיבים אפשריים של הודעת דחיפה. גם אמוג'ים, לוגו ודברים אחרים יכולים להיות חלק מהם.
למערכות הפעלה כמו Apple OS ו-Google Android יש ממשקים מגוונים להתראות דחיפה.
ניתן להשתמש בהודעות דחיפה כדי לקדם מעורבות, להגביר את השימוש באפליקציה, להשפיע על המרות ועוד הרבה יותר.
האפשרויות הן באמת בלתי מוגבלות.
הודעות דחיפה למכשירים ניידים, הידועות גם כהודעות דחיפה למכשירים ניידים, יכולות להשלים את השימוש שלך בערוצים כמו דואר אלקטרוני, SMS והודעות דחיפה מקוונות עם מספר יתרונות מיוחדים.
תקבלו תיאור מהיר של שירות ההתראות בפוסט זה ומידע על העיצוב האובייקטיבי שלו, ברמה גבוהה, התכונות המיוחדות שלו ועוד.
מַטָרָה
לפתח שירות התראות שיכול להפיץ ביעילות הודעות מוצר למשתמש במגוון ערוצים
דרישות:
- שליחת ממשק API: פרסם נקודת קצה מורשית כך שכל קצה אחורי ומיקרו-שירות יוכלו להתחיל לשלוח הודעות.
- ערוצים תואמים: תמיכה בהעברת התראות לכל ערוץ שמפרסם ממשק API, כגון דואר אלקטרוני, הודעת טקסט ודחיפה.
- העדפות המשתמש: אפשר למשתמשים לבחור את העדפות המשתמש שלהם עבור כל ערוץ והתראה.
- מגבלות לתאימות לשירות במורד הזרם: הימנע ממך אמייל או שירות SMS הוחנק או הופסק.
- ניתן להרחבה: אפשר (תיאורטית) קנה מידה אופקי אינסופי.
אדריכלות ברמה גבוהה
נניח שהקוד שלך אמור להודיע למישהו:
- נקודת הקצה POST /send מופעלת על ידי הקוד שלך. עבור כל ערוץ זמין, הבקשה כוללת את UserId של הנמען, סוג ההתראה והתוכן שלה.
- זרימת האישורים של לקוח OAuth2 משמשת את נקודת הקצה /send כדי לאמת את הבקשה.
- לאחר מכן מתבקשות אפשרויות ההתראה של המשתמש ממסד הנתונים. ההעדפות מראות אם המשתמש רשום לערוץ מסוים או לא.
- מתוך מסד הנתונים, הוא יקרא מאפייני משתמש כמו כתובות דוא"ל ומספרי טלפון.
- נקודת קצה זו תיצור אובייקט הודעה הכולל מאפייני משתמש, ערוצים ותוכן ספציפי לערוץ. עם זאת, הוא לא יכלול ערוצים מושבתים. לאחר מכן, ההודעה נמסרת לשירות מאוורר.
- הודעות נכנסות מופצות לתורי עבודה באמצעות שירות fanout. עם זאת, נעשה סינון כדי להתעלם מתורי עבודה עבור ערוצים שאינם מצוינים בהודעה.
- לכל ערוץ יש מעבד ותור עבודה. המעבד לוקח את המשימה ואז מבקש את השירות המתאים, כגון אימייל עסקה או שירות SMS.
אלמנטים אדריכליים עיקריים
פוסט/שלח
יכול מאוד להיות ששמת לב שרק ה-userId ולא כתובת האימייל או מספר הטלפון כלולים בבקשה לנקודת קצה זו. זה מאפשר לשירותי ההתראות להישאר אנונימיים למשתמשים שלך.
כדי להבטיח מדרגיות, נקודת הסיום ממוקמת מאחורי a איזון עומס.
האימות האופייני למשתמש שלך אינו מספק הגנה לנקודת הקצה.
עליך להשתמש בשיטת אימות נפרדת המכונה OAuth2 Client Credential Flow המשמשת לתקשורת שרת לשרת מאחר שהשירות שמגיש את הבקשה הוא התוכנה עצמה.
האפליקציה שלך תספק הודעות במקומות רבים ושונים. אתה יכול להשתמש בפונקציית השליחה כמעט בכל מקום, כמו מבסיס קוד חדש או זרימת העבודה של הבנייה שלך, על ידי הטמעתה כנקודת קצה מאחורי מאזן עומסים, מה שמבטיח שהיא ניתנת להרחבה באופן עצמאי.
PUT/העדפות משתמש
השתמש בזוג מפתח/ערך או מסד נתונים NoSQL שניתן להרחבה במיוחד. עצב את הרשומות באופן הבא: KEY: מזהה משתמש לדוגמה: מזהה התראה לדוגמה, VALUE: ["email", "state: true", "SMS", "state: false", ערוץ: "email", "email", state : נכון"]
אם קיימים ערכים "שקריים" ברשומות, נקודת הסיום של השידור תוציא את הערוץ המתאים מההודעה שנמסרה ל-fanout. אם אין תיעוד לערוץ, המשתמש לא ציין במפורש את העדפותיו. עליך להסכים לברירת מחדל בתרחיש זה.
המשתמש יכול לשנות את הנתונים במסד הנתונים של העדפות המשתמש באמצעות ממשק המשתמש שלך ונקודת קצה רגילה שמאובטחת על ידי נהלי האימות הסטנדרטיים שלך.
משתמשים יתעצבנו וייאלצו להגדיר את ההתראות שלך כדואר זבל או להשתיק אותן אם לא תספק להם את האפשרות לשנות את העדפות ההתראות שלהם. חווית המשתמש שלך תיפגע עוד יותר כתוצאה מכך, ושירותי משלוח דואר אלקטרוני או SMS עלולים להשעות את חשבונך.
מאוורר החוצה
Fanout מעתיקה הודעה ומפיצה אותה למקומות שונים. הם נוחים וניתנים להרחבה מאוד. השתמש ב-SNS ב-AWS. השתמש ב-Pub/Sub ב-Azure ובנושאים ומינויים ב-Google Cloud Platform.
כדי למנוע שליחת הודעות חסרות טעם לתורי משרות בערוץ שלא נכללו, תוכל להגדיר סינון בין תורי ה-fanout לתורי העבודה. לדוגמה, ב-AWS SNS, אתה יכול לציין שתור משרות הדוא"ל יקבל את הודעת ה-fanout רק אם יש לו את הערך "email" בשדה "ערוצים".
גם אם אתה יכול ליצור קוד כדי לשלוח את ההודעה הזהה לתורי העבודה הנדרשים, fanout יעיל יותר ודורש פחות קידוד. Fanout מציעה גם את הנוחות של הוספה והסרה של תורים, ומאפשרת לך להרחיב ולארגן מחדש את הערוצים שלך.
עיבוד עבודה
הודעות מאוחסנות בתורים בהמתנה לעיבוד על ידי מעבדי העבודה שלך. הם גם סבירים וניתנים להרחבה מאוד. מעבדי עבודה הם פיסות קוד שמעבדות הודעות מתורי העבודה. בהתאם לנפח ההודעות בתור, הן יכולות להתאים.
מעבד העבודה צריך לבצע קריאת API לספק המתאים כדי למסור את ההודעה בתרחיש שלנו באמצעות שירות דוא"ל עסקה.
לרוב ספקי מסירת הדואר האלקטרוני, ה-SMS והודעות דומות יש דרישות מחמירות לכמות וקליבר ההודעות שאתה שולח. בנוסף, אתה רוצה לבחון אותם ולהגדיר נהלים מתאימים ביסודיות. הנה העצה שלנו כיצד להימנע מפיטורין מ-AWS SES.
ניתן להגדיר מספר מרבי של מעבדי עבודה כדי למנוע חריגה ממכסות התעריפים של שירותי המשלוח.
שיפורים נוספים
אתה יכול להציץ בחבורה של פריטים אלה.
- הם צריכים ממשקי API משלהם, טבלאות וכו' כדי לקבל שירות הודעות בתוך האפליקציה ניתן להרחבה.
- איסוף והצגת דוח הפתיחה/קליק
- הסרת תוכן ההתראות מהקוד ולתת למוצר ולצוות העיצוב שלך לשנות את ההתראות באופן ויזואלי במקום זאת ללא שינוי קוד
- מבלי לשנות שום קוד, הצוות שלך יכול להשתמש בלוח המחוונים כדי להפעיל או להשבית התראות עבור ערוצים מסוימים.
היתרונות של הודעת Push
- שפר את אינטראקציית המשתמש: עדכונים וחומר טרי ישאירו את המשתמשים שלך מעוניינים.
- שפר את נראות התקשורת: ודא שההודעות שלך מתקבלות מיד, גם כאשר אנשים לא פעילים. שלח הודעות דחופות וספק למשתמשים חוויה חלקה.
- שמור על שימור: השתמש בהודעות דחיפה שנראות בבירור כדי לדרבן את המשתמשים שלך לחזור. אתה יכול להגביר את שימור המשתמשים ולהפחית את הנטישה על ידי דחיקת לקוחות חזרה לאתר ולאפליקציה שלך.
- שפר המרות: על ידי יצירת קמפיינים דחופים סביב פרסים בתוך האפליקציה, מבצעים, הנחות או הצעות אחרות, אתה יכול להגדיל את המכירות.
- קנה מידה של הארגון שלך: גישת התקשורת שלך חייבת להתרחב ככל שהקהל שלך מתרחב. ככל שבסיס הלקוחות שלך מתרחב, הודעות דחיפה הן שיטה יעילה לשמור איתם על קשר.
- הפוך את חווית המשתמש למקושרת (UX): על ידי מתן התראות עסקאות לצרכנים כדי לעדכן אותם ולספק חוויה חוצת ערוצים חלקה, אתה יכול להפחית את החיכוך לאורך מסע הלקוח.
סיכום
לסיכום, רכשנו ידע על הארכיטקטורה של שירות הודעות דחיפה שניתן להרחבה. בדקנו גם את הכלים שמסופקים על ידי כל ספקי שירותי הענן העיקריים כדי שתוכל לבסס את ההתראות שלך על אלה.
למרות העובדה שניסיתי כמיטב יכולתי לספק לך סקירה כללית של ארכיטקטורת מערכת הודעות הדחיפה, יש עוד הרבה מה שקורה מאחורי הקלעים.
אני מאוד מקווה שתמצא מידע זה שימושי ותשתמש בו.
השאירו תגובה