JavaScript Consumer SDK सेट अप करना

प्लैटफ़ॉर्म चुनें: Android iOS JavaScript

JavaScript Consumer SDK की मदद से, आपका उपभोक्ता ऐप्लिकेशन, वेब पर आधारित मैप पर Fleet Engine में ट्रैक किए गए वाहनों की जगह और दिलचस्पी वाली अन्य जगहों की जानकारी दिखा सकता है. इससे आपके उपभोक्ताओं को ड्राइवर की यात्रा की प्रोग्रेस दिखती है. इस गाइड में यह माना गया है कि आपने Fleet Engine को उससे जुड़े Google Cloud प्रोजेक्ट और एपीआई पासकोड के साथ सेट अप कर लिया है. ज़्यादा जानकारी के लिए, Fleet Engine देखें.

JavaScript Consumer SDK टूल को सेट अप करने के लिए, यह तरीका अपनाएं:

  1. Maps JavaScript API को चालू करना
  2. अनुमति सेट अप करना

Maps JavaScript API को चालू करना

Google Cloud Console में Maps JavaScript API को चालू करें. ज़्यादा जानकारी के लिए, Google Cloud के दस्तावेज़ में एपीआई चालू करना लेख पढ़ें. इससे JavaScript के लिए Consumer SDK चालू हो जाता है.

अनुमति देने की प्रोसेस सेट अप करना

Fleet Engine को स्मार्टफ़ोन और ब्राउज़र जैसे कम भरोसेमंद प्लैटफ़ॉर्म से एपीआई के तरीके को कॉल करने के लिए, JSON वेब टोकन (JWT) का इस्तेमाल करना ज़रूरी है.

JWT आपके सर्वर पर जनरेट होता है. इस पर हस्ताक्षर किए जाते हैं, इसे एन्क्रिप्ट (सुरक्षित) किया जाता है, और क्लाइंट को भेजा जाता है. इसके बाद, सर्वर के साथ होने वाले इंटरैक्शन के लिए इसका इस्तेमाल किया जाता है. ऐसा तब तक किया जाता है, जब तक इसकी समयसीमा खत्म नहीं हो जाती या यह अमान्य नहीं हो जाता.

मुख्य जानकारी

अनुमति देने की प्रोसेस कैसे काम करती है?

Fleet Engine के डेटा को ऐक्सेस करने की अनुमति देने के लिए, सर्वर-साइड और क्लाइंट-साइड, दोनों को लागू करना ज़रूरी है.

सर्वर-साइड से अनुमति लेना

वेब पर आधारित ऐप्लिकेशन में पुष्टि और अनुमति की सुविधा सेट अप करने से पहले, आपके बैकएंड सर्वर को वेब पर आधारित ऐप्लिकेशन के लिए JSON वेब टोकन जारी करने होंगे. इससे Fleet Engine को ऐक्सेस किया जा सकेगा. आपका वेब पर आधारित ऐप्लिकेशन, अपने अनुरोधों के साथ ये JWT भेजता है. इससे Fleet Engine को पता चलता है कि अनुरोधों की पुष्टि हो चुकी है और अनुरोध में मौजूद डेटा को ऐक्सेस करने की अनुमति मिल गई है. सर्वर-साइड JWT लागू करने के निर्देशों के लिए, Fleet Engine Essentials में जाकर, JSON वेब टोकन जारी करें देखें.

खास तौर पर, यात्रा की प्रोग्रेस शेयर करने के लिए, JavaScript Consumer SDK के बारे में इन बातों का ध्यान रखें:

क्लाइंट-साइड अनुमति

JavaScript Consumer SDK का इस्तेमाल करने पर, यह ऑथराइज़ेशन टोकन फ़ेचर का इस्तेमाल करके, सर्वर से टोकन का अनुरोध करता है. ऐसा तब होता है, जब इनमें से कोई भी शर्त पूरी होती है:

  • कोई मान्य टोकन मौजूद नहीं है. जैसे, जब एसडीके ने नए पेज लोड पर फ़ेचर को कॉल नहीं किया हो या जब फ़ेचर ने टोकन नहीं दिया हो.

  • टोकन की समयसीमा खत्म हो गई है.

  • टोकन की समयसीमा खत्म होने में एक मिनट बचा हो.

अगर ऐसा नहीं होता है, तो JavaScript Consumer SDK, पहले से जारी किए गए मान्य टोकन का इस्तेमाल करता है और फ़ेचर को कॉल नहीं करता.

अनुमति देने वाला टोकन फ़ेचर बनाना

अनुमति देने वाला टोकन फ़ेच करने की सुविधा बनाने के लिए, इन दिशा-निर्देशों का पालन करें:

  • फ़ेचर को दो फ़ील्ड वाला डेटा स्ट्रक्चर दिखाना चाहिए. इसे Promise में इस तरह रैप किया जाना चाहिए:

    • स्ट्रिंग token.

    • कोई संख्या expiresInSeconds. फ़ेच किए जाने के बाद, टोकन की समयसीमा इतने समय में खत्म हो जाती है. पुष्टि करने वाले टोकन फ़ेचर को, टोकन की समयसीमा खत्म होने का समय सेकंड में पास करना होगा. यह समय, टोकन को फ़ेच करने से लेकर लाइब्रेरी तक पहुंचने के बीच का समय होता है. जैसा कि उदाहरण में दिखाया गया है.

  • फ़ेचर को आपके सर्वर पर मौजूद यूआरएल को कॉल करना चाहिए, ताकि टोकन वापस पाया जा सके. यह यूआरएल--SERVER_TOKEN_URL--आपके बैकएंड को लागू करने के तरीके पर निर्भर करता है. यहां दिया गया यूआरएल, GitHub पर सैंपल के तौर पर मिले ऐप्लिकेशन के बैकएंड के लिए है:

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

उदाहरण -- पुष्टि करने के लिए टोकन फ़ेचर बनाना

यहां दिए गए उदाहरणों में, अनुमति देने वाला टोकन फ़ेचर बनाने का तरीका बताया गया है:

JavaScript

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

आगे क्या करना है

JavaScript में किसी यात्रा को फ़ॉलो करना