הפעלת ה-SDK לצרכנים

לפני שמתחילים בתהליכים האלה, צריך לוודא שהפעלתם את השירותים המתאימים ואת ה-SDK של הצרכן, כפי שמתואר בקטעים הקודמים.

כדי לאתחל את Consumer SDK:

  1. קבלת המכונה ConsumerAPI
  2. הפעלת Maps SDK כדי לבקש את המרינר המועדף

אחזור המכונה ConsumerApi

כדי להשתמש ב-Consumer SDK, האפליקציה צריכה לאתחל את ה-singleton‏ ConsumerApi באופן אסינכרוני. שיטת האיניציאציה משתמשת בכיתה AuthTokenFactory כדי ליצור אסימוני JWT חדשים למשתמש במקרה הצורך.

הערך providerId הוא מזהה הפרויקט ב-Google Cloud. מידע נוסף על יצירת פרויקט ב-Fleet Engine זמין במאמר יצירת פרויקט ב-Fleet Engine במדריך של Fleet Engine.

צריך להטמיע את AuthTokenFactory באפליקציה כפי שמתואר בקטע אימות של Consumer 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
}

Maps SDK ו-Maps renderers

גרסה 2.0.0 ואילך של Consumer SDK תומכת ב-Maps SDK ל-Android בגרסה 18.1.0 ואילך. בטבלה הבאה מפורט סיכום של ברירת המחדל של ה-renderer לפי גרסת Maps SDK, וכן היכולת לתמוך בשני ה-renderers. אם אפשר, כדאי להשתמש במעבד הגרפיקה העדכני ביותר. אם אתם חייבים להשתמש במעבד הגרפיקה הקודם, צריך לציין אותו באופן מפורש באמצעות MapsInitializer.initialize().

גרסת Maps SDK תמיכה במעבד הגרפיקה העדכני ביותר תמיכה במעבד הגרפיקה הקודם עיבוד תמונה שמוגדר כברירת מחדל
גרסה 18.1.0 ומטה כן כן דור קודם*
V18.2.0 כן כן הכי עדכני

* עם ההשקה של המרת התצוגה החדשה של מפות Google, המרת התצוגה העדכנית ביותר תהיה ברירת המחדל.

אם אתם חייבים להשתמש במעבד גרפיקה מועדף, עליכם להריץ את כל פעולות העיבוד של ממשק המשתמש אחרי ש-OnMapsSdkInitializedCallback מחזיר תוצאה. פעולות של עיבוד ממשק משתמש כוללות את הפעולות הבאות:

  • הגדלת מספר הצפיות בתצוגה שמכילה את GoogleMapView או את ConsumerMapView.

  • הצבת סמנים ב-ConsumerMapView.

אם לא מריצים את הפעולות האלה אחרי קבלת התוצאה OnMapsSdkInitializedCallback, ה-SDK של מפות Google לא מקצה את המיינר המועדף ותצוגת המפה תעבור עיבוד על ידי המיינר שמוגדר כברירת מחדל.

צריך לאתחל את Maps SDK לפני שמאתחלים את Consumer SDK

  1. בכיתה Application או בכיתה Activity של האפליקציה, קוראים ל-MapsInitializer.initialize()

  2. צריך להמתין לתוצאת הבקשה של ה-renderer לפני שמפעילים את Consumer 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()
      }
    })
  }

הערות לגבי SSL/TLS

מבפנים, ההטמעה של ה-SDK לצרכן משתמשת ב-SSL/TLS כדי לתקשר בצורה מאובטחת עם שירות Fleet Engine. יכול להיות שתצטרכו להשתמש בתיקון SecurityProvider כדי לתקשר עם השרת בגרסאות Android API 23 ואילך. למידע נוסף על עבודה עם SSL ב-Android, ראו Security GMS Provider. המאמר מכיל גם דוגמאות קוד לתיקון של ספק האבטחה.

המאמרים הבאים

הגדרת מפה