नया मैप रेंडरर

बेहतर किया गया मैप रेंडरर, Android के लिए Maps SDK टूल के 18.2.0 वर्शन के तहत उपलब्ध है. यह रेंडरर कई सुधार करता है, जिनमें क्लाउड-आधारित मैप की स्टाइल के लिए सहायता शामिल है.

रेंडरर के नए वर्शन से ये फ़ायदे मिलते हैं:

लॉन्च का शेड्यूल

मार्च 2024 में, Google ने डिवाइस पर डिप्लॉय किए गए सभी ऐप्लिकेशन को, अपग्रेड किए गए रेंडरर का इस्तेमाल करने के लिए, अपने-आप अपडेट करना शुरू किया. आने वाले महीनों में, डिवाइस अपने-आप अपडेट होते रहेंगे. इसका मतलब है कि असली उपयोगकर्ताओं के डिवाइसों को अपडेट की अवधि के दौरान, अलग-अलग समय पर अपडेट किया जाएगा.

अपने-आप अपडेट होने की सुविधा, उन सभी ऐप्लिकेशन पर लागू होती है जो डिवाइस से जुड़ी ज़रूरी शर्तें पूरी करते हैं. भले ही, ऐप्लिकेशन Android के लिए Maps SDK टूल के किसी भी वर्शन का इस्तेमाल करता हो.

अपने-आप अपडेट होने की सुविधा, इन पर लागू नहीं होती:

  • ऐसे ऐप्लिकेशन जो अपग्रेड किए गए रेंडरर का इस्तेमाल करने के लिए, पहले ही अपडेट हो चुके हैं.

  • वे ऐप्लिकेशन जिन्होंने अपग्रेड से साफ़ तौर पर ऑप्ट आउट किया है.

  • ऐसे डिवाइस पर चल रहे ऐप्लिकेशन जो डिवाइस की ज़रूरी शर्तों को पूरा नहीं करते.

डिफ़ॉल्ट रेंडरर बदलने पर क्या होता है?

Android के लिए Maps SDK के वर्शन 18.2.0 की रिलीज़ के साथ, डिफ़ॉल्ट रेंडरर, अपग्रेड किया गया रेंडरर बन गया. अपग्रेड किए गए रेंडरर का फ़ायदा पाने के लिए, आपके पास नए ऐप्लिकेशन बनाने या SDK टूल के नए वर्शन का इस्तेमाल करके किसी भी मौजूदा ऐप्लिकेशन को फिर से बनाने का विकल्प होता है. इसके अलावा, तब तक इंतज़ार किया जा सकता है, जब तक Google, डिप्लॉय किया गया ऐप्लिकेशन अपने-आप अपडेट नहीं कर देता.

अपडेट होने के बाद, आपका ऐप्लिकेशन अपग्रेड किए गए रेंडरर में उपलब्ध सभी नई सुविधाओं और फ़ायदों का फ़ायदा उठा सकता है.

हालांकि, अगर बदलाव से ऑप्ट-आउट किया जाता है, तो आपका ऐप्लिकेशन लेगसी रेंडरर का इस्तेमाल जारी रखेगा. ऑप्ट-आउट करने के तरीके के उदाहरण कोड के लिए, अपग्रेड किए गए रेंडरर का इस्तेमाल करने से ऑप्ट-आउट करना देखें.

वे डिवाइस जिन पर YouTube ऐप्लिकेशन से YouTube Kids का इस्तेमाल किया जा सकता है

अपने-आप अपडेट होने की सुविधा, इन शर्तों को पूरा करने वाले सभी डिवाइसों पर लागू होती है. भले ही, ऐप्लिकेशन Android के लिए Maps SDK टूल के किसी भी वर्शन का इस्तेमाल करता हो:

  • Android 5.0 (एपीआई लेवल 21) या उसके बाद का वर्शन
  • Google Play services के 21.39.14 या इसके बाद के वर्शन का इस्तेमाल करना

Android 4.4W (एपीआई लेवल 20) और उससे पहले के वर्शन का इस्तेमाल करने वाले या Google Play services के 21.39.13 या इससे पहले के वर्शन का इस्तेमाल करने वाले डिवाइस, लेगसी रेंडरर का इस्तेमाल करते रहेंगे.

अपग्रेड किए गए रेंडरर का इस्तेमाल करने की सुविधा से ऑप्ट-आउट करना

अगर ज़रूरी हो, तो अपने ऐप्लिकेशन में लेगसी रेंडरर का इस्तेमाल करने के लिए, अपग्रेड किए गए रेंडरर का इस्तेमाल करने से साफ़ तौर पर ऑप्ट-आउट किया जा सकता है.

इस सुविधा से ऑप्ट-आउट करने के लिए:

  • Android के लिए Maps SDK टूल को v18.0 या इसके बाद वाले वर्शन पर अपग्रेड करें.

  • MapsInitializer और MapsInitializer.Renderer को साफ़ तौर पर इंपोर्ट करने के लिए अपना कोड अपडेट करें.

  • कॉल करने के लिए अपना कोड अपडेट करें MapsInitializer.initialize(). इससे ऑप्ट-आउट करने और लेगसी रेंडरर का इस्तेमाल करने के लिए, Renderer.LEGACY पास हो जाएंगे.

  • यह तय करने के लिए कि रेंडरर का कौनसा वर्शन दिया गया था, OnMapsSdkInitializedCallback का इस्तेमाल करें.

आपके कोड को किसी भी MapView, MapFragment या SupportMapFragment को बनाए जाने से पहले, MapsInitializer.initialize() को कॉल करना होगा. हमारा सुझाव है कि अपने ऐप्लिकेशन के कॉन्टेंट वाले व्यू सेट होने से पहले, इसे अपने ऐप्लिकेशन के ऐप्लिकेशन में या गतिविधि में सेव करने के लिए, onCreate में जाएं.

नीचे दिए गए उदाहरण में, लेगसी मैप रेंडरर का इस्तेमाल करने के लिए, MapsInitializer.initialize() को ऑप्ट-आउट करने का तरीका बताया गया है.

Kotlin

import com.google.android.gms.maps.MapsInitializer
import com.google.android.gms.maps.MapsInitializer.Renderer
import com.google.android.gms.maps.OnMapsSdkInitializedCallback

internal class MapRendererOptInApplication : Application(), OnMapsSdkInitializedCallback {
  override fun onCreate() {
    super.onCreate()
    MapsInitializer.initialize(applicationContext, Renderer.LEGACY, this)
  }

  override fun onMapsSdkInitialized(renderer: MapsInitializer.Renderer) {
    when (renderer) {
      Renderer.LATEST -> Log.d("MapsDemo", "The latest version of the renderer is used.")
      Renderer.LEGACY -> Log.d("MapsDemo", "The legacy version of the renderer is used.")
    }
  }
}

Java

import com.google.android.gms.maps.MapsInitializer;
import com.google.android.gms.maps.MapsInitializer.Renderer;
import com.google.android.gms.maps.OnMapsSdkInitializedCallback;

class MapRendererOptInApplication extends Application implements OnMapsSdkInitializedCallback {

  @Override
  public void onCreate() {
    super.onCreate();
    MapsInitializer.initialize(getApplicationContext(), Renderer.LEGACY, this);
  }

  @Override
  public void onMapsSdkInitialized(MapsInitializer.Renderer renderer) {
    switch (renderer) {
      case LATEST:
        Log.d("MapsDemo", "The latest version of the renderer is used.");
        break;
      case LEGACY:
        Log.d("MapsDemo", "The legacy version of the renderer is used.");
        break;
    }
  }
}