רקע
התכונה 'כרטיסים מקושרים באופן אוטומטי' מאפשרת לכם לשלוח כרטיסים נוספים למשתמש שכבר יש לו את הכרטיס הקיים שלכם ב-Google Wallet. אפשר גם לקשר מראש כרטיסים לכרטיס ראשי כשהמשתמש שומר את הכרטיס הראשי (העיקרי). הכרטיס המקושר באופן אוטומטי מקובץ עם הכרטיס הראשי, עם הודעה מעל הכרטיס הראשי על כך שקישרתם כרטיס חדש. אפשר להשתמש בתגי הכניסה הבאים ככרטיסים ראשיים או ככרטיסים מקושרים:
- כרטיס לאירוע
- כרטיס עלייה למטוס
- כרטיס לתחבורה ציבורית
- ההצעה
- כרטיס מתנה
- כרטיס מועדון לקוחות
- כרטיס גנרי
כרטיס ראשי עם ההודעה על הוספת כרטיס חדש | כרטיס חדש שמקושר לכרטיס הראשי |
תרחישים לדוגמה
יכול להיות שתצטרכו לקשר כרטיסים לכרטיס קיים במגוון תרחישים לדוגמה. לדוגמה:
- קישור של מבצע לכרטיס מועדון לקוחות קיים.
- לקשר שובר לארוחה לכרטיס עלייה למטוס או לכרטיס לאירוע.
- קישור של כרטיס חניה לכרטיס לאירוע.
שיקולים לשימוש בכרטיסים שמקושרים באופן אוטומטי
- באובייקט הראשי ובאובייקט המקושר צריך להשתמש באותו מזהה מנפיק (issuerId).
- יש מגבלה של 50 אובייקטים מקושרים לכל אובייקט ראשי.
- לא מובטח שההעברה האוטומטית של כרטיסים מקושרים תתבצע, והיא נחשבת ל'לפי יכולת'. המשתמשים יכולים לבטל את ההסכמה לקבלת כרטיסים שמקושרים באופן אוטומטי. אם התרחיש לדוגמה הוא קריטי והמשתמש חייב לקבל את הכרטיס המקושר, מומלץ ליצור קשר דרך ערוץ אחר כדי לוודא שהמשתמש מוסיף את הכרטיס.
- עדכונים במדיניות השימוש המקובל של Google Wallet כוללים הנחיות לשימוש בכרטיסים שמקושרים אוטומטית, שחובה לציית להם.
שלבי ההטמעה
אם כבר יצרתם אובייקט ראשי, אתם יכולים לדלג על שלב 1.
- יוצרים אובייקט מכל סוג כרטיס שמופיע עם הפרמטרים הנדרשים. זהו האובייקט הראשי.
- יצירת אובייקט נוסף מכל סוג כרטיס שמופיע. זה יהיה האובייקט מקושר.
- לפני או אחרי שמירת האובייקט הראשי, מעדכנים את האובייקט הראשי עם מזהה האובייקט המקושר בפרמטר linkObjectIds.
יש עומס מינימלי נדרש כדי להגדיר את linkedObjectIds בכרטיס ראשי. 3 הפרמטרים הנדרשים הם:
- ISSUERID.PRIMARY_OBJECT_ID
- ISSUERID.PRIMARY_CLASS_ID
- ISSUERID.LINKED_OBJECT_ID
דוגמה לבקשת JSON להוספת אובייקט מקושר לאובייקט של כרטיס
… { "id": "ISSUERID.PASS_OBJECTID", "classId": "ISSUERID.PASS_CLASSID", "barcode": { "type": "qrCode", "value": "QR code" }, "linkedObjectIds": {"ISSUERID.LINKED_PASS_OBJECTID"} } …
דוגמה לתגובת JSON אחרי קישור אובייקט לאובייקט Pass
… "state": "active", "linkedObjectIds": { "ISSUERID.LINKED_PASS_OBJECTID" } …
התנהגות צפויה
אחרי שתקבלו תשובה מוצלחת, הכרטיס המקושר אמור להופיע במכשירים שבהם הכרטיס עודכן. הכרטיס המקושר יקובץ יחד עם הכרטיס הראשי. המשתמשים יכולים לראות את הכרטיס המקושר על ידי החלקה ימינה.
טיפול בחריגות
שגיאות פוטנציאליות עשויות להתרחש כתוצאה משימוש שגוי ב-API, למשל:
Message | הסיבה |
---|---|
לאובייקט הראשי ולאובייקט המקושר אין את אותו מזהה מנפיק. | אי אפשר לצרף אובייקט מקושר לאובייקט של מנפיק אחר. |
אובייקט ראשי ואובייקט מקושר מתייחסים לאותו אובייקט. | אי אפשר לצרף את אותו אובייקט כמו linkedObject. |
האובייקט המקושר לא קיים. | האובייקט המקושר צריך להיות כבר מוכנס ל-Wallet API. |
לאובייקט המקושר כבר יש אובייקט מקושר אחר. אי אפשר להוסיף אובייקטים מקושרים בתוך רכיב. | לא ניתן לקשר אובייקט מקושר לאובייקט מקושר אחר. |
האובייקט כבר מקושר לאובייקט אחר. אי אפשר להוסיף אובייקטים מקושרים בתצוגת עץ. | אובייקט ראשי לא יכול להיות אובייקט מקושר בפני עצמו. |
אי אפשר להוסיף עוד אובייקטים מקושרים, חרגתם מהמגבלה. | הגעתם למגבלה של 50 כרטיסים מקושרים בכרטיס הראשי. |