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