مقداردهی اولیه «کیت توسعه نرم‌افزار مصرف‌کننده»

قبل‌از شروع این رویه‌ها، مطمئن شوید که سرویس‌های مناسب و Consumer SDK را همان‌طور که در بخش‌های قبلی توضیح داده شده است فعال کرده باشید.

برای مقداردهی اولیه «کیت توسعه نرم‌افزار مصرف‌کننده»، این مراحل را دنبال کنید:

  1. دریافت نمونه ConsumerAPI
  2. راه‌اندازی کیت توسعه نرم‌افزار Maps برای درخواست پردازنده ترجیحی

دریافت نمونه ConsumerApi

برای استفاده از «کیت توسعه نرم‌افزار مصرف‌کننده»، برنامه شما باید تک‌نمونه ConsumerApi را به‌صورت ناهم‌زمان مقداردهی اولیه کند. روش مقداردهی اولیه از کلاس AuthTokenFactory برای تولید کردن نشان‌های JWT جدید برای کاربر درصورت لزوم استفاده می‌کند.

providerId شناسه پروژه پروژه Google Cloud شما است. برای اطلاعات بیشتر درباره ایجاد پروژه Fleet Engine، به ایجاد پروژه Fleet Engine در راهنمای Fleet Engine مراجعه کنید.

برنامه شما باید AuthTokenFactory را همان‌طور که در اصالت‌سنجی کیت توسعه نرم‌افزار مصرف‌کننده شرح داده شده است پیاده‌سازی کند.

جاوا

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
}

کیت توسعه نرم‌افزار Maps و پردازنده‌های نقشه

کیت توسعه نرم‌افزار مصرف‌کننده نسخه ۲.۰.۰ و جدیدتر از کیت توسعه نرم‌افزار Google Maps برای Android نسخه ۱۸.۱.۰ و جدیدتر پشتیبانی می‌کند. جدول زیر خلاصه‌ای از موتور پردازنده پیش‌فرض براساس نسخه Maps SDK و پشتیبانی‌پذیری هر دو موتور پردازنده را نشان می‌دهد. درصورت امکان، از جدیدترین پردازنده استفاده کنید. اگر باید از رندرکننده قدیمی استفاده کنید، آن را بااستفاده از MapsInitializer.initialize() به‌طور صریح مشخص کنید.

نسخه «کیت توسعه نرم‌افزار Maps» از جدیدترین پردازنده پشتیبانی می‌کند از رندرکننده قدیمی پشتیبانی می‌کند پردازنده پیش‌فرض
نسخه ۱۸.۱.۰ و پایین‌تر بله بله قدیمی*
V18.2.0 بله بله جدیدترین

* با عرضه Maps Renderer جدید، «جدیدترین» رندرکننده پیش‌فرض خواهد بود.

اگر باید از پردازنده ترجیحی استفاده کنید، همه عملیات پردازش واسط کاربر را پس‌از اینکه OnMapsSdkInitializedCallback نتیجه‌ای برگرداند اجرا کنید. عملکردهای UI-rendering شامل عملکردهای زیر می‌شود:

  • افزایش غیرواقعی بازدید که حاوی GoogleMapView یا ConsumerMapView است.

  • درحال قرار دادن نشانگرها در ConsumerMapView.

اگر این عملیات را پس‌از دریافت نتیجه OnMapsSdkInitializedCallback اجرا نکنید، «کیت توسعه نرم‌افزار Maps» پردازنده ترجیحی شما را تخصیص نمی‌دهد و نمای نقشه به‌جای آن با پردازنده پیش‌فرض پردازنده می‌شود.

پیش‌از مقداردهی اولیه «کیت توسعه نرم‌افزار مصرف‌کننده»، «کیت توسعه نرم‌افزار Maps» را مقداردهی اولیه کنید

  1. در کلاس Application یا راه‌اندازی Activity، MapsInitializer.initialize() را فراخوانی کنید

  2. پیش‌از مقداردهی اولیه کیت توسعه نرم‌افزار مصرف‌کننده، منتظر نتیجه درخواست پردازنده بمانید.

برای جزئیات، مثال‌های زیر را ببینید.

جاوا

@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()
      }
    })
  }

نکته‌هایی درباره SSL/TLS

در داخل، پیاده‌سازی «کیت توسعه نرم‌افزار مصرف‌کننده» از SSL/TLS برای برقراری ارتباط ایمن با سرویس Fleet Engine استفاده می‌کند. نسخه‌های ۲۳ یا قدیمی‌تر «میانای برنامه‌سازی کاربردی Android» ممکن است برای ارتباط با سرور به وصله SecurityProvider نیاز داشته باشند. برای اطلاعات بیشتر درباره کار با SSL در Android، به ارائه‌دهنده GMS امنیتی مراجعه کنید. این مقاله همچنین حاوی نمونه‌های کد برای وصله کردن ارائه‌دهنده امنیت است.

قدم بعدی چیست

راه‌اندازی نقشه