Bu prosedürlere başlamadan önce, önceki bölümlerde açıklandığı gibi uygun hizmetleri ve Consumer SDK'yı etkinleştirdiğinizden emin olun.
Tüketici SDK'sını başlatmak için aşağıdaki adımları uygulayın:
ConsumerApi örneğini alma
Tüketici SDK'sını kullanmak için uygulamanızın ConsumerApi singleton'ını 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ı kullanı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, Tüketici SDK'sı Kimlik Doğrulaması bölümünde açıklandığı gibi AuthTokenFactory'yı 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
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şturucu ve her iki oluşturucunun desteklenebilirliği özetlenmiştir. 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ü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şturucunun kullanıma sunulmasıyla birlikte, en yeni oluşturucu varsayılan olarak ayarlanacak.
Tercih edilen bir oluşturucu 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 şunları içerir:
GoogleMapViewveyaConsumerMapViewiçeren bir görünümü genişletme.ConsumerMapViewüzerine işaretçi yerleştiriliyor.
OnMapsSdkInitializedCallback sonucunu aldıktan sonra bu işlemleri çalıştırmazsanız Haritalar SDK'sı tercih ettiğiniz oluşturucuyu tahsis etmez ve harita görünümü varsayılan oluşturucu tarafından oluşturulur.
Tüketici SDK'sını başlatmadan önce Haritalar SDK'sını başlatın.
Applicationveya başlangıçActivitysınıfınızda MapsInitializer.initialize() yöntemini çağırın.Tüketici 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 daha önceki sürümleri, sunucuyla iletişim kurmak için bir SecurityProvider yaması gerektirebilir. 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 uygulamak için kod örnekleri de yer alır.