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