پسخرید مجوز حملونقل عمومی
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
پاس ها را می توان به روش زیر بازخرید کرد:
هنگام بازخرید یا دسترسی کاربران به مجوز خود، میتوانید به صورت اختیاری به امنیت بیشتری نیاز داشته باشید. برای جزئیات، به محافظت با قفل صفحه مراجعه کنید.
اسکن بارکد
با پیوست کردن بارکد به مشتریان خود کمک کنید تا پاس خود را اسکن کنند.
بارکد استاتیک
با تنظیم object.barcode
می توانید یک بارکد ثابت را نمایش دهید. API انواع بارکد را ارائه می دهد. برای جزئیات بیشتر، نوع Barcode
را ببینید.
بارکد چرخشی
برای امنیت بیشتر، میتوانید یک بارکد چرخشی را با تنظیم object.rotatingBarcode
نمایش دهید. بارکدهای چرخان مانند بارکدهای معمولی به نظر می رسند، اما به طور دوره ای، معمولاً هر دقیقه تغییر می کنند، و ترمینال/خواننده طوری برنامه ریزی شده است که فقط جدیدترین را بپذیرد. این امر خطرات مربوط به تصویربرداری بارکد، به ویژه سرقت بلیط یا فروش مجدد غیرمجاز بلیط را کاهش می دهد. برای جزئیات بیشتر، نوع RotatingBarcode
را ببینید.
انیمیشن امنیتی
راه دیگر برای جلوگیری از سوء استفاده از اسکرین شات، نمایش انیمیشن امنیتی بارکد است که از تأیید انسانی یک پاس پشتیبانی می کند.
جلوه فیزیکی یک انیمیشن امنیتی یک طرح کلی درخشان در اطراف بارکد پاس است. این انیمیشن درخشان تنها زمانی فعال می شود که دستگاه در حال حرکت باشد، بنابراین می توان اعتبار پاس را با چرخاندن دستگاه آزمایش کرد. از طرف دیگر ثابت نگه داشتن دستگاه تنها انیمیشن امنیتی رنگارنگ را در حلقه متحرک می کند.
برای فعال کردن انیمیشن امنیتی برای یک پاس، در کلاس pass، AnimationType
فیلد SecurityAnimation
را روی FOIL_SHIMMER
تنظیم کنید.
برای مثالی از نحوه نمایش انیمیشن امنیتی هنگام فعال شدن، شکل 1. را در زیر ببینید:

شکل 1.
با قفل صفحه محافظت کنید
برای محافظت از دسترسی مشتری به پاس خود، میتوانید هر بار که مجوز خود را اضافه میکند یا به آن دسترسی پیدا میکند، قفل صفحه را بخواهید. این را می توان با تنظیم class.viewUnlockRequirement
انجام داد. برای جزئیات بیشتر، نوع ViewUnlockRequirement
را ببینید.
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی."],[[["\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)."]]