قبل بدء هذه الإجراءات، تأكَّد من تفعيل الخدمات المناسبة وConsumer SDK كما هو موضّح في الأقسام السابقة.
لإعداد حزمة تطوير البرامج (SDK) الخاصة بالمستهلك، يُرجى اتّباع الخطوات التالية:
الحصول على مثيل ConsumerApi
لاستخدام حزمة تطوير البرامج (SDK) الخاصة بالمستهلك، يجب أن يبدأ تطبيقك في إعداد اللغة المفردة
ConsumerApi
بشكل غير متزامن. تستخدم طريقة الإعداد الفئة AuthTokenFactory
لإنشاء رموز JWT جديدة للمستخدم عند الضرورة.
providerId
هو رقم تعريف المشروع لمشروعك على Google Cloud. لمزيد من
المعلومات حول إنشاء مشروع Fleet Engine، يُرجى الاطّلاع على إنشاء مشروع Fleet Engine في دليل Fleet Engine.
يجب أن ينفذ تطبيقك AuthTokenFactory
على النحو الموضّح في Consumer SDK
Authentication.
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()
.
إصدار حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" | تتوافق مع أحدث أداة معالجة | توفُّر وحدة معالجة الرسومات القديمة | عارض الصور التلقائي |
---|---|---|---|
الإصدار 18.1.0 والإصدارات الأقدم | نعم | نعم | قديم* |
V18.2.0 | نعم | نعم | الأحدث |
* مع طرح أداة عرض "خرائط Google" الجديدة، سيكون "أداة العرض الأحدث" هي الإعداد التلقائي.
إذا كان عليك استخدام أداة عرض مفضّلة، نفِّذ جميع عمليات عرض واجهة المستخدم
بعد أن يعرض OnMapsSdkInitializedCallback
نتيجة. تشمل عمليات عرض واجهة المستخدم
العمليات التالية:
تضخيم عرض يتضمّن
GoogleMapView
أوConsumerMapView
يتم وضع علامات على
ConsumerMapView
.
إذا لم يتم تنفيذ هذه العمليات بعد تلقّي نتيجة
OnMapsSdkInitializedCallback
، لن تخصص حزمة SDK لتطبيق "خرائط Google" معالج عرض
المفضّل لديك، وسيتم عرض طريقة عرض الخريطة بدلاً من ذلك من خلال معالج العرض التلقائي.
إعداد حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط 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 للأمان.
تحتوي المقالة أيضًا على نماذج تعليمات برمجية لتصحيح مقدّم الأمان.