জাভাস্ক্রিপ্ট ফ্লিট ট্র্যাকিং লাইব্রেরি সেট আপ করুন

JavaScript ফ্লিট ট্র্যাকিং লাইব্রেরি ব্যবহার করার আগে, নিশ্চিত করুন যে আপনি ফ্লিট ইঞ্জিনের সাথে পরিচিত এবং সেট আপ করেছেন। বিস্তারিত জানার জন্য, ফ্লিট ইঞ্জিন দেখুন।

এই নথিটি দেখায় কিভাবে ওয়েব পৃষ্ঠা অ্যাপ এবং ফ্লিট ইঞ্জিনের মধ্যে অনুমোদন সক্ষম করতে হয়৷ একবার ফ্লিট ইঞ্জিনে আপনার অনুরোধগুলি সঠিক অনুমোদনের টোকেনগুলির সাথে সেট আপ হয়ে গেলে, আপনি মানচিত্রে একটি গাড়ি ট্র্যাক করতে প্রস্তুত থাকবেন৷

অনুমোদন সেট আপ করুন

ফ্লিট ইঞ্জিনের জন্য নিম্ন-বিশ্বাসের পরিবেশ থেকে API পদ্ধতি কলের জন্য একটি উপযুক্ত পরিষেবা অ্যাকাউন্ট দ্বারা স্বাক্ষরিত JSON ওয়েব টোকেন (JWTs) ব্যবহার করা প্রয়োজন। কম-বিশ্বাসের পরিবেশে স্মার্টফোন এবং ব্রাউজার অন্তর্ভুক্ত। একটি JWT আপনার সার্ভারে উদ্ভূত হয়, যা একটি সম্পূর্ণ বিশ্বস্ত পরিবেশ । JWT স্বাক্ষরিত, এনক্রিপ্ট করা হয় এবং পরবর্তী সার্ভার ইন্টারঅ্যাকশনের জন্য ক্লায়েন্টের কাছে পাঠানো হয় যতক্ষণ না এটি মেয়াদ শেষ হয় বা আর বৈধ না হয়।

আপনার ব্যাকএন্ড মানক অ্যাপ্লিকেশন ডিফল্ট শংসাপত্র প্রক্রিয়া ব্যবহার করে ফ্লিট ইঞ্জিনের বিরুদ্ধে প্রমাণীকরণ এবং অনুমোদন করা উচিত। একটি উপযুক্ত পরিষেবা অ্যাকাউন্ট দ্বারা স্বাক্ষরিত JWTs ব্যবহার করা নিশ্চিত করুন। পরিষেবা-অ্যাকাউন্ট ভূমিকাগুলির একটি তালিকার জন্য, ফ্লিট ইঞ্জিন বেসিকগুলিতে ফ্লিট ইঞ্জিন পরিষেবা অ্যাকাউন্টের ভূমিকা দেখুন৷

অনুমোদন কিভাবে কাজ করে?

ফ্লিট ইঞ্জিন ডেটা সহ অনুমোদন সার্ভার-সাইড এবং ক্লায়েন্ট-সাইড বাস্তবায়ন উভয়ই জড়িত।

সার্ভার-সাইড অনুমোদন

আপনার ফ্লিট ট্র্যাকিং অ্যাপ্লিকেশনে অনুমোদন সেট আপ করার আগে, আপনার ব্যাকএন্ড সার্ভার অবশ্যই JSON ওয়েব টোকেন পরিবেশন করতে সক্ষম হবে। এইভাবে, ফ্লিট ইঞ্জিন আপনার অ্যাপ্লিকেশন থেকে আসা অনুরোধগুলিকে অনুরোধে ডেটা অ্যাক্সেস করার জন্য অনুমোদিত হিসাবে স্বীকৃতি দেয়। সার্ভার-সাইড JWT বাস্তবায়নের নির্দেশাবলীর জন্য, Fleet Engine Essentials- এর অধীনে JSON ওয়েব টোকেন ইস্যু করুন দেখুন।

ফ্লিট ট্র্যাকিং প্রয়োগ করার সময় আপনার সার্ভার থেকে টোকেন তৈরি করতে, নিম্নলিখিতগুলি দেখুন:

ক্লায়েন্ট-সাইড অনুমোদন

আপনি যখন জাভাস্ক্রিপ্ট ফ্লিট ট্র্যাকিং লাইব্রেরি ব্যবহার করেন, তখন এটি একটি অনুমোদন টোকেন ফেচার ব্যবহার করে সার্ভার থেকে একটি টোকেন অনুরোধ করে। নিম্নলিখিতগুলির মধ্যে যে কোনওটি সত্য হলে এটি এটি করে:

  • কোনো বৈধ টোকেন বিদ্যমান নেই, যেমন যখন SDK একটি নতুন পৃষ্ঠা লোডে ফেচারকে কল করেনি, অথবা যখন ফেচার টোকেন নিয়ে ফিরে আসেনি৷

  • টোকেনের মেয়াদ শেষ হয়ে গেছে।

  • টোকেন মেয়াদ শেষ হওয়ার এক মিনিটের মধ্যে।

অন্যথায়, জাভাস্ক্রিপ্ট ফ্লিট ট্র্যাকিং লাইব্রেরি পূর্বে জারি করা, বৈধ টোকেন ব্যবহার করে এবং ফেচারকে কল করে না।

একটি অনুমোদন টোকেন ফেচার তৈরি করুন৷

এই নির্দেশিকাগুলি ব্যবহার করে আপনার অনুমোদন টোকেন ফেচার তৈরি করুন:

  • ফেচারকে অবশ্যই দুটি ক্ষেত্র সহ একটি ডেটা কাঠামো ফেরত দিতে হবে , একটি Promise মোড়ানো নিম্নরূপ:

    • একটি স্ট্রিং token

    • একটি সংখ্যার expiresInSeconds । একটি টোকেন আনার পর এই পরিমাণ সময়ের মধ্যে মেয়াদ শেষ হয়ে যায়। প্রমাণীকরণ টোকেন আনয়নকারীকে অবশ্যই মেয়াদ শেষ হওয়ার সময়টি সেকেন্ডের মধ্যে পাস করতে হবে, যেমনটি উদাহরণে দেখানো হয়েছে লাইব্রেরিতে আনার সময় থেকে।

  • একটি টোকেন পুনরুদ্ধার করার জন্য ফেচারের আপনার সার্ভারে একটি URL কল করা উচিত । এই URL-- SERVER_TOKEN_URL --আপনার ব্যাকএন্ড বাস্তবায়নের উপর নির্ভর করে। নিম্নলিখিত উদাহরণ URLটি GitHub এ নমুনা অ্যাপ্লিকেশন ব্যাকএন্ডের জন্য:

    • https://SERVER_URL/token/fleet_reader

উদাহরণ - একটি অনুমোদন টোকেন ফেচার তৈরি করুন

নিম্নলিখিত উদাহরণগুলি দেখায় কিভাবে একটি অনুমোদন টোকেন ফেচার তৈরি করতে হয়:

জাভাস্ক্রিপ্ট

async function authTokenFetcher(options) {
  // options is a record containing two keys called
  // serviceType and context. The developer should
  // generate the correct SERVER_TOKEN_URL and request
  // based on the values of these fields.
  const response = await fetch(SERVER_TOKEN_URL);
  if (!response.ok) {
    throw new Error(response.statusText);
  }
  const data = await response.json();
  return {
    token: data.Token,
    expiresInSeconds: data.ExpiresInSeconds
  };
}

টাইপস্ক্রিপ্ট

function authTokenFetcher(options: {
  serviceType: google.maps.journeySharing.FleetEngineServiceType,
  context: google.maps.journeySharing.AuthTokenContext,
}): Promise<google.maps.journeySharing.AuthToken> {
  // The developer should generate the correct
  // SERVER_TOKEN_URL based on options.
  const response = await fetch(SERVER_TOKEN_URL);
  if (!response.ok) {
    throw new Error(response.statusText);
  }
  const data = await response.json();
  return {
    token: data.token,
    expiresInSeconds: data.ExpiresInSeconds,
  };
}

এরপর কি