แลกสิทธิ์บัตรโดยสาร
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
การแลกสิทธิ์บัตรทำได้ดังนี้
คุณอาจเลือกกำหนดให้รักษาความปลอดภัยเพิ่มเติมเมื่อผู้ใช้แลกหรือเข้าถึงบัตรก็ได้ โปรดดูรายละเอียดที่หัวข้อป้องกันด้วยการล็อกหน้าจอ
สแกนบาร์โค้ด
ช่วยลูกค้าสแกนบัตรด้วยการแนบบาร์โค้ด
บาร์โค้ดแบบคงที่
คุณจะแสดงบาร์โค้ดแบบคงที่ได้โดยการตั้งค่า object.barcode
API มีบาร์โค้ดหลายประเภท ดูรายละเอียดเพิ่มเติมได้ในประเภท Barcode
กำลังหมุนบาร์โค้ด
นอกจากนี้ คุณยังแสดงบาร์โค้ดแบบหมุนได้โดยการตั้งค่า object.rotatingBarcode
เพื่อเพิ่มความปลอดภัย บาร์โค้ดจะหมุนเหมือนบาร์โค้ดปกติ แต่เปลี่ยนเป็นระยะ ปกติแล้วทุกนาที และเทอร์มินัล/เครื่องอ่านจะได้รับการตั้งโปรแกรมให้ยอมรับเฉพาะบาร์โค้ดล่าสุดเท่านั้น ซึ่งจะช่วยลดความเสี่ยงที่เกี่ยวข้องกับการถ่ายภาพหน้าจอด้วยบาร์โค้ด โดยเฉพาะการขโมยตั๋วหรือการจำหน่ายตั๋วที่ไม่ได้รับอนุญาต ดูรายละเอียดเพิ่มเติมได้ในประเภท RotatingBarcode
ภาพเคลื่อนไหวเพื่อความปลอดภัย
อีกวิธีหนึ่งในการป้องกันการละเมิดภาพหน้าจอคือการแสดงภาพเคลื่อนไหวด้านความปลอดภัยด้วยบาร์โค้ด ซึ่งรองรับการยืนยันบัตรโดยเจ้าหน้าที่
ภาพเคลื่อนไหวแสดงความปลอดภัยเป็นภาพสะท้อนระยิบระยับรอบๆ บาร์โค้ดของบัตร ภาพเคลื่อนไหวที่มีประกายระยิบระยับนี้จะทริกเกอร์เฉพาะเมื่ออุปกรณ์กำลังเคลื่อนที่เท่านั้น เพื่อให้ผู้ใช้ทดสอบความถูกต้องของบัตรด้วยการเอียงอุปกรณ์ ในขณะที่ถืออุปกรณ์ไว้นิ่งๆ จะทำให้ภาพเคลื่อนไหวการรักษาความปลอดภัยเคลื่อนไหวแบบวนซ้ำเท่านั้น
หากต้องการเปิดใช้ภาพเคลื่อนไหวเพื่อความปลอดภัยสำหรับบัตร ในคลาสของบัตร ให้ตั้งค่า AnimationType
ของช่อง SecurityAnimation
เป็น FOIL_SHIMMER
ดูรูปที่ 1 ด้านล่างสำหรับตัวอย่างลักษณะที่ภาพเคลื่อนไหวเพื่อความปลอดภัยปรากฏเมื่อเปิดใช้งาน:
รูปที่ 1
ปกป้องด้วยการล็อกหน้าจอ
คุณกำหนดให้มีการล็อกหน้าจอทุกครั้งที่เพิ่มหรือเข้าถึงบัตรได้หากต้องการปกป้องสิทธิ์ของลูกค้า ซึ่งทำได้ด้วยการตั้งค่า class.viewUnlockRequirement
ดูรายละเอียดเพิ่มเติมได้ในประเภท ViewUnlockRequirement
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-08-29 UTC
[null,null,["อัปเดตล่าสุด 2025-08-29 UTC"],[[["\u003cp\u003ePasses can be redeemed via barcode scan, with options for static or rotating barcodes for added security.\u003c/p\u003e\n"],["\u003cp\u003eRotating barcodes enhance security by changing periodically, minimizing risks associated with ticket theft or resale.\u003c/p\u003e\n"],["\u003cp\u003eSecurity animation provides another layer of protection by displaying a shimmering outline around the barcode, triggered by device motion.\u003c/p\u003e\n"],["\u003cp\u003eScreen lock can be enabled to further protect pass access, requiring user authentication upon adding or accessing the pass.\u003c/p\u003e\n"]]],["Passes can be redeemed via barcode scan. You can use a static barcode by setting `object.barcode` or enhance security with a rotating barcode by setting `object.rotatingBarcode`, which changes periodically. A security animation with a shimmering outline, enabled by setting `SecurityAnimation`'s `AnimationType` to `FOIL_SHIMMER`, can be used to prevent screenshot abuse. Additionally, you can require a screen lock for pass access by setting `class.viewUnlockRequirement`.\n"],null,["# Redeem a Transit pass\n\nPasses can be redeemed in the following way:\n\n- [Barcode scan](#use-show-and-scan).\n\nYou can optionally require extra security when users redeem or access their pass. For details,\nsee [Protect with Screen Lock](#protect-with-screen-lock).\n\nBarcode scan\n------------\n\nHelp your customers scan their Pass by attaching a barcode.\n\n### Static barcode\n\nYou can display a static barcode by setting `object.barcode`.\nThe API provides a variety of barcode types. For more details, see the\n[`Barcode` type](/wallet/tickets/transit-passes/qr-code/rest/v1/Barcode).\n\n### Rotating barcode\n\n\nFor additional security, you can display a rotating barcode by setting\n`object.rotatingBarcode`. Rotating barcodes look just like regular barcodes but\nchange periodically, typically every minute, and the terminal/reader is programmed to only\naccept the most recent one. This reduces the risks associated with barcode screenshotting, in\nparticular ticket theft or unauthorized ticket resale. For more details, see the\n[`RotatingBarcode` type](/wallet/tickets/transit-passes/qr-code/rest/v1/RotatingBarcode).\n\n### Security animation\n\n\nAnother way to prevent screenshot abuse is by displaying the barcode security animation, which\nsupports human-verification of a pass.\n\n\nThe physical manifestation of a security animation is a shimmering outline around the barcode of\nthe pass. This shimmering animation triggers only when the device is in motion so one can test\nthe pass' validity by tilting the device. On the other hand holding the device still will only\nanimate the colorful security animation in loop.\n\n\nTo enable security animation for a pass, in the pass class, set the [`SecurityAnimation`](/wallet/tickets/transit-passes/qr-code/rest/v1/SecurityAnimation)\nfield's [`AnimationType`](/wallet/tickets/transit-passes/qr-code/rest/v1/SecurityAnimation#AnimationType)\nto `FOIL_SHIMMER`.\n\n\nSee Figure 1. below for an example of how the security animation appears when it is enabled:\n\n\n**Figure 1.**\n\nProtect with Screen Lock\n------------------------\n\nTo protect your customer's access to their Pass, you can require a screen\nlock each time they add or access their pass. This can be done by setting `class.viewUnlockRequirement`.\nFor more details, see the\n[`ViewUnlockRequirement` type](/wallet/tickets/transit-passes/qr-code/rest/v1/ViewUnlockRequirement)."]]