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

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

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

  1. الحصول على المثيل ConsumerAPI
  2. إعداد حزمة تطوير البرامج (SDK) لتطبيق "خرائط Google" لطلب العارض المفضَّل

الحصول على مثيل "ConsumerApi"

لاستخدام حزمة تطوير البرامج (SDK) الخاصة بالمستهلك، يجب أن يبدأ تطبيقك في الإعداد المسبق "سينغلتون". ConsumerApi بشكل غير متزامن. تأخذ طريقة التهيئة AuthTokenFactory لإنشاء رموز JWT جديدة للمستخدم عند الضرورة

providerId هو رقم تعريف المشروع الخاص بمشروعك على Google Cloud. لمزيد من المعلومات، معلومات حول إنشاء مشروع Fleet Engine، راجع أنشِئ مشروع Fleet Engine في دليل Fleet Engine.

يجب أن ينفِّذ تطبيقك AuthTokenFactory كما هو موضّح في حزمة تطوير البرامج (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 والإصدارات الأحدث من حزمة تطوير البرامج (SDK) الخاصة بالمستهلكين حزمة SDK لخرائط Google لنظام التشغيل Android الإصدار 18.1.0 وكذلك لاحقًا. يلخّص الجدول التالي العارض التلقائي حسب إصدار حزمة تطوير البرامج (SDK) لـ "خرائط Google". وقابلية دعم كلٍ من العارضين. استخدِم أحدث إصدار من العارض إن أمكن. إذا كان عليك استخدام العارض القديم، حدِّده بشكل صريح باستخدام MapsInitializer.initialize()

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

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

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

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

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

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

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

  1. يمكنك الاتصال في صفك الدراسي في "Application" أو بدء التشغيل في صف "Activity" MapsInitializer.initialize()

  2. انتظِر نتيجة طلب العارض قبل إعداد حزمة تطوير البرامج (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()
      }
    })
  }

ملاحظات حول طبقة المقابس الآمنة/بروتوكول أمان طبقة النقل (TLS)

داخليًا، يستخدم تنفيذ حزمة تطوير البرامج (SDK) الخاصة بالمستهلك طبقة المقابس الآمنة (SSL)/بروتوكول أمان طبقة النقل (TLS) للاتصال الآمن مع خدمة Fleet Engine. قد يتطلّب الإصدار 23 من واجهة برمجة تطبيقات Android أو الإصدارات الأقدم رمز التصحيح SecurityProvider للاتصال بالخادم. لمزيد من المعلومات حول العمل باستخدام طبقة المقابس الآمنة (SSL) في Android، راجع إرشادات GMS حول الأمان موفّر الخدمة: تحتوي المقالة أيضًا على عيّنات تعليمات برمجية لتصحيح إعدادات موفِّر الأمان.

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

إعداد خريطة