סקירה כללית על מחלקות ואובייקטים של מסירות

כמעט כל הכרטיסים שאפשר לשמור למשתמשי קצה ב-Google Wallet מוגדרים באמצעות שני רכיבים: מחלקה של כרטיסים ואובייקט כרטיסים. בכל פעם שמנפיקים כרטיס למשתמש, יש צורך במופע של מחלקת הכרטיסים וגם באובייקט כרטיסים, שמציין ל-Google Wallet API איזה סוג של כרטיס צריך ליצור, וכן פרטים להצגה בכרטיס, כמו שווי כרטיס המתנה או השם של בעל הכרטיס.

Google Wallet API מספק קבוצה מוגדרת מראש של אובייקטים של כיתות וכרטיסים שאפשר ליצור, ולהשתמש בהם כדי ליצור כרטיס שהונפק למשתמש, למשל GiftCardClass, GiftCardObject, GenericClass, GenericObject ועוד.

כל מופע של אובייקט מחלקה ו-Passes של Passes מוגדר כאובייקט JSON, שכולל קבוצה של מאפיינים נדרשים ואופציונליים שתואמים לתרחיש הספציפי לדוגמה שמיועד לסוג הכרטיס הזה.

סוגי כרטיסים

הכיתה 'כרטיסים' היא תבנית משותפת שמשמשת ליצירת כרטיס אחד או יותר שתונפק למשתמשים שלך. קטגוריית כרטיסים מגדירה קבוצה משותפת של מאפיינים שתיכלל בכל האישורים שמפנים אליו.

לדוגמה, במופע הבא של EventTicketClass מוגדרים השדות המשותפים לכל הכרטיסים שהונפקו לאירוע קרוב(מקום, שם האירוע, מנפיק, תאריך/שעה).

{
  "id": "ISSUER_ID.EVENT_CLASS_ID",
  "issuerName": "[TEST ONLY] Heraldic Event",
  "localizedIssuerName": {
    "defaultValue": {
      "language": "en-US",
      "value": "[TEST ONLY] Heraldic Event"
    }
  },
  "eventName": {
    "defaultValue": {
      "language": "en-US",
      "value": "Google Live"
    }
  },
  "venue": {
    "name": {
      "defaultValue": {
        "language": "en-US",
        "value": "Shoreline Amphitheater"
      }
    },
    "address": {
      "defaultValue": {
        "language": "en-US",
        "value": "ADDRESS_OF_THE_VENUE"
      }
    }
  },
  "dateTime": {
    "start": "2023-04-12T11:30"
  },
  "reviewStatus": "UNDER_REVIEW"
}
  

לכל מופע של מחלקת Passes נדרש מאפיין id, שמציינים. מזהה הקטגוריה הזה משמש כמזהה ייחודי שיופיע בכל פעם שתשתמשו בו כדי ליצור אובייקט כרטיסים חדש מכונה.

מסירות של אובייקטים

למרות שמופע של מחלקה של כרטיסים מציינים קבוצה של מאפיינים משותפים לשימוש ביחידה אחת או יותר עובר, אובייקט 'כרטיסים' מציין את הפרטים הייחודיים של כרטיס ספציפי שמונפק למשתמש ספציפי.

לדוגמה, כשכרטיס לאירוע נוצר באמצעות Google Wallet API, EventTicketObject כולל מאפיינים של המושב שהוקצה לכרטיס מכיוון שהערכים האלו יהיו ייחודיים לכל אחד שהכרטיס הונפק.

{
  "id": "ISSUER_ID.OBJECT_ID",
  "classId": "ISSUER_ID.EVENT_CLASS_ID",
  "state": "ACTIVE",
  "seatInfo": {
    "seat": {
      "defaultValue": {
        "language": "en-us",
        "value": "9"
      }
    },
    "row": {
      "defaultValue": {
        "language": "en-us",
        "value": "L"
      }
    },
    "section": {
      "defaultValue": {
        "language": "en-us",
        "value": "45"
      }
    },
    "gate": {
      "defaultValue": {
        "language": "en-us",
        "value": "7C"
      }
    }
  },
  "barcode": {
    "type": "BARCODE_TYPE_UNSPECIFIED",
    "value": "BARCODE_VALUE",
    "alternateText": ""
  }
}
  

לכל מופע של אובייקט Passes נדרש מאפיין id, שמציינים. מזהה האובייקט הזה משמש כמזהה ייחודי שאליו צריך לעיין כשמנפיקים את הכרטיס למשתמש.

איך שיעורי הכרטיסים פועלים עם אובייקטים של כרטיסים

אובייקטים של כרטיסים חייבים להרחיב מופע של מחלקה של כרטיסים באמצעות הפניה למזהה המחלקה שלו או לכלול את ההגדרה המלאה של מחלקה של כרטיסים. הקשר הזה בין מופע של קטגוריית כרטיסים לבין אובייקט כרטיסים כלומר, אתם יכולים להגדיר ולעדכן מאפיינים שמשותפים לכל הכרטיסים שהונפקו דרך המכונה של קטגוריית הכרטיסים, ואת המאפיינים הייחודיים לכרטיס מסוים במכונה של Passes.

לדוגמה, בתרשים הבא של כרטיס פשוט לאירועים אפשר לראות איך השדות שמוגדרים בכרטיס EventTicketClass המשותף, והשדות של כרטיס ספציפי שמוגדרים ב-EventTicketObject יוצרים את הכרטיס הסופי שהונפק. שימו לב איך יש הפניה למזהה של קטגוריית הכרטיסים במאפיין classId של האובייקט 'כרטיסים'.

שינויים שמתבצעים במופע של מחלקה של Passes יופצו באופן מיידי בכל המופעים של אובייקט הכרטיסים שמפנים אליו. המשתמשים יראו את השינויים שיתבצעו במופע של קטגוריית כרטיסים בכרטיס באפליקציית Google Wallet בפעם הבאה שיתבצע סנכרון.

הוספת כרטיס ל-Google Wallet של משתמש

כדי להוסיף כרטיס ל-Google Wallet של משתמש, צריך ליצור אסימון אינטרנט מסוג JSON (JWT) שמכיל הצהרות על זכויות יוצרים את/ה (המנפיק) מבצע לגבי המופע של אובייקט הכרטיסים, שיישמר ב-Google Wallet של המשתמש – הגורם החשוב ביותר הוא מזהה האובייקט של מופע האובייקט Passes שמנפיקים למשתמש. ה-JWT נשלחים למשתמש באמצעות הלחצן הוספה ל-Google Wallet או הוספה ל-Google Wallet. קישור.

אחרי שמשתמש לוחץ על הלחצן או על הקישור כדי להוסיף כרטיס שהונפק ל-Google Wallet, נוצר קישור מופע של אובייקט Pass שמקודד ב-JWT מקושר לחשבון Google של המשתמש. המשמעות היא כשהמשתמש לוחץ שוב על הלחצן, כבר קיים קישור לאובייקט 'עובר', לכן העותקים לא יתווספו לארנק של המשתמש.

אם משתמש מסיר כרטיס מאפליקציית Google Wallet, מופע האובייקט התואם של 'כרטיסים' הוא הקישור של המשתמש יבוטל באופן אוטומטי, אבל הוא לא יימחק. המשמעות היא שמשתמש יכול ללחוץ על הלחצן הוספה ל-Google Wallet או הקישור שוב, כדי לשמור את הכרטיס ללא צורך ליצור מופע חדש של אובייקט Passes או JWT.