इन प्रक्रियाओं को शुरू करने से पहले, पक्का करें कि आपने पिछले सेक्शन में बताए गए तरीके से, ज़रूरी सेवाएं और Consumer SDK चालू कर दिया हो.
Consumer SDK को शुरू करने के लिए, यह तरीका अपनाएं:
ConsumerApi इंस्टेंस पाना
Consumer SDK का इस्तेमाल करने के लिए, आपके ऐप्लिकेशन को सिंगलटन ConsumerApi को एसिंक्रोनस तरीके से शुरू करना होगा. शुरू करने का यह तरीका, AuthTokenFactory क्लास का इस्तेमाल करता है. इससे उपयोगकर्ता के लिए, ज़रूरत पड़ने पर नए जेडब्लयूटी टोकन जनरेट किए जाते हैं.
providerId आपके Google Cloud प्रोजेक्ट का प्रोजेक्ट आईडी है. Fleet Engine प्रोजेक्ट बनाने के बारे में ज़्यादा जानकारी के लिए, Fleet Engine की गाइड में Fleet Engine प्रोजेक्ट बनाना लेख पढ़ें.
आपके ऐप्लिकेशन में AuthTokenFactory को लागू किया जाना चाहिए. इसके बारे में Consumer SDK
Authentication में बताया गया है.
Java
Task<ConsumerApi> consumerApiTask = ConsumerApi.initialize(
this, "myProviderId", authTokenFactory);
consumerApiTask.addOnSuccessListener(
consumerApi -> this.consumerApi = consumerApi);
Kotlin
val consumerApiTask =
ConsumerApi.initialize(this, "myProviderId", authTokenFactory)
consumerApiTask?.addOnSuccessListener { consumerApi: ConsumerApi ->
this@YourActivity.consumerApi = consumerApi
}
मानचित्र SDK और मानचित्र रेंडरर्स
उपभोक्ता SDK v2.0.0 और बाद के संस्करण Android v18.1.0 और बाद के संस्करणों के लिए मैप्स SDK का समर्थन करते हैं. निम्न तालिका मैप्स SDK संस्करण के अनुसार डिफ़ॉल्ट रेंडरर और दोनों रेंडरर्स की समर्थनीयता का सारांश प्रस्तुत करती है. यदि संभव हो तो नवीनतम रेंडरर का उपयोग करें.
अगर आपको लेगसी रेंडरर का इस्तेमाल करना है, तो MapsInitializer.initialize() का इस्तेमाल करके, इसे साफ़ तौर पर सेट करें.
| मानचित्र SDK संस्करण | नवीनतम रेंडरर का समर्थन करता है | लेगसी रेंडरर के साथ काम करता है | डिफ़ॉल्ट रेंडरर |
|---|---|---|---|
| V18.1.0 और नीचे | हां | हां | परंपरा* |
| V18.2.0 | हां | हां | सबसे नए |
* नए मैप्स रेंडरर के रोलआउट के साथ, नवीनतम रेंडरर डिफ़ॉल्ट होगा.
अगर आपको पसंदीदा रेंडरर का इस्तेमाल करना ही है, तो सभी UI-रेंडरिंग ऑपरेशन OnMapsSdkInitializedCallback के नतीजे लौटाने के बाद चलाएँ. UI-रेंडरिंग परिचालनों में निम्नलिखित परिचालन शामिल हैं:
ऐसे व्यू को बढ़ाना जिसमें
GoogleMapViewयाConsumerMapViewशामिल हो.ConsumerMapViewपर मार्कर लगाए जा रहे हैं.
यदि आप OnMapsSdkInitializedCallback परिणाम प्राप्त करने के बाद ये ऑपरेशन नहीं चलाते हैं, तो मैप्स SDK आपके पसंदीदा रेंडरर को आवंटित नहीं करता है और इसके बजाय मैप दृश्य डिफ़ॉल्ट रेंडरर द्वारा रेंडर किया जाता है.
उपभोक्ता SDK को प्रारंभ करने से पहले मैप्स SDK को प्रारंभ करें
अपनी
Applicationया स्टार्ट-अपActivityक्लास में, MapsInitializer.initialize() को कॉल करेंउपभोक्ता SDK को आरंभ करने से पहले रेंडरर अनुरोध परिणाम की प्रतीक्षा करें.
ज़्यादा जानकारी के लिए, यहां दिए गए उदाहरण देखें.
Java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initViews();
MapsInitializer.initialize(getApplicationContext(), Renderer.LATEST,
new OnMapsSdkInitializedCallback() {
@Override
public void onMapsSdkInitialized(Renderer renderer) {
switch (renderer) {
case LATEST:
Log.i("maps_renderer", "LATEST renderer");
break;
case LEGACY:
Log.i("maps_renderer", "LEGACY renderer");
break;
}
initializeConsumerSdk();
}
});
}
Kotlin
fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main)
initViews()
MapsInitializer.initialize(
getApplicationContext(), Renderer.LATEST,
object : OnMapsSdkInitializedCallback() {
fun onMapsSdkInitialized(renderer: Renderer?) {
when (renderer) {
LATEST -> Log.i("maps_renderer", "LATEST renderer")
LEGACY -> Log.i("maps_renderer", "LEGACY renderer")
}
initializeConsumerSdk()
}
})
}
एसएसएल/टीएलएस के बारे में नोट
Consumer SDK को लागू करने के दौरान, SSL/TLS का इस्तेमाल किया जाता है. इससे Fleet Engine सेवा के साथ सुरक्षित तरीके से कम्यूनिकेट किया जा सकता है. Android API के 23 या इससे पहले के वर्शन में, सर्वर से कम्यूनिकेट करने के लिए SecurityProvider पैच की ज़रूरत पड़ सकती है. Android में एसएसएल के साथ काम करने के बारे में ज़्यादा जानकारी के लिए, Security GMS Provider देखें.
इस लेख में, सुरक्षा सेवा देने वाली कंपनी को पैच करने के लिए कोड सैंपल भी दिए गए हैं.