SDK مصرف کننده را راه اندازی کنید
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
قبل از شروع این روشها، مطمئن شوید که خدمات مناسب و Consumer SDK را همانطور که در بخشهای قبلی توضیح داده شد، فعال کردهاید.
برای مقداردهی اولیه Consumer SDK، مراحل زیر را دنبال کنید:
- نمونه
ConsumerAPI
را دریافت کنید - Maps 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 شامل عملیات زیر است:
اگر پس از دریافت نتیجه OnMapsSdkInitializedCallback
، این عملیات را اجرا نکنید، Maps SDK رندر دلخواه شما را اختصاص نمیدهد و نمای نقشه توسط رندر پیشفرض ارائه میشود.
قبل از مقداردهی اولیه SDK مصرف کننده، Maps SDK را راه اندازی کنید
در کلاس Application
یا Start-up Activity
خود، 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 مراجعه کنید. این مقاله همچنین حاوی نمونه کدهایی برای وصله ارائه دهنده امنیت است.
بعدش چی
یک نقشه تنظیم کنید
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003eThe Consumer SDK requires initialization with a provider ID and authentication token factory before use.\u003c/p\u003e\n"],["\u003cp\u003eMaps SDK v18.1.0 or later is required, with the latest renderer preferred for optimal performance.\u003c/p\u003e\n"],["\u003cp\u003eBefore initializing the Consumer SDK, initialize Maps SDK and specify your preferred renderer to ensure proper map rendering.\u003c/p\u003e\n"],["\u003cp\u003eSecure communication is handled via SSL/TLS, and Android API versions 23 or earlier may require a security provider patch.\u003c/p\u003e\n"]]],["Before initialization, ensure the required services and Consumer SDK are enabled. To initialize the Consumer SDK, first, get the `ConsumerApi` instance using `ConsumerApi.initialize()`, providing the application context, project ID, and an `AuthTokenFactory` for JWT token generation. Next, initialize the Maps SDK via `MapsInitializer.initialize()` to specify the preferred renderer (latest or legacy) and wait for `OnMapsSdkInitializedCallback` before any UI rendering like `GoogleMapView`. Note that the Consumer SDK uses SSL/TLS for secure communication.\n"],null,["Before starting these procedures, make sure you have enabled the appropriate\nservices and the Consumer SDK as described in earlier sections.\n\nTo initialize the Consumer SDK, follow these steps:\n\n1. [Get the `ConsumerAPI` instance](#getinstance)\n2. [Initialize Maps SDK to request for preferred renderer](#init-maps)\n\nGet the `ConsumerApi` instance\n\nTo use the Consumer SDK, your app needs to initialize the singleton\n`ConsumerApi` asynchronously. The initialization method takes the\n`AuthTokenFactory` class to generate new JWT tokens for the user when necessary.\n\nThe `providerId` is the **Project ID** of your Google Cloud Project. For more\ninformation about creating a Fleet Engine project, see\n[Create your Fleet Engine project](/maps/documentation/mobility/fleet-engine/essentials/set-up-fleet/create-project) in the Fleet Engine guide.\n\nYour app should implement the `AuthTokenFactory` as described in [Consumer SDK\nAuthentication](/maps/documentation/mobility/journey-sharing/on-demand/android/auth-sdk). \n\nJava \n\n Task\u003cConsumerApi\u003e consumerApiTask = ConsumerApi.initialize(\n this, \"myProviderId\", authTokenFactory);\n\n consumerApiTask.addOnSuccessListener(\n consumerApi -\u003e this.consumerApi = consumerApi);\n\nKotlin \n\n val consumerApiTask =\n ConsumerApi.initialize(this, \"myProviderId\", authTokenFactory)\n\n consumerApiTask?.addOnSuccessListener { consumerApi: ConsumerApi -\u003e\n this@YourActivity.consumerApi = consumerApi\n }\n\nMaps SDK and maps renderers\n\nThe Consumer SDK v2.0.0 and later support the Maps SDK for Android v18.1.0 and\nlater. The following table summarizes the default renderer by Maps SDK version\nand the supportability of both renderers. If possible, use the latest renderer.\nIf you must use the legacy renderer, explicitly specify it using\n[`MapsInitializer.initialize()`](https://developers.google.com/android/reference/com/google/android/gms/maps/MapsInitializer).\n\n| Maps SDK version | Supports the latest renderer | Supports the legacy renderer | Default renderer |\n|-------------------|------------------------------|------------------------------|------------------|\n| V18.1.0 and below | Yes | Yes | Legacy\\* |\n| V18.2.0 | Yes | Yes | Latest |\n\n\\* With the rollout of [new Maps Renderer](https://developers.google.com/maps/documentation/android-sdk/renderer#rollout_schedule), the Latest renderer will be the\ndefault.\n\nIf you must use a preferred renderer, run all UI-rendering operations\n**after** `OnMapsSdkInitializedCallback` returns a result. UI-rendering\noperations include the following operations:\n\n- Inflating a view that contains `GoogleMapView` or `ConsumerMapView`.\n\n- Placing markers on `ConsumerMapView`.\n\nIf you don't run these operations after receiving the\n`OnMapsSdkInitializedCallback` result, the Maps SDK doesn't allocate your\npreferred renderer and the map view is instead rendered by the default renderer.\n\nInitialize Maps SDK before initializing the Consumer SDK\n\n1. In your `Application` or start-up `Activity` class, call\n [MapsInitializer.initialize()](https://developers.google.com/maps/documentation/android-sdk/renderer)\n\n2. Wait for the renderer request result before initializing the Consumer SDK.\n\nSee the following examples for details. \n\nJava \n\n @Override\n protected void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n setContentView(R.layout.main);\n initViews();\n\n MapsInitializer.initialize(getApplicationContext(), Renderer.LATEST,\n new OnMapsSdkInitializedCallback() {\n @Override\n public void onMapsSdkInitialized(Renderer renderer) {\n switch (renderer) {\n case LATEST:\n Log.i(\"maps_renderer\", \"LATEST renderer\");\n break;\n case LEGACY:\n Log.i(\"maps_renderer\", \"LEGACY renderer\");\n break;\n }\n\n initializeConsumerSdk();\n }\n });\n }\n\nKotlin \n\n fun onCreate(savedInstanceState: Bundle?) {\n super.onCreate(savedInstanceState)\n setContentView(R.layout.main)\n initViews()\n\n MapsInitializer.initialize(\n getApplicationContext(), Renderer.LATEST,\n object : OnMapsSdkInitializedCallback() {\n fun onMapsSdkInitialized(renderer: Renderer?) {\n when (renderer) {\n LATEST -\u003e Log.i(\"maps_renderer\", \"LATEST renderer\")\n LEGACY -\u003e Log.i(\"maps_renderer\", \"LEGACY renderer\")\n }\n initializeConsumerSdk()\n }\n })\n }\n\nNotes on SSL/TLS\n\nInternally, the Consumer SDK implementation uses SSL/TLS to communicate securely\nwith the Fleet Engine service. Android API versions 23 or earlier may require a\n`SecurityProvider` patch to communicate with the server. For more information\nabout working with SSL in Android, see [Security GMS\nProvider](https://developer.android.com/training/articles/security-gms-provider).\nThe article also contains code samples for patching the security provider.\n\nWhat's next\n\n[Set up a map](/maps/documentation/mobility/journey-sharing/on-demand/android/create-ui)"]]