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