[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-02-28 UTC。"],[[["Rotating barcodes enhance security by changing periodically, mitigating risks associated with ticket theft or unauthorized resale."],["They serve as a fallback for devices lacking NFC support, ensuring accessibility for all users."],["Google Wallet prioritizes Smart Tap, followed by rotating barcodes, and lastly static barcodes for pass redemption."],["For optimal security, it is recommended to save pass objects to the Google Wallet server and reference them by ID in JWTs, avoiding exposure of the rotating barcode's secret key."],["Each pass should ideally have a unique OTP secret key, remaining valid throughout the pass's lifespan."]]],["Rotating barcodes change periodically, enhancing security against screenshotting and ticket theft. They serve as a fallback for devices lacking NFC capabilities. The system prioritizes Smart Tap, then rotating barcodes, and lastly static barcodes for redemption. Using static barcodes alongside rotating ones compromises security. The API supports various saving flows, recommending using the `object:insert` API to avoid including the barcode's secret key in the JWT, using an OTP secret key and expecting the key to be valid for the life span of the pass.\n"]]