JavaScript फ़्लीट ट्रैकिंग लाइब्रेरी सेट अप करना

JavaScript फ़्लीट ट्रैकिंग लाइब्रेरी का इस्तेमाल करने से पहले, पक्का करें कि फ़्लीट इंजन से परिचित है और उसे सेट अप किया है. जानकारी के लिए, यह देखें फ़्लीट इंजन.

इस दस्तावेज़ में बताया गया है कि वेब पेज ऐप्लिकेशन और Fleet Engine की मदद से इसे बनाया जा सकता है. Fleet Engine को किए गए आपके अनुरोध पर सही प्राधिकरण टोकन के साथ सेट अप किया गया है, तो आप मैप पर वाहन को ट्रैक करने की सुविधा मिलती है.

अनुमति देने की सुविधा सेट अप करें

फ़्लीट इंजन के लिए, हस्ताक्षर करने वाले JSON वेब टोकन (JWT) का इस्तेमाल करना ज़रूरी है low-trust से आने वाले एपीआई कॉल के लिए सही सेवा खाता वातावरण. कम भरोसेमंद प्लैटफ़ॉर्म में स्मार्टफ़ोन और ब्राउज़र शामिल हैं. एक जेडब्लयूटी आपके सर्वर से जुड़ा होता है, जो पूरी तरह से भरोसेमंद एनवायरमेंट होता है. JWT पर हस्ताक्षर किया जाता है, उसे एन्क्रिप्ट किया जाता है, और उसे क्लाइंट को भेजा जाता है, ताकि वह सर्वर के साथ आगे के इंटरैक्शन के लिए इस्तेमाल किया जा सके. ऐसा तब तक किया जाता है, जब तक उसकी समयसीमा खत्म नहीं हो जाती या वह अमान्य नहीं हो जाता.

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

अनुमति देने की सुविधा कैसे काम करती है?

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

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

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

फ़्लीट ट्रैकिंग लागू करते समय, अपने सर्वर से टोकन जनरेट करने के लिए, देखें फ़ॉलो किया जा रहा है:

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

जब JavaScript फ़्लीट ट्रैकिंग लाइब्रेरी का इस्तेमाल किया जाता है, तो यह ऑथराइज़ेशन टोकन फ़ेचर. ऐसा तब करता है, जब इनमें से कोई बात सही होती है:

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

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

  • टोकन की समय-सीमा खत्म होने के एक मिनट के भीतर है.

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

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

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

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

    • स्ट्रिंग token.

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

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

    • https://SERVER_URL/token/fleet_reader

उदाहरण - अनुमति टोकन फ़ेच करने वाला टूल बनाना

नीचे दिए गए उदाहरणों में, ऑथराइज़ेशन टोकन फ़ेचर बनाने का तरीका बताया गया है:

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

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