قبل از شروع این روشها، مطمئن شوید که خدمات مناسب و Consumer SDK را همانطور که در بخشهای قبلی توضیح داده شد، فعال کردهاید.
برای مقداردهی اولیه Consumer SDK، مراحل زیر را دنبال کنید:
نمونه ConsumerApi
را دریافت کنید
برای استفاده از Consumer SDK، برنامه شما باید ConsumerApi
را به صورت ناهمزمان مقداردهی اولیه کند. روش مقداردهی اولیه کلاس AuthTokenFactory
را می گیرد تا در صورت لزوم توکن های جدید JWT را برای کاربر تولید کند.
providerId
شناسه پروژه Google Cloud Project شما است. برای اطلاعات بیشتر در مورد ایجاد پروژه Fleet Engine، به ایجاد پروژه Fleet Engine خود در راهنمای Fleet Engine مراجعه کنید.
برنامه شما باید AuthTokenFactory
را همانطور که در Consumer SDK Authentication توضیح داده شده پیاده سازی کند.
جاوا
Task<ConsumerApi> consumerApiTask = ConsumerApi.initialize(
this, "myProviderId", authTokenFactory);
consumerApiTask.addOnSuccessListener(
consumerApi -> this.consumerApi = consumerApi);
کاتلین
val consumerApiTask =
ConsumerApi.initialize(this, "myProviderId", authTokenFactory)
consumerApiTask?.addOnSuccessListener { consumerApi: ConsumerApi ->
this@YourActivity.consumerApi = consumerApi
}
Maps SDK و ارائهدهنده نقشهها
Consumer SDK نسخه 2.0.0 و نسخه های بعدی از Maps SDK برای اندروید نسخه 18.1.0 و بالاتر پشتیبانی می کند. جدول زیر رندر پیشفرض بر اساس نسخه Maps SDK و قابلیت پشتیبانی هر دو رندر را خلاصه میکند. در صورت امکان از آخرین رندر استفاده کنید. اگر باید از رندر قدیمی استفاده کنید، آن را به صراحت با استفاده از MapsInitializer.initialize()
مشخص کنید.
نسخه SDK نقشه ها | از آخرین رندر پشتیبانی می کند | از رندر قدیمی پشتیبانی می کند | رندر پیش فرض |
---|---|---|---|
V18.1.0 و پایین تر | بله | بله | میراث* |
V18.2.0 | بله | بله | آخرین |
* با عرضه Maps Renderer جدید ، آخرین رندر پیش فرض خواهد بود.
اگر باید از یک رندر ترجیحی استفاده کنید، پس از اینکه OnMapsSdkInitializedCallback
نتیجه را برگرداند، تمام عملیات رندر UI را اجرا کنید. عملیات رندر UI شامل عملیات زیر است:
بزرگ کردن نمای حاوی
GoogleMapView
یاConsumerMapView
.قرار دادن نشانگرها در
ConsumerMapView
.
اگر پس از دریافت نتیجه OnMapsSdkInitializedCallback
، این عملیات را اجرا نکنید، Maps SDK رندر دلخواه شما را اختصاص نمیدهد و نمای نقشه توسط رندر پیشفرض ارائه میشود.
قبل از مقداردهی اولیه SDK مصرف کننده، Maps SDK را راه اندازی کنید
در کلاس
Application
یا Start-upActivity
خود، MapsInitializer.initialize() را فراخوانی کنید.قبل از مقداردهی اولیه Consumer SDK منتظر نتیجه درخواست رندر باشید.
برای جزئیات بیشتر به نمونه های زیر مراجعه کنید.
جاوا
@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();
}
});
}
کاتلین
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
در داخل، اجرای Consumer SDK از SSL/TLS برای برقراری ارتباط امن با سرویس Fleet Engine استفاده می کند. Android API نسخه 23 یا جدیدتر ممکن است برای برقراری ارتباط با سرور به یک وصله SecurityProvider
نیاز داشته باشد. برای اطلاعات بیشتر در مورد کار با SSL در Android، به ارائه دهنده امنیت GMS مراجعه کنید. این مقاله همچنین حاوی نمونه کدهایی برای وصله ارائه دهنده امنیت است.