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

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

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

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

אחזור של המופע ConsumerApi

כדי להשתמש ב-Consumer SDK, צריך לאתחל את ה-singleton 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
}

SDK של מפות וכלים לעיבוד מפות Google

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

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

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

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

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

  • המערכת ממקמת סמנים בדומיין ConsumerMapView.

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

אתחול ה-SDK של מפות 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()
      }
    })
  }

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

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

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

הגדרת מפה