JavaScript Consumer SDK की मदद से, आपका कंज्यूमर ऐप्लिकेशन, वेब पर आधारित मैप पर Fleet Engine में ट्रैक की गई गाड़ियों की जगह और दिलचस्पी की अन्य जगहों की जानकारी दिखा सकता है. इससे, आपके कंज्यूमर उपयोगकर्ताओं को अपने शिपमेंट की प्रोग्रेस देखने में मदद मिलती है. इस गाइड में यह माना गया है कि आपने Fleet Engine को उससे जुड़े Google क्लाउड प्रोजेक्ट और एपीआई पासकोड के साथ सेट अप कर लिया है. ज़्यादा जानकारी के लिए, Fleet Engine देखें.
JavaScript Consumer SDK को सेट अप करने के लिए, यह तरीका अपनाएं:
Maps JavaScript API को चालू करना
Maps JavaScript API को, Google Cloud Console के उस प्रोजेक्ट में चालू करें जिसका इस्तेमाल, Fleet Engine इंस्टेंस के लिए किया जाता है. ज़्यादा जानकारी के लिए, एपीआई चालू करना लेख पढ़ें. यह लेख Maps JavaScript API के दस्तावेज़ में है.
अनुमति सेट अप करना
Fleet Engine के लिए, कम भरोसे वाले एनवायरमेंट (स्मार्टफ़ोन और ब्राउज़र) से एपीआई के तरीके को कॉल करने के लिए, JSON वेब टोकन (JWT) का इस्तेमाल करना ज़रूरी है.
JWT आपके सर्वर पर जनरेट होता है. इस पर हस्ताक्षर किया जाता है, इसे एन्क्रिप्ट किया जाता है, और क्लाइंट को पास किया जाता है. ऐसा तब तक किया जाता है, जब तक यह खत्म नहीं हो जाता या मान्य नहीं रहता. इसके बाद, सर्वर के साथ इंटरैक्ट किया जाता है.
अहम जानकारी
- Fleet Engine के ख़िलाफ़ पुष्टि करने और अनुमति देने के लिए, ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल का इस्तेमाल करें.
- JWT पर हस्ताक्षर करने के लिए, सही सेवा खाते का इस्तेमाल करें. **Fleet Engine की बुनियादी बातें** में, Fleet Engine के सेवा खाते की भूमिकाएं देखें.
delivery_consumer की भूमिका के साथ, आपके असली उपयोगकर्ताओं की पुष्टि करे, ताकि सिर्फ़ कंज्यूमर से जुड़ी जानकारी दिखाई जा सके. इस तरह, Fleet Engine, जवाबों में मौजूद अन्य सभी जानकारी को फ़िल्टर और हटा देता है. उदाहरण के लिए, किसी टास्क के दौरान, असली उपयोगकर्ता के साथ जगह की जानकारी शेयर नहीं की जाती. शेड्यूल किए गए टास्क के लिए, सेवा खाते
की भूमिकाएं देखें.
अनुमति कैसे काम करती है?
Fleet Engine के डेटा के साथ अनुमति देने की प्रोसेस में, सर्वर-साइड और क्लाइंट-साइड, दोनों तरह से लागू करने की ज़रूरत होती है.
सर्वर-साइड से अनुमति देना
वेब पर आधारित ऐप्लिकेशन में पुष्टि और अनुमति सेट अप करने से पहले, आपके बैकएंड सर्वर के पास, Fleet Engine को ऐक्सेस करने के लिए, वेब पर आधारित ऐप्लिकेशन को JSON वेब टोकन जारी करने की सुविधा होनी चाहिए. आपका वेब पर आधारित ऐप्लिकेशन, इन JWT को अपने अनुरोधों के साथ भेजता है, ताकि Fleet Engine, अनुरोधों को पुष्टि किए गए और अनुरोध में मौजूद डेटा को ऐक्सेस करने की अनुमति के तौर पर पहचान सके. सर्वर-साइड पर JWT लागू करने के निर्देशों के लिए, JSON वेब टोकन जारी करना लेख पढ़ें. यह लेख Fleet Engine की ज़रूरी शर्तें में दिया गया है.
खास तौर पर, शिपमेंट को ट्रैक करने के लिए, JavaScript Consumer SDK के लिए इन बातों का ध्यान रखें:- JSON वेब टोकन जारी करने के लिए सामान्य दिशा-निर्देश
- शेड्यूल किए गए टास्क के लिए JWT के दिशा-निर्देश
- उपभोक्ता एप्लिकेशन के लिए टोकन का उदाहरण
क्लाइंट-साइड से अनुमति देना
JavaScript Consumer SDK का इस्तेमाल करने पर, यह अनुमति के लिए टोकन फ़ेचर का इस्तेमाल करके, सर्वर से टोकन का अनुरोध करता है. यह तब होता है, जब इनमें से कोई भी शर्त पूरी होती है:
कोई मान्य टोकन मौजूद नहीं है. जैसे, जब एसडीके ने किसी नए पेज के लोड होने पर, फ़ेचर को कॉल नहीं किया हो या जब फ़ेचर ने टोकन के साथ कोई जवाब नहीं दिया हो.
टोकन की समयसीमा खत्म हो गई है.
टोकन की समयसीमा खत्म होने में एक मिनट से भी कम समय बचा है.
इसके अलावा, JavaScript Consumer SDK, पहले जारी किए गए मान्य टोकन का इस्तेमाल करता है और फ़ेचर को कॉल नहीं करता.
अनुमति के लिए टोकन फ़ेचर बनाना
अनुमति के लिए टोकन फ़ेचर बनाने के लिए, इन दिशा-निर्देशों का पालन करें:
फ़ेचर को, दो फ़ील्ड वाला डेटा स्ट्रक्चर दिखाना होगा. इसे
Promiseमें इस तरह रैप किया जाना चाहिए:tokenस्ट्रिंग.expiresInSecondsनंबर. टोकन, फ़ेच करने के बाद इतने समय में खत्म हो जाता है. पुष्टि के लिए टोकन फ़ेचर को, समयसीमा खत्म होने का समय सेकंड में पास करना होगा. यह समय, फ़ेच करने के समय से लेकर लाइब्रेरी तक का होना चाहिए. जैसा कि उदाहरण में दिखाया गया है.
टोकन पाने के लिए, फ़ेचर को आपके सर्वर पर मौजूद किसी यूआरएल को कॉल करना चाहिए. यह यूआरएल--
SERVER_TOKEN_URL--आपके बैकएंड के लागू करने के तरीके पर निर्भर करता है. यहां दिया गया यूआरएल, GitHub पर मौजूद सैंपल के तौर पर मिले ऐप्लिकेशन के बैकएंड के लिए है:https://SERVER_URL/token/delivery_consumer/TRACKING_ID
उदाहरण - पुष्टि के लिए टोकन फ़ेचर बनाना
यहां दिए गए उदाहरणों में, अनुमति के लिए टोकन फ़ेचर बनाने का तरीका बताया गया है:
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,
};
}