ওভারভিউ

Google Wallet Passes API অংশীদারদের একটি ট্রানজিট টিকিট সক্রিয় করার জন্য একটি শেষ পয়েন্ট নির্দিষ্ট করার ক্ষমতা প্রদান করে৷ যখন অ্যাক্টিভেশনের প্রয়োজন হয়, তখন ব্যবহারকারীর জন্য একটি "অ্যাক্টিভেট" বোতাম প্রদর্শিত হবে যা ট্যাপ করা হলে নিচে বর্ণিত পরামিতি সহ নির্দিষ্ট এন্ডপয়েন্টে কল করবে। এন্ডপয়েন্টটি নিশ্চিত করতে হবে যে পাসের বৈধ রিডেমশন তথ্য (হয় বারকোড বা ভিজ্যুয়াল পরিদর্শন) আছে, যে সময়ে ব্যবহারকারীর ওয়ালেটে পাসটি রিডেমশন তথ্য প্রদর্শন করতে আপডেট করা হবে। নোট করুন যে সক্রিয়করণের আগে, বিদ্যমান কোনো রিডেমশন তথ্য প্রদর্শিত হবে না।

সক্রিয়করণ API

অ্যাক্টিভেশন এন্ডপয়েন্ট ট্রানজিট ক্লাসে activationOptions ব্যবহার করে API-এ নির্দিষ্ট করা হয়েছে। অংশীদার যুক্তিসঙ্গত লেটেন্সি সহ একটি কার্যকরী অ্যাক্টিভেশন এন্ডপয়েন্ট বজায় রাখার জন্য দায়ী৷

  activationOptions: {
    activationUrl: string
  }
মাঠ বর্ণনা
activationUrl

string

পার্টনার এন্ডপয়েন্টের URL যা সক্রিয়করণের অনুরোধের জন্য বলা হবে। URLটি HTTPS-এ হোস্ট করা উচিত এবং robots.txt-এর URL পাথটিকে UserAgent:Google-Valuables-এর দ্বারা অ্যাক্সেসযোগ্য হতে দেওয়া উচিত৷

activationStatus ফিল্ড ব্যবহার করে অবজেক্টে অ্যাক্টিভেশনের অবস্থা সংরক্ষণ করা হয়। বৈধ স্থিতির মধ্যে NOT_ACTIVATED এবং ACTIVATED অন্তর্ভুক্ত। অ্যাক্টিভেশন এন্ডপয়েন্টটিকে ACTIVATED স্ট্যাটাস সহ অবজেক্ট আপডেট করা উচিত এবং সেইসাথে অবজেক্টের বৈধ রিডেমশন তথ্য যেমন বারকোড বা ভিজ্যুয়াল পরিদর্শন পরামিতি রয়েছে তা নিশ্চিত করা উচিত। deviceContext ক্ষেত্রটি ডিভাইস পিন করার জন্য ব্যবহার করা যেতে পারে।

  activationStatus: enum (ActivationStatus),
  deviceContext: {
    deviceToken: string
  },
  hasLinkedDevice: boolean
মাঠ বর্ণনা
activationStatus

enum (ActivationStatus)

এই ট্রানজিট অবজেক্টের জন্য অ্যাক্টিভেশন স্থিতি। এই স্ট্যাটাস টিকিটের উপস্থাপনা পরিবর্তন করবে এবং ব্যবহারকারীদের পদক্ষেপ নিতে অনুমতি দেবে; যেমন এটি NOT_ACTIVATED হিসাবে সেট করা থাকলে টিকিটের বিবরণে একটি সক্রিয় বোতাম রেন্ডার করা হবে।

গ্রহণযোগ্য মান হল:

  • NOT_ACTIVATED
  • ACTIVATED

deviceContext

object ( DeviceContext )

একটি ডিভাইসের প্রসঙ্গ যার সাথে বস্তুটিকে সংযুক্ত করতে হবে। সেট করা থাকলে, রিডেম্পশন তথ্য শুধুমাত্র প্রদত্ত ডিভাইসে ফেরত দেওয়া হবে।

hasLinkedDevice

boolean

এই বস্তুটি বর্তমানে একটি একক ডিভাইসের সাথে সংযুক্ত কিনা।

ডিভাইস প্রসঙ্গ
মাঠ বর্ণনা
deviceToken

string

সেট করা থাকলে, অবজেক্ট সক্রিয় করার পরে রিডিমশন তথ্য শুধুমাত্র প্রদত্ত ডিভাইসে ফেরত দেওয়া হবে। এটি একটি ব্যবহারকারীর ডিভাইস ট্রেস করার জন্য একটি স্থিতিশীল শনাক্তকারী হিসাবে ব্যবহার করা যাবে না৷ এটি একই ডিভাইসের জন্য বিভিন্ন পাস জুড়ে বা একই ডিভাইসের জন্য বিভিন্ন অ্যাক্টিভেশন জুড়েও পরিবর্তন হতে পারে। এটি সেট করার সময়, কলকারীদের অবশ্যই সক্রিয় করা বস্তুতে hasLinkedDevice সেট করতে হবে।

নোট করুন deviceToken অ্যাক্টিভেশন প্যারামিটার deviceContext ক্ষেত্র থেকে প্রাপ্ত হয়েছে

ডিভাইস পিনিং

ডিভাইস পিনিং একটি বৈশিষ্ট্য যা একজন ব্যবহারকারীকে একটি ডিভাইসে টিকিট সক্রিয় করতে এবং শুধুমাত্র সেই ডিভাইসে টিকিট রিডেম্পশন তথ্য প্রদর্শন করতে দেয়। এটি ONE_USER_ONE_DEVICE এর multipleDevicesAndHoldersAllowedStatus স্ট্যাটাস থেকে আলাদা, যা শুধুমাত্র একটি ডিভাইসে টিকিট দেখানোর অনুমতি দেয়। ডিভাইস পিন করার সাথে স্ট্যাটাস ONE_USER_ALL_DEVICES ব্যবহার করার পরামর্শ দেওয়া হয়।

অ্যাক্টিভেশনের আগে, ব্যবহারকারী টিকিট দেখতে এবং তাদের মালিকানাধীন যেকোনো ডিভাইসে অ্যাক্টিভেট বোতাম দেখতে পারবেন। একবার সক্রিয় এবং একটি ডিভাইসে পিন করা হলে, পিন করা ডিভাইসটি রিডেম্পশন তথ্য প্রদর্শন করবে এবং অন্যান্য ডিভাইসগুলি ব্যবহারকারীকে অন্য ডিভাইসে টিকিট সরানোর অনুমতি দেওয়ার জন্য একটি সক্রিয় বোতাম প্রদর্শন করবে। যদি টিকিট সরানো পছন্দসই কার্যকারিতা না হয়, কিন্তু যেকোনো ডিভাইসে সক্রিয় করা হয়, তাহলে ডিভাইস পিনিং ব্যবহার না করে ONE_USER_ONE_DEVICE এ সক্রিয়করণের সময় টিকিট আপডেট করা সম্ভব।

ডিভাইস পিনিং বাস্তবায়ন করতে, অবজেক্টটিকে deviceToken ফিল্ডের সাথে আপডেট করতে হবে যা অ্যাক্টিভেশন প্যারামিটারের সাথে প্রাপ্ত হয় এবং একই API কলে hasLinkedDevice কে সত্যে সেট করে। যদি ইচ্ছা হয়, ভবিষ্যতের API কলে hasLinkedDevice মিথ্যা সেট করে টিকিটটি একটি ডিভাইস থেকে লিঙ্কমুক্ত করা যেতে পারে।

ডিভাইস পিন করার জন্য সিকোয়েন্স ডায়াগ্রাম

অ্যাক্টিভেশন প্যারামিটার

অ্যাক্টিভেশন এন্ডপয়েন্টের অনুরোধে নিম্নলিখিত প্যারামিটার থাকবে।

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 দ্বারা তৈরি করা একটি অনন্য আইডি। এই আইডিটি আপডেট করার সময় ব্যবহার করা উচিত যা একটি ডিভাইসের সাথে একটি বস্তুকে সংযুক্ত করে।

এই আইডি একটি প্রদত্ত ডিভাইস থেকে ভবিষ্যতে অনুরোধের জন্য ধ্রুবক নাও হতে পারে.