סוגי התראות
הוספת הודעה והודעה
רקע
אחרי שמשתמש מוסיף כרטיס, כדאי לשלוח לו הודעה שקשורה לכרטיס כדי לוודא שהוא יקבל הודעה על כך. באמצעות בקשת Add Message API עם message_type
שווה ל-TEXT_AND_NOTIFY
:
- פריט הודעה מתווסף לחלק האחורי של הכרטיס (שנקרא גם תבנית פרטים) והתראה נשלחת למשתמשים שהכרטיס נשמר.
- כשהמשתמש מקיש על ההתראה, הוא פותח את Google Wallet בחלק הקדמי של הכרטיס (שנקרא גם תצוגת כרטיסים), ולמשתמש מוצג הסבר בחלק העליון של המסך עם הלחצן View Message.
- לחיצה על ההסבר תעביר את המשתמשים לחלק האחורי של הכרטיס, שבו מודגשות הודעות חדשות שלא נקראו.
שיקולים שחשוב לקחת בחשבון כששולחים הודעות עם התראות למשתמשים
- כדי שהמשתמשים יקבלו התראות על הודעות, ההתראות צריכות להיות מופעלות בכרטיסים שלהם.
- ההודעות יכולות לכלול מזהי 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, כפי שמתואר בקטע שלבי השילוב.
עדכון השדה והתראה
רקע
אחרי שמשתמש מוסיף כרטיס, כדאי להגדיר התראה כשמעדכנים שדות מסוימים. ההתראה תופיע במסך הנעילה של המשתמש ותודיע לו שיש עדכון בכרטיס שלו. ההתראה הזו תופעל רק לקבוצת משנה ספציפית של שדות שהוגדרו למטה באמצעות השיטות UPDATE ו-PATCH API. אחרי שמתבצעת קריאה ל-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
תפעיל התראה, בתנאי שיש כרגע תמיכה בשדה המעודכן.
שדות נתמכים
EventTicketClass
- eventName
- eventVenue.name
- eventvenue.address
- eventDateTime.doorsOpen
- eventDateTime.start
EventTicketObject
- eventSeat.seat
- eventSeat.row
- eventSeat.section
- eventSeat.gate