Tüketici SDK'sını başlatma

Bu prosedürleri başlatmadan önce, önceki bölümlerde açıklandığı gibi uygun hizmetleri ve Tüketici SDK'sını etkinleştirdiğinizden emin olun.

Tüketici SDK'sını başlatmak için aşağıdaki adımları uygulayın:

  1. ConsumerAPI örneğini alın
  2. Tercih edilen oluşturma aracını istemek için Haritalar SDK'sını başlatma

ConsumerApi örneğini alma

Tüketici SDK'sını kullanmak için uygulamanızın tekil ConsumerApi sınıfını eşzamansız olarak başlatması gerekir. İlklendirme yöntemi, gerektiğinde kullanıcı için yeni JWT jetonları oluşturmak üzere AuthTokenFactory sınıfını alır.

providerId, Google Cloud projenizin proje kimliğidir. Fleet Engine projesi oluşturma hakkında daha fazla bilgi için Fleet Engine kılavuzundaki Fleet Engine projenizi oluşturma bölümüne bakın.

Uygulamanız, AuthTokenFactory'yi Consumer SDK Kimlik Doğrulaması bölümünde açıklandığı şekilde uygulamalıdır.

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
}

Haritalar SDK'sı ve harita oluşturma araçları

Tüketici SDK'sı 2.0.0 ve sonraki sürümler, Android için Haritalar SDK'sı 18.1.0 ve sonraki sürümleri destekler. Aşağıdaki tabloda, Haritalar SDK'sı sürümüne göre varsayılan oluşturma aracı ve her iki oluşturma aracının da desteklenebilirliği özetlenmektedir. Mümkünse en son oluşturma aracını kullanın. Eski oluşturma aracını kullanmanız gerekiyorsa MapsInitializer.initialize() kullanarak açıkça belirtin.

Haritalar SDK sürümü En son oluşturma aracını destekler Eski oluşturma aracını destekler Varsayılan oluşturma aracı
18.1.0 ve önceki sürümler Evet Evet Eski*
V18.2.0 Evet Evet Son yüklenenler

* Yeni Haritalar Oluşturucu kullanıma sunulduğunda en son oluşturucu varsayılan olarak kullanılacaktır.

Tercih edilen bir oluşturma aracı kullanmanız gerekiyorsa tüm kullanıcı arayüzü oluşturma işlemlerini OnMapsSdkInitializedCallback bir sonuç döndürdükten sonra çalıştırın. Kullanıcı arayüzü oluşturma işlemleri aşağıdakileri içerir:

  • GoogleMapView veya ConsumerMapView içeren bir görünümü şişirme.

  • ConsumerMapView'e işaretçi yerleştirme.

OnMapsSdkInitializedCallback sonucunu aldıktan sonra bu işlemleri çalıştırmazsanız Haritalar SDK'sı tercih ettiğiniz oluşturma aracını ayırmaz ve harita görünümü varsayılan oluşturma aracı tarafından oluşturulur.

Tüketici SDK'sını başlatmadan önce Haritalar SDK'sını başlatma

  1. Application veya başlangıç Activity sınıfınızda MapsInitializer.initialize() işlevini çağırın.

  2. Tüketici SDK'sını başlatmadan önce oluşturma aracısı istek sonucunu bekleyin.

Ayrıntılar için aşağıdaki örneklere bakın.

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()
      }
    })
  }

SSL/TLS ile ilgili notlar

Tüketici SDK'sı, Fleet Engine hizmetiyle güvenli bir şekilde iletişim kurmak için dahili olarak SSL/TLS kullanır. Android API 23 veya önceki sürümlerde, sunucuyla iletişim kurmak için SecurityProvider yaması gerekebilir. Android'de SSL ile çalışma hakkında daha fazla bilgi için Güvenlik GMS Sağlayıcısı başlıklı makaleyi inceleyin. Makalede, güvenlik sağlayıcıya yama uygulamayla ilgili kod örnekleri de verilmiştir.

Sırada ne var?

Harita oluşturma