জাভাস্ক্রিপ্ট কনজিউমার SDK সেট-আপ করা

প্ল্যাটফর্ম বেছে নিন: Android iOS JavaScript

JavaScript Consumer SDK-এর সাহায্যে, আপনার গ্রাহক অ্যাপটি Fleet Engine-এ ট্র্যাক করা গাড়ির লোকেশন এবং অন্যান্য প্রাসঙ্গিক লোকেশন ওয়েব-ভিত্তিক ম্যাপে দেখাতে পারে। এর ফলে, আপনার গ্রাহকরা ড্রাইভারের যাত্রার অগ্রগতি দেখতে পাবেন। এই নির্দেশিকা ধরে নেয় যে আপনি Fleet Engine-কে এর সাথে সম্পর্কিত Google Cloud প্রোজেক্ট এবং API কীগুলির সাথে সেট আপ করেছেন। আরও জানতে Fleet Engine দেখুন।

আপনি এইসব ধাপ অনুসরণ করে JavaScript Consumer SDK সেট-আপ করেছেন:

  1. Maps JavaScript API চালু করা
  2. অনুমোদন সেট-আপ করা

Maps JavaScript API চালু করা

Google Cloud Console-এ Maps JavaScript API চালু করুন। আরও বিবরণের জন্য, Google Cloud ডকুমেন্টেশনে API চালু করুন বিকল্প দেখুন। এটি জাভাস্ক্রিপ্টের জন্য Consumer SDK চালু করে।

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

কম-বিশ্বস্ত পরিবেশ: স্মার্টফোন এবং ব্রাউজার থেকে API মেথড কলের জন্য Fleet Engine-এর JSON ওয়েব টোকেন (JWTs) ব্যবহার করা প্রয়োজন।

আপনার সার্ভারে একটি JWT তৈরি হয়, সেটি সাইন ও এনক্রিপ্ট করা হয় এবং ক্লায়েন্টের কাছে পাঠানো হয় যাতে মেয়াদ শেষ না হওয়া বা আর বৈধ না থাকা পর্যন্ত সার্ভারের সাথে ইন্টার‍্যাক্ট করা যায়।

গুরুত্বপূর্ণ বিবরণ

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

Fleet Engine ডেটার সাথে অনুমোদনের মধ্যে সার্ভার-সাইড এবং ক্লায়েন্ট-সাইড উভয়ই অন্তর্ভুক্ত বাস্তবায়ন।

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

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

বিশেষ করে, ট্রিপের প্রোগ্রেস শেয়ার করার জন্য JavaScript Consumer SDK-এর ক্ষেত্রে নিম্নলিখিত বিষয়গুলি মনে রাখবেন:

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

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

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

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

  • টোকেনের মেয়াদ শেষ হতে এক মিনিটেরও কম সময় বাকি আছে।

অন্যথায়, JavaScript Consumer SDK আগে ইস্যু করা, সঠিক টোকেন ব্যবহার করে এবং ফেচারকে কল করে না।

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

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

  • ফেচারকে অবশ্যই দুটি ফিল্ড সহ একটি ডেটা স্ট্রাকচার রিটার্ন করতে হবে, যা Promise-এ এইভাবে র‍্যাপ করা থাকে:

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

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

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

    • https://SERVER_URL/token/consumer/TRIPID

উদাহরণ -- যাচাইকরণ টোকেন ফেচার তৈরি করুন

নিচে দেওয়া উদাহরণ থেকে জানতে পারবেন কীভাবে অথরাইজেশন টোকেন ফেচার তৈরি করতে হয়:

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

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
  };
}

TypeScript

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,
  };
}

এর পরে কী করতে হবে

জাভাস্ক্রিপ্টে ট্রিপ ফলো করা