قبل بدء هذه الإجراءات، تأكَّد من تفعيل الخدمات المناسبة وحزمة تطوير البرامج (SDK) للمستهلك كما هو موضّح في الأقسام السابقة.
لإعداد حزمة تطوير البرامج (SDK) للمستهلك، اتّبِع الخطوات التالية:
- الحصول على مثيل
ConsumerAPI - إعداد حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لطلب العارض المفضّل
الحصول على مثيل ConsumerApi
لاستخدام حزمة تطوير البرامج (SDK) للمستهلك، يحتاج تطبيقك إلى إعداد العنصر الفردي
ConsumerApi بشكل غير متزامن. تستخدم طريقة الإعداد فئة AuthTokenFactory لإنشاء رموز JWT جديدة للمستخدم عند الضرورة.
providerId هو رقم تعريف المشروع لمشروعك على Google Cloud. لمزيد من المعلومات حول إنشاء مشروع Fleet Engine، يُرجى الاطّلاع على إنشاء مشروع Fleet Engine في دليل Fleet Engine.
يجب أن ينفّذ تطبيقك AuthTokenFactory على النحو الموضّح في مصادقة حزمة تطوير البرامج (SDK) للمستهلك.
جافا
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 من حزمة تطوير البرامج (SDK) للمستهلك والإصدارات الأحدث مع الإصدار 18.1.0 من حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google للتطبيقات المتوافقة مع Android والإصدارات الأحدث. يلخّص الجدول التالي المعالج التلقائي حسب إصدار حزمة تطوير البرامج (SDK) لـ "خرائط Google" وإمكانية استخدام كلا المعالجَين. استخدِم أحدث إصدار من أداة العرض إن أمكن.
إذا اضطررت إلى استخدام أداة العرض القديمة، حدِّدها صراحةً باستخدام
MapsInitializer.initialize().
| إصدار حزمة تطوير البرامج (SDK) لـ "خرائط Google" | متوافق مع أحدث محرّك عرض | يتيح استخدام العارض القديم | العارض التلقائي |
|---|---|---|---|
| الإصدار 18.1.0 والإصدارات الأقدم | نعم | نعم | Legacy* |
| V18.2.0 | نعم | نعم | الأحدث |
* With the rollout of new Maps Renderer, the Latest renderer will be the default.
إذا كان عليك استخدام عارض مفضّل، نفِّذ جميع عمليات عرض واجهة المستخدم
بعد أن يعرض OnMapsSdkInitializedCallback نتيجة. تشمل عمليات عرض واجهة المستخدم
العمليات التالية:
تضخيم طريقة عرض تحتوي على
GoogleMapViewأوConsumerMapView.جارٍ وضع العلامات على
ConsumerMapView.
إذا لم تنفّذ هذه العمليات بعد تلقّي النتيجة
OnMapsSdkInitializedCallback، لن تخصّص حزمة تطوير البرامج (SDK) لـ "خرائط Google"
أداة العرض المفضّلة لديك، وسيتم عرض الخريطة باستخدام أداة العرض التلقائية بدلاً من ذلك.
إعداد حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" قبل إعداد حزمة تطوير البرامج (SDK) للمستهلك
في فئة
Applicationأو فئة بدء التشغيلActivity، يمكنك استدعاء MapsInitializer.initialize()انتظِر نتيجة طلب العارض قبل إعداد حزمة تطوير البرامج (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();
}
});
}
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 من أجل التواصل مع الخادم. لمزيد من المعلومات حول استخدام طبقة المقابس الآمنة في Android، يُرجى الاطّلاع على موفِّر خدمات GMS للأمان.
تحتوي المقالة أيضًا على عيّنات تعليمات برمجية لتصحيح أخطاء موفّر الأمان.