Bu prosedürlere başlamadan önce, önceki bölümlerde açıklandığı şekilde uygun hizmetleri ve Tüketici SDK'sını etkinleştirdiğinizden emin olun.
Tüketici SDK'sını başlatmak için şu adımları uygulayın:
ConsumerApi
örneğini alın
Tüketici SDK'sını kullanmak için uygulamanızın tekil ConsumerApi
sınıfı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ı 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 Tüketici SDK'sı 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ş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ş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ı sürümü | En son oluşturma aracını destekler | Eski oluşturma aracını destekler | Varsayılan oluşturma aracı |
---|---|---|---|
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, En son oluşturucu varsayılan olacaktır.
Tercih edilen oluşturucuyu 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 aşağıdaki işlemleri içerir:
GoogleMapView
veyaConsumerMapView
içeren bir görünümü şişirme.ConsumerMapView
konumuna 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 ayırmaz ve bunun yerine, 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
Application
veya başlangıçActivity
sınıfınızda MapsInitializer.initialize() işlevini çağırın.Tüketici SDK'sını başlatmadan önce oluşturucu 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ümler, sunucuyla iletişim kurmak için SecurityProvider
yaması gerektirebilir. Android'de SSL ile çalışma hakkında daha fazla bilgi için Güvenlik GMS Sağlayıcısı'na bakın.
Makalede, güvenlik sağlayıcıya yama uygulamak için kullanılan kod örnekleri de yer almaktadır.