ที่มา
ฟีเจอร์บัตรที่ลิงก์อัตโนมัติช่วยให้คุณส่งบัตรเพิ่มเติมให้ผู้ใช้ที่มีบัตรอยู่ใน Google Wallet อยู่แล้วได้ นอกจากนี้ คุณยังลิงก์บัตรล่วงหน้าไปยังบัตรหลักเมื่อผู้ใช้บันทึกบัตรหลัก (บัตรหลัก) ได้ด้วย ระบบจะจัดกลุ่มบัตรที่ลิงก์อัตโนมัติไว้กับบัตรหลัก โดยมีข้อความเสริมเหนือบัตรหลักที่แจ้งให้ผู้ใช้ทราบว่าบัตรใหม่ได้รับการลิงก์แล้ว ประเภทบัตรต่อไปนี้ได้รับการรองรับเป็นบัตรหลักหรือบัตรที่ลิงก์
- ตั๋วกิจกรรม
- บอร์ดดิ้งพาส
- บัตรโดยสาร
- ข้อเสนอ
- บัตรของขวัญ
- บัตรสะสมคะแนน
- บัตรทั่วไป
กรณีการใช้งาน
การลิงก์บัตรกับบัตรที่มีอยู่อาจมีกรณีการใช้งานที่แตกต่างกัน ตัวอย่างเช่น
- ลิงก์ข้อเสนอกับบัตรสะสมคะแนนที่มีอยู่
- ลิงก์บัตรกำนัลอาหารกับบอร์ดดิ้งพาสหรือตั๋วเข้างาน
- ลิงก์บัตรจอดรถกับตั๋วเข้างาน
ข้อควรพิจารณาเมื่อใช้บัตรที่ลิงก์อัตโนมัติ
- ออบเจ็กต์หลักและออบเจ็กต์ที่ลิงก์ต้องใช้ผู้ออกบัตรเดียวกัน
- ออบเจ็กต์หลักที่ลิงก์มีออบเจ็กต์ที่ลิงก์ได้ไม่เกิน 50 รายการ
- เราไม่รับประกันว่าการส่งบัตรที่ลิงก์โดยอัตโนมัติและถือเป็นวิธีที่ดีที่สุด ผู้ใช้สามารถเลือกไม่รับบัตรที่ลิงก์อัตโนมัติได้ หากกรณีการใช้งานมีความสำคัญและผู้ใช้ต้องได้รับบัตรที่ลิงก์ เราขอแนะนำให้สื่อสารผ่านช่องทางอื่นเพื่อให้แน่ใจว่าผู้ใช้เพิ่มบัตรแล้ว
- การอัปเดต Google Wallet AUP มีคำแนะนำเกี่ยวกับการใช้บัตรที่ลิงก์อัตโนมัติซึ่งต้องปฏิบัติตาม
ขั้นตอนการผสานรวม
หากสร้างออบเจ็กต์หลักไว้แล้ว ให้ข้ามขั้นตอนที่ 1
- สร้างออบเจ็กต์ประเภทบัตรผ่านทุกประเภทพร้อมพารามิเตอร์ที่จำเป็น นี่คือออบเจ็กต์หลัก
- สร้างออบเจ็กต์อื่นสำหรับบัตรประเภทต่างๆ ในรายการ ซึ่งจะเป็นออบเจ็กต์ที่ลิงก์ไว้
- ก่อนหรือหลังจากที่บันทึกออบเจ็กต์หลัก ให้อัปเดตออบเจ็กต์หลักด้วยรหัสของออบเจ็กต์ที่ลิงก์พารามิเตอร์ linkedObjectIds
เนื่องจากมีเพย์โหลดขั้นต่ำที่จำเป็นสำหรับการตั้งค่า 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 หลังลิงก์ออบเจ็กต์กับออบเจ็กต์ผ่าน
… "state": "active", "linkedObjectIds": { "ISSUERID.LINKED_PASS_OBJECTID" } …
ลักษณะการทำงานที่ควรจะเป็น
หลังจากได้รับการตอบกลับสำเร็จ อุปกรณ์ที่มีบัตรที่คุณอัปเดตจะได้รับบัตรที่ลิงก์ ระบบจะจัดกลุ่มบัตรที่ลิงก์ไว้นี้ไว้กับบัตรหลัก ผู้ใช้จะดูบัตรที่ลิงก์ได้โดยปัดไปทางขวา
การจัดการข้อยกเว้น
ข้อผิดพลาดที่อาจเกิดขึ้นเมื่อใช้ API อย่างไม่ถูกต้อง ซึ่งอาจรวมถึง
ข้อความ | เหตุผล |
---|---|
ออบเจ็กต์หลักและออบเจ็กต์ที่ลิงก์จะไม่ใช้รหัสผู้ออกเดียวกัน | คุณแนบออบเจ็กต์ที่ลิงก์อยู่กับออบเจ็กต์ของผู้ออกรายอื่นไม่ได้ |
ออบเจ็กต์หลักและออบเจ็กต์ที่ลิงก์อ้างอิงถึงออบเจ็กต์เดียวกัน | คุณไม่สามารถแนบออบเจ็กต์เดียวกันกับ linkedObject ได้ |
ไม่มีออบเจ็กต์ที่ลิงก์ | ควรแทรกออบเจ็กต์ที่ลิงก์ลงใน Wallet API แล้ว |
ออบเจ็กต์ที่ลิงก์มีออบเจ็กต์อื่นที่ลิงก์อยู่แล้ว ไม่สามารถเพิ่มออบเจ็กต์ที่ลิงก์กันซ้อนอยู่ได้ | วัตถุที่มีการลิงก์ไม่สามารถมีวัตถุอื่นที่เชื่อมโยงอยู่ได้ |
ออบเจ็กต์ดังกล่าวลิงก์กับออบเจ็กต์อื่นอยู่แล้ว ไม่สามารถเพิ่มออบเจ็กต์ที่มีการลิงก์ซ้อนกัน | ออบเจ็กต์หลักจะเป็นออบเจ็กต์ที่ลิงก์แบบเดี่ยวๆ ไม่ได้ |
เพิ่มออบเจ็กต์ที่ลิงก์แล้วไม่ได้ เกินขีดจำกัดแล้ว | บัตรหลักที่ลิงก์ถึงขีดจำกัด 50 ใบแล้ว |