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

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

Consumer SDK'yı başlatmak için aşağıdaki adımları uygulayın:

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

ConsumerApi örneğini alma

Consumer SDK'yı kullanmak için uygulamanızın tekil öğeyi ConsumerApi eşzamansız olarak başlatması gerekir. Başlatma 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, Consumer SDK Authentication bölümünde açıklandığı şekilde AuthTokenFactory özelliğini 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şturucular

Consumer SDK'nın 2.0.0 ve sonraki sürümleri, Android için Haritalar SDK'sının 18.1.0 ve sonraki sürümlerini destekler. Aşağıdaki tabloda, Haritalar SDK'sı sürümüne göre varsayılan oluşturucu ve her iki oluşturucunun desteklenebilirliği özetlenmektedir. Mümkünse en yeni oluşturucuyu kullanın. Eski oluşturucuyu kullanmanız gerekiyorsa MapsInitializer.initialize() kullanarak bunu açıkça belirtin.

Haritalar SDK'sı sürümü En yeni oluşturucuyu destekler Eski oluşturucuyu destekler Varsayılan oluşturucu
V18.1.0 ve önceki sürümler Evet Evet Eski*
V18.2.0 Evet Evet Son yüklenenler

* Yeni Haritalar Oluşturucu'nun kullanıma sunulmasıyla birlikte, varsayılan olarak En Son Oluşturucu kullanılacaktır.

Tercih edilen bir oluşturucu kullanmanız gerekiyorsa OnMapsSdkInitializedCallback sonuç döndürdükten sonra tüm kullanıcı arayüzü oluşturma işlemlerini çalıştırın. Kullanıcı arayüzü oluşturma işlemleri arasında şunlar yer alır:

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

  • ConsumerMapView üzerine işaretçi yerleştirme.

OnMapsSdkInitializedCallback sonucunu aldıktan sonra bu işlemleri çalıştırmazsanız Maps SDK, tercih ettiğiniz oluşturucuyu ayırmaz ve harita görünümü bunun yerine varsayılan oluşturucu tarafından oluşturulur.

Consumer SDK'yı başlatmadan önce Haritalar SDK'sını başlatın.

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

  2. Consumer SDK'sını başlatmadan önce oluşturucu isteği 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ı uygulaması, Fleet Engine hizmetiyle güvenli bir şekilde iletişim kurmak için dahili olarak SSL/TLS kullanır. Android API'nin 23 veya önceki sürümlerinde sunucuyla iletişim kurmak için SecurityProvider düzeltme eki gerekebilir. Android'de SSL ile çalışma hakkında daha fazla bilgi için Security GMS Provider başlıklı makaleyi inceleyin. Makalede, güvenlik sağlayıcısını düzeltmeye yönelik kod örnekleri de yer almaktadır.

Sırada ne var?

Harita oluşturma