إعداد حزمة تطوير البرامج (SDK) الخاصة بالمستهلك

قبل بدء هذه الإجراءات، تأكَّد من تفعيل الخدمات المناسبة و"حزمة تطوير البرامج (SDK) للمستهلكين" كما هو موضّح في الأقسام السابقة.

لإعداد "حزمة تطوير البرامج (SDK) للمستهلكين"، اتّبِع الخطوات التالية:

  1. الحصول على مثيل ConsumerAPI
  2. إعداد "حزمة تطوير البرامج بالاستناد إلى بيانات خرائط 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" وأدوات عرض الخرائط

تتوافق "حزمة تطوير البرامج (SDK) للمستهلكين" الإصدار 2.0.0 والإصدارات الأحدث مع "حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google للتطبيقات المتوافقة مع Android" الإصدار 18.1.0 والإصدارات الأحدث. يلخّص الجدول التالي أداة العرض التلقائية حسب إصدار "حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google" وإمكانية استخدام كلتا أداتَي العرض. استخدِم أحدث أداة عرض إن أمكن. إذا كان عليك استخدام أداة العرض القديمة، حدِّدها بشكل صريح باستخدام MapsInitializer.initialize().

إصدار "حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google" تتوافق مع أحدث أداة عرض تتوافق مع أداة العرض القديمة أداة العرض التلقائية
الإصدار 18.1.0 والإصدارات الأقدم نعم نعم قديمة*
V18.2.0 نعم نعم الأحدث

* مع طرح أداة عرض الخرائط الجديدة، ستكون أداة العرض "الأحدث" هي التلقائية.

إذا كان عليك استخدام أداة عرض مفضّلة، شغِّل جميع عمليات عرض واجهة المستخدم بعد أن تعرض OnMapsSdkInitializedCallback نتيجة. تشمل عمليات عرض واجهة المستخدم العمليات التالية:

  • توسيع طريقة عرض تحتوي على GoogleMapView أو ConsumerMapView

  • وضع علامات على ConsumerMapView

إذا لم تُجرِ هذه العمليات بعد تلقّي نتيجة OnMapsSdkInitializedCallback، لن تخصّص "حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google" أداة العرض المفضّلة لك، وسيتم بدلاً من ذلك عرض طريقة عرض الخريطة باستخدام أداة العرض التلقائية.

إعداد "حزمة تطوير البرامج بالاستناد إلى بيانات خرائط Google" قبل إعداد "حزمة تطوير البرامج (SDK) للمستهلكين"

  1. في فئة Application أو Activity لبدء التشغيل، استدعِ MapsInitializer.initialize()

  2. انتظِر نتيجة طلب أداة العرض قبل إعداد "حزمة تطوير البرامج (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) للمستهلكين" طبقة المقابس الآمنة/طبقة النقل الآمنة للتواصل بأمان مع خدمة Fleet Engine. قد تتطلّب إصدارات Android API 23 أو الإصدارات الأقدم تصحيحًا لـ SecurityProvider للتواصل مع الخادم. لمزيد من المعلومات عن استخدام طبقة المقابس الآمنة في Android، يُرجى الاطّلاع على مقالة موفّر الأمان في خدمات Google للأجهزة الجوّالة. تحتوي المقالة أيضًا على نماذج للرموز البرمجية لتصحيح موفّر الأمان.

الخطوات التالية

إعداد خريطة