התראות שמופעלות על ידי שותפים
הוספת הודעה והתראה
רקע
אחרי שמשתמש מוסיף כרטיס, כדאי לשלוח לו הודעה שקשורה לכרטיס כדי לוודא שהוא יקבל הודעה על כך. כשמשתמשים בבקשה של Add Message API עם message_type
שווה ל-TEXT_AND_NOTIFY
, מתרחשים האירועים הבאים:
- המערכת מוסיפה את הפריט Message ל'גב הכרטיס' (שנקרא גם Details Template) ושולחת התראה ב-push למשתמשים ששמרו את הכרטיס.
- כשהמשתמש מקשיק על ההתראה, תיפתח אפליקציית Google Wallet עם חזית הכרטיס (נקראת גם תצוגת הכרטיס). בחלק העליון של המסך יופיע חלון עם הלחצן 'הצגת ההודעה'.
- לחיצה על ההודעה תעביר את המשתמשים לגב הכרטיס, שבו הודעות חדשות שלא נקראו מודגשות.
שיקולים שחשוב לקחת בחשבון כששולחים הודעות עם התראות למשתמשים
- כדי שהמשתמשים יקבלו התראות על הודעות, ההתראות צריכות להיות מופעלות בכרטיסים שלהם.
- ההודעות יכולות להכיל מזהי URI לאתר או לאפליקציה שלכם. היפר-קישורים חייבים להוביל לאתר או לאפליקציה שקשורים לכרטיס. שליחת משתמשים לקישורים שלא קשורים לכרטיס היא הפרה של מדיניות השימוש המקובל.
- אתם יכולים לשלוח לכל היותר 3 הודעות שיפעילו התראת Push בפרק זמן של 24 שעות. אם Google תגיע למסקנה שאתם שולחים ספאם למשתמשים, היא עשויה לצמצם את המכסה שלכם לשליחת הודעות Push.
- התראות ה-push שמופיעות למשתמשים במסך הנעילה מנוהלות על ידי Google Wallet.
- אפשר להשתמש בשיטות UPDATE או PATCH כדי לערוך או להסיר נתוני הודעות באמצעות נקודת הקצה הרגילה של הכיתה או האובייקט.
שלבי ההטמעה
אם רוצים להודיע למשתמשים על הודעת מנפיק חדשה שנוספה באמצעות AddMessage API, צריך לעדכן את AddMessageRequest כך שMessage שמכיל את הטקסט החדש יהיה עם MessageType TEXT_AND_NOTIFY במקום TEXT.
דוגמה לבקשת JSON להוספת הודעה ושליחת התראה בכיתה של כרטיסים
… "id": ISSUER_ID.CLASS_ID", "message": { "header":"My Class message header", "body": "My Class message body with a <a href="https://wallet.google">Hyperlink<\a>", "id": "message_id", "message_type": "TEXT_AND_NOTIFY" }, …
דוגמה לבקשת JSON להוספת הודעה והודעת התראה באובייקט Passes
… "id": OBJECT_ID", "classId": "ISSUER_ID.CLASS_ID", "message": { "header":"My Object message header", "body": "My Object message body with a <a href="http://play.google.com/store/apps/details?id=com.google.android.apps.maps">Hyperlink<\a>", "id": "message_id", "message_type": "TEXT_AND_NOTIFY" }, …
דוגמה לתגובה להוספת הודעה ולעדכון על כיתה שעברה
// The updated resource … { "kind": "walletobjects#walletObjectMessage", "header": "My Object message header", "body": "My Object message body with a <a href="http://play.google.com/store/apps/details?id=com.google.android.apps.maps">Hyperlink<\a>", "id": "message_id", "messageType": "textAndNotify" }, …
טיפול בחריגות
כל ניסיון לשלוח יותר מ-3 הודעות יגרום לתגובה QuotaExceededException . אפשר להגדיר עדכונים נוספים לכרטיס באמצעות TEXT במקום TEXT_AND_NOTIFY, כפי שמתואר בקטע שלבי השילוב.
עדכון השדה ושליחת הודעה
רקע
אחרי שמשתמש מוסיף כרטיס, כדאי להפעיל התראה כשמעדכנים שדות מסוימים. ההתראה תופיע במסך הנעילה של המשתמש ותודיע לו שיש עדכון בכרטיס. ההתראה הזו תופעל רק לגבי קבוצת משנה ספציפית של שדות שמוגדרים בהמשך באמצעות שיטות ה-API UPDATE ו-PATCH. אחרי שמתבצעת קריאה ל-API לעדכון הכרטיס, מתרחשים האירועים הבאים:
- תופעל התראה שתוצג במסך הנעילה של המשתמש ותודיע לו על עדכון הכרטיס.
- כשהמשתמש מקשיב על ההתראה, תיפתח אפליקציית Google Wallet עם הכרטיס בחזית (תצוגת הכרטיס). בחלק העליון של המסך יופיע חלון עם הלחצן 'בדיקת העדכון'.
- לחיצה על הלחצן מעבירה את המשתמש למסך שבו הוא יכול לראות את השדות שהשתנו בעקבות העדכון.
שיקולים שצריך לקחת בחשבון כששולחים התראות על עדכוני שדות
- כדי שהמשתמשים יקבלו התראות בקשר לעדכונים, ההתראות צריכות להיות מופעלות בכרטיסים שלהם.
- אתם יכולים לשלוח לכל היותר 3 עדכונים שיפעילו התראת דחיפה בפרק זמן של 24 שעות. אם Google תגיע למסקנה שאתם שולחים ספאם למשתמשים, היא עשויה לצמצם את המכסה שלכם לשליחת הודעות Push.
- התראת ה-push שמופיעה למשתמשים במסך הנעילה נשלטת על ידי Google Wallet.
- השדה
notifyPreference
הוא שדה זמני שנמצא רק בבקשה הזו. בבקשות עתידיות שבהן תרצו להפעיל התראה, תצטרכו לאפס את השדה הזה בבקשה של הכיתה או האובייקט.
שלבי ההטמעה
כדי להפעיל את ההתראות האלה, צריך להשתמש בקריאות הקיימות UPDATE או PATCH ולציין את notifyPreference. כשמעדכנים שדה בכיתה או באובייקט, אפשר להוסיף שדה חדש, notifyPreference
, לבקשת הכיתה או האובייקט כדי להפעיל את ההתראה.
דוגמה לבקשת JSON לעדכון ולשליחת התראה בכיתה
… "dateTime": { "kind": "walletobjects#eventDateTime", "doorsOpen": "2024-09-23T19:20:50.00" }, "multipleDevicesAndHoldersAllowedStatus": "multipleHolders", "notifyPreference": "notifyOnUpdate", …
הגדרת השדה notifyPreference
לערך notifyOnUpdate
תפעיל התראה, בתנאי שיש כרגע תמיכה בשדה המעודכן.
שדות נתמכים
FlightObject
- boardingAndSeatingInfo.seatNumber
- boardingAndSeatingInfo.seatAssignment
התראות אוטומטיות שמופעלות על ידי Google Wallet
התראה קרובה
תישלח התראה למשתמשים ב-Google Wallet שלוש שעות לפני הטיסה. משך הטיסה מוגדר על ידי השדה class.localScheduledDepartureDateTime
.
כדי לקבל את ההתראה הזו, המשתמש צריך להפעיל את ההתראות. כדי לבדוק זאת, הם יכולים לעבור אל הגדרות > התראות ולראות אם האפשרות עדכונים לגבי הכרטיסים מופעלת.
ההתראה מופיעה באזור ההתראות ובמסך הנעילה, אם המשתמש הפעיל התראות במסך הנעילה.
ההתראה היא בפורמט הבא, שלא ניתן לשנות אותו:
Boarding pass for your flight to class.destination.airportIataCode
אם הם מקישים על ההתראה ומבטלים את הנעילה של המכשיר, הכרטיס יופיע באפליקציית Google Wallet.
אם למשתמש יש כמה כרטיסים, יוצג רק הכרטיס שתקף בקרוב ביותר. אם הם הוסיפו כרטיסים מקובצים לפי קיבוץ של כמה כרטיסי עלייה למטוס, בהתראה תופיע רק אחת מהכרטיסים בקבוצה. עם זאת, כשהמשתמש מקייש עליו, הוא יכול להחליק ימינה ושמאלה כדי לראות את הכרטיסים האחרים בקבוצה הזו.
ההתראה מוצמדת ולא תיסגר באופן אוטומטי אחרי שהמשתמש יפתח אותה. הסגירה האוטומטית מתרחשת 60 דקות אחרי class.localScheduledDepartureDateTime
.
התראה על עדכון של טיסה
כששדות מסוימים בטיסה משתנים, משתמשים שהוסיפו כרטיס עלייה למטוס אחד או יותר מקבלים התראה בדחיפה במכשירים שלהם. זה קורה רק אם מתקיימים תנאים מסוימים.
השער והמסוף של נקודת המוצא
אם משנים את הערך של class.origin.terminal
או class.origin.gate
,
ומתקיים התנאי הבא, נשלחת התראה על כך שהשדה השתנה.
- נותרו פחות משלוש שעות עד
class.localScheduledDepartureDateTime
.
ההתראה תופיע בפורמט הבא: "חברת התעופה Sample Airlines עדכנה את מספר היציאה שלך ל-A1". לא ניתן לשנות את הפורמט.
שעת העלייה ושעת היציאה
אם משנים את הערך של class.localBoardingDateTime
או class.localEstimatedOrActualDepartureDateTime
, ומתקיימים התנאים הבאים, נשלחת התראה על כך שהשדה השתנה.
- נותרו פחות מ-24 שעות עד
class.localScheduledDepartureDateTime
. - השעה המתאימה משתנה ב-10 דקות לפחות.
ההתראה תופיע בפורמט הבא: "_Sample Airlines has updated your boarding time to 6:00PM._" לא ניתן להתאים אישית את הפורמט או את השפה.