לפני שמתחילים בתהליכים האלה, חשוב לוודא שהפעלתם את השירותים המתאימים ואת Consumer SDK כפי שמתואר בקטעים הקודמים.
כדי לאתחל את Consumer 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
}
SDK של מפות Google ורכיבי עיבוד של מפות
גרסה 2.0.0 ואילך של Consumer SDK תומכת ב-SDK של מפות ל-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 לא מקצה את המיינר המועדף ותצוגת המפה תעבור עיבוד על ידי המיינר שמוגדר כברירת מחדל.
אתחול של Maps SDK לפני אתחול של Consumer SDK
בכיתה
Application
או בכיתהActivity
של האפליקציה, קוראים ל-MapsInitializer.initialize()צריך להמתין לתוצאת הבקשה של ה-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. יכול להיות שגרסאות Android API 23 ואילך יצטרכו תיקון SecurityProvider
כדי לתקשר עם השרת. למידע נוסף על עבודה עם SSL ב-Android, ראו Security GMS Provider.
המאמר מכיל גם דוגמאות קוד לתיקון של ספק האבטחה.