قبل بدء هذه الإجراءات، تأكَّد من تفعيل الخدمات المناسبة وConsumer SDK كما هو موضّح في الأقسام السابقة.
لإعداد حزمة Consumer SDK، اتّبِع الخطوات التالية:
- الحصول على مثيل
ConsumerAPI
- إعداد حزمة تطوير البرامج (SDK) لتطبيق "خرائط Google" لطلب أداة التقديم المفضّلة
الحصول على مثيل ConsumerApi
لاستخدام حزمة Consumer SDK، يجب أن يُنشئ تطبيقك العنصر الفردي
ConsumerApi
بشكل غير متزامن. تستخدِم طريقة الإعداد فئة
AuthTokenFactory
لإنشاء رموز JWT جديدة للمستخدم عند الضرورة.
providerId
هو رقم تعريف المشروع لمشروعك على Google Cloud. لمزيد من
المعلومات عن إنشاء مشروع Fleet Engine، اطّلِع على إنشاء مشروع Fleet Engine في دليل Fleet Engine.
يجب أن ينفذ تطبيقك AuthTokenFactory
على النحو الموضّح في Consumer SDK
المصادقة.
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
}
حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" وأدوات عرض الخرائط
يتوافق الإصدار 2.0.0 من حزمة Consumer SDK والإصدارات الأحدث مع الإصدار 18.1.0 من حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لتطبيقات Android والإصدارات اللاحقة. يلخِّص الجدول التالي أداة الربط التلقائية حسب إصدار حزمة SDK لتطبيق "خرائط Google"
ومدى توافق كلتا أداتَي الربط. استخدِم أحدث وحدة عرض إن أمكن.
إذا كان عليك استخدام أداة التحويل القديمة، حدِّدها صراحةً باستخدام
MapsInitializer.initialize()
.
إصدار حزمة تطوير البرامج (SDK) لتطبيق "خرائط Google" | تتوافق مع أحدث أداة معالجة | توفُّر وحدة معالجة الرسومات القديمة | عارض الصور التلقائي |
---|---|---|---|
الإصدار 18.1.0 والإصدارات الأقدم | نعم | نعم | قديم* |
V18.2.0 | نعم | نعم | الأحدث |
* مع طرح أداة عرض "خرائط Google" الجديدة، سيكون "أداة العرض الأحدث" هي الإعداد التلقائي.
إذا كان عليك استخدام أداة عرض مفضّلة، نفِّذ جميع عمليات عرض واجهة المستخدم
بعد أن يعرض OnMapsSdkInitializedCallback
نتيجة. تشمل عمليات عرض واجهة المستخدم
العمليات التالية:
تضخيم عرض يتضمّن
GoogleMapView
أوConsumerMapView
يتم وضع علامات على
ConsumerMapView
.
إذا لم يتم تنفيذ هذه العمليات بعد تلقّي نتيجة
OnMapsSdkInitializedCallback
، لن تخصص حزمة SDK لتطبيق "خرائط Google" معالج عرض
المفضّل لديك، وسيتم عرض طريقة عرض الخريطة بدلاً من ذلك من خلال معالج العرض التلقائي.
إعداد حزمة تطوير البرامج (SDK) لتطبيق "خرائط Google" قبل إعداد حزمة تطوير البرامج (SDK) للمستهلك
في فئة
Application
أو فئةActivity
لبدء التشغيل، استخدِم الإجراء MapsInitializer.initialize().انتظِر نتيجة طلب أداة التحويل قبل إعداد حزمة تطوير البرامج (SDK) للمستهلك.
اطّلِع على الأمثلة التالية لمعرفة التفاصيل.
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()
}
})
}
ملاحظات حول طبقة المقابس الآمنة/بروتوكول أمان طبقة النقل
في الوقت نفسه، يستخدم تنفيذ حزمة تطوير البرامج (SDK) للمستهلك بروتوكولَي SSL/TLS للتواصل بأمان
مع خدمة Fleet Engine. قد تتطلّب إصدارات Android API 23 أو الإصدارات الأقدم تصحيحًا
SecurityProvider
للتواصل مع الخادم. لمزيد من المعلومات
حول استخدام طبقة المقابس الآمنة (SSL) في Android، يُرجى الاطّلاع على موفِّر خدمات الأمان في GMS.
تحتوي المقالة أيضًا على نماذج تعليمات برمجية لتصحيح مقدّم الأمان.