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