Google Wallet Passes API این امکان را برای شرکا فراهم می کند تا نقطه پایانی را برای فعال سازی بلیط حمل و نقل مشخص کنند. در صورت نیاز به فعالسازی، دکمه «فعالسازی» برای کاربر نمایش داده میشود که با ضربه زدن، نقطه پایانی مشخص شده را با پارامترهای شرح داده شده در زیر فراخوانی میکند. نقطه پایانی باید اطمینان حاصل کند که گذرنامه دارای اطلاعات بازخرید معتبر (اعم از بارکد یا بازرسی بصری) قبل از بازگشت است، در این مرحله مجوز در کیف پول کاربر برای نمایش اطلاعات بازخرید بهروزرسانی میشود. توجه داشته باشید که قبل از فعال سازی، هرگونه اطلاعات بازخرید موجود نمایش داده نخواهد شد.
API فعال سازی
نقطه پایان فعال سازی در API با استفاده از activationOptions
در کلاس حمل و نقل مشخص می شود. شریک مسئول حفظ یک نقطه پایان فعال سازی کاری با تأخیر معقول است.
activationOptions: { activationUrl: string }
رشته | شرح |
---|---|
activationUrl | URL برای نقطه پایانی شریک که برای درخواستهای فعالسازی فراخوانی میشود. URL باید در HTTPS میزبانی شود و robots.txt باید اجازه دهد مسیر URL توسط UserAgent:Google-Valuables قابل دسترسی باشد. |
وضعیت فعال سازی با استفاده از فیلد activationStatus
روی شی ذخیره می شود. وضعیت های معتبر شامل NOT_ACTIVATED
و ACTIVATED
هستند. نقطه پایان فعال سازی باید شی را با وضعیت ACTIVATED
به روز کند و همچنین اطمینان حاصل کند که شی دارای اطلاعات بازخرید معتبر مانند بارکد یا پارامترهای بازرسی بصری است. فیلد deviceContext
ممکن است برای پین کردن دستگاه استفاده شود.
activationStatus: enum (ActivationStatus), deviceContext: { deviceToken: string }, hasLinkedDevice: boolean
رشته | شرح |
---|---|
activationStatus | وضعیت فعال سازی برای این شی ترانزیت. این وضعیت نمایش بلیط را تغییر می دهد و به کاربران اجازه می دهد تا اقدام کنند. به عنوان مثال. اگر این دکمه به عنوان مقادیر قابل قبول عبارتند از:
|
deviceContext | زمینه دستگاهی که با آن شیء مرتبط شود. در صورت تنظیم، اطلاعات بازخرید فقط به دستگاه داده شده بازگردانده می شود. |
hasLinkedDevice | آیا این شی در حال حاضر به یک دستگاه مرتبط است یا خیر. |
رشته | شرح |
---|---|
deviceToken | در صورت تنظیم، اطلاعات بازخرید تنها پس از فعال شدن شی به دستگاه داده شده بازگردانده می شود. این نمی تواند به عنوان یک شناسه پایدار برای ردیابی دستگاه کاربر استفاده شود. می تواند در پاس های مختلف برای یک دستگاه یا حتی در بین فعال سازی های مختلف برای یک دستگاه تغییر کند. هنگام تنظیم این، تماس گیرندگان باید توجه داشته باشید که |
پین کردن دستگاه
پین کردن دستگاه قابلیتی است که به کاربر امکان می دهد بلیط را در یک دستگاه فعال کند و اطلاعات بازخرید بلیط را فقط در آن دستگاه نمایش دهد. این جدا از وضعیت multipleDevicesAndHoldersAllowedStatus
ONE_USER_ONE_DEVICE
است که فقط اجازه میدهد بلیت در یک دستگاه نمایش داده شود. توصیه می شود از وضعیت ONE_USER_ALL_DEVICES
با پین کردن دستگاه استفاده کنید.
قبل از فعالسازی، کاربر میتواند بلیت و دکمه فعالسازی را در هر دستگاهی که دارد ببیند. پس از فعال شدن و پین شدن به دستگاه، دستگاه پین شده اطلاعات بازخرید را نشان میدهد و سایر دستگاهها دکمه فعالسازی را نمایش میدهند تا به کاربر اجازه دهد بلیط را به دستگاه دیگری منتقل کند. اگر جابهجایی بلیت عملکرد مطلوبی ندارد، اما فعالسازی در هر دستگاهی انجام میشود، میتوانید بهجای استفاده از پین کردن دستگاه، بلیت را در حین فعالسازی به ONE_USER_ONE_DEVICE
بهروزرسانی کنید.
برای پیادهسازی پین کردن دستگاه، شی باید با فیلد deviceToken
که با پارامترهای فعالسازی دریافت میشود و همچنین در همان فراخوانی API، hasLinkedDevice
را روی true تنظیم کنید. در صورت تمایل، با تنظیم hasLinkedDevice
روی false در تماس API آینده، بلیت را می توان از دستگاهی جدا کرد.
پارامترهای فعال سازی
درخواست به نقطه پایانی فعال سازی شامل پارامترهای زیر خواهد بود.
مثال JSON:
{ classId: “123.classId”, objectIds: [ “123.objectId” ], expTimeMillis: 1669671940735, eventType: “activate”, nonce: “1c6fccce-6f66-11ed-a1eb-0242ac120002”, deviceContext: “6fba937a-6f6e-11ed-a1eb-0242ac120002” }
مشخص کننده | شرح |
---|---|
classId | شناسه کلاس کاملاً واجد شرایط از فرمت زیر استفاده می کند: <issuer_id.class_id> |
objectIds | آرایه کاملاً واجد شرایط شناسه شی که از فرمت زیر استفاده می کنند: <issuer_id.object_id> |
expTimeMillis | زمان انقضا بر حسب میلی ثانیه از زمان EPOCH. پس از اتمام زمان، پیام باید نامعتبر تلقی شود. |
eventType | همیشه "activate" . |
nonce | برای ردیابی هر گونه تحویل تکراری وجود ندارد. |
deviceContext | شناسه منحصربهفردی که توسط Google تولید میشود و نشاندهنده دستگاهی است که کاربر روی آن اقدام میکند. این شناسه باید هنگام بهروزرسانیهایی استفاده شود که یک شی را به دستگاه متصل میکند. ممکن است این شناسه برای درخواستهای آینده از یک دستگاه مشخص ثابت نباشد. |