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 Web Token (JWT) इस्तेमाल करने की ज़रूरत होती है. ऐसा इसलिए, ताकि कम भरोसेमंद एनवायरमेंट (जैसे कि स्मार्टफ़ोन और ब्राउज़र) से एपीआई के तरीके को कॉल किया जा सके.

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

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

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

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

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

वेब पर आधारित ऐप्लिकेशन में पुष्टि करने और अनुमति देने की सुविधा सेट अप करने से पहले, आपके बैकएंड सर्वर को वेब पर आधारित ऐप्लिकेशन के लिए JSON वेब टोकन जारी करने में सक्षम होना चाहिए, ताकि वह Fleet Engine को ऐक्सेस कर सके. आपका वेब ऐप्लिकेशन, अपने अनुरोधों के साथ इन JWT को भेजता है. इससे Fleet Engine, अनुरोधों को पुष्टि किए गए और अनुरोध में मौजूद डेटा को ऐक्सेस करने के लिए अधिकृत के तौर पर पहचानता है. सर्वर-साइड JWT लागू करने के निर्देशों के लिए, Fleet Engine की ज़रूरी बातें में जाकर, 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 में यात्रा को फ़ॉलो करना