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