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

প্ল্যাটফর্ম নির্বাচন করুন: অ্যান্ড্রয়েড আইওএস জাভাস্ক্রিপ্ট

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

আপনি এই ধাপগুলি অনুসরণ করে জাভাস্ক্রিপ্ট কনজিউমার SDK সেট আপ করেন:

  1. মানচিত্র জাভাস্ক্রিপ্ট API সক্ষম করুন৷
  2. অনুমোদন সেট আপ করুন

মানচিত্র জাভাস্ক্রিপ্ট API সক্ষম করুন৷

Google ক্লাউড কনসোলে মানচিত্র জাভাস্ক্রিপ্ট API সক্ষম করুন৷ আরও বিশদ বিবরণের জন্য, Google ক্লাউড ডকুমেন্টেশনে APIs সক্ষম করুন দেখুন৷ এটি জাভাস্ক্রিপ্টের জন্য উপভোক্তা SDK সক্ষম করে।

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

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

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

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

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

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

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

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

বিশেষ করে, জাভাস্ক্রিপ্ট কনজিউমার 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
  };
}

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

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

এরপর কি

জাভাস্ক্রিপ্টে একটি ট্রিপ অনুসরণ করুন