הגדרת JavaScript Consumer SDK

בחירת פלטפורמה: Android iOS JavaScript

באמצעות ה-SDK של JavaScript לצרכנים, אפליקציית הצרכנים יכולה להציג מפה מבוססת-אינטרנט עם המיקום של כלי הרכב ומיקומי עניין אחרים שבהם מתבצע מעקב ב-Fleet Engine. כך הצרכנים יכולים לראות את ההתקדמות של הנסיעה. המדריך הזה מבוסס על ההנחה שהגדרתם את Fleet Engine עם הפרויקט ומפתחות ה-API המשויכים שלו ב-Google Cloud. פרטים נוספים זמינים במאמר Fleet Engine.

כדי להגדיר את JavaScript Consumer SDK:

  1. הפעלת Maps JavaScript API
  2. הגדרת הרשאה

הפעלת Maps JavaScript API

מפעילים את Maps JavaScript API במסוף Google Cloud. מידע נוסף זמין במאמר הפעלת ממשקי API במסמכי התיעוד של Google Cloud. כך מפעילים את Consumer SDK ל-JavaScript.

הגדרת הרשאה

ב-Fleet Engine נדרש שימוש באסימוני JSON Web (JWT) לקריאות ל-method של API מסביבות עם רמת אמון נמוכה: סמארטפונים ודפדפנים.

אסימון JWT נוצר בשרת, נחתם, מוצפן ומועבר ללקוח לצורך אינטראקציות עתידיות עם השרת, עד שתוקף האסימון יפוג או שהוא לא יהיה בתוקף יותר.

פרטי המפתח

איך פועל תהליך האישור?

ההרשאה באמצעות נתוני Fleet Engine כוללת הטמעה גם בצד השרת וגם בצד הלקוח.

הרשאה בצד השרת

לפני שמגדירים אימות והרשאה באפליקציה מבוססת-האינטרנט, שרת הקצה העורפי צריך להיות מסוגל להנפיק לאפליקציה מבוססת-האינטרנט אסימוני JSON Web Token כדי לקבל גישה ל-Fleet Engine. האפליקציה מבוססת-האינטרנט שולחת את אסימוני ה-JWT האלה עם הבקשות שלה, כדי ש-Fleet Engine יזהה את הבקשות כמאומתות ועם הרשאה לגשת לנתונים שבבקשה. להוראות להטמעת JWT בצד השרת, ראו הנפקת אסימוני אינטרנט מסוג JSON בקטע יסודות של Fleet Engine.

באופן ספציפי, חשוב לזכור את הפרטים הבאים לגבי ה-SDK של JavaScript לצרכנים, לצורך שיתוף של התקדמות הנסיעה:

הרשאה בצד הלקוח

כשמשתמשים ב-SDK לצרכן JavaScript, הוא מבקש אסימון מהשרת באמצעות גורם לאחזור אסימוני הרשאה. המערכת עושה זאת אם אחד מהמצבים הבאים מתקיים:

  • אין טוקן תקף, למשל כש-SDK לא קרא למאחזר בטעינה של דף חדש, או כשהמאחזר לא החזיר טוקן.

  • פג תוקפו של הטוקן.

  • תוקף האסימון יפוג תוך דקה.

אחרת, ה-SDK של צרכן JavaScript משתמש באסימון החוקי שהונפק בעבר ולא קורא למאחזר.

יצירת אובייקט לאחזור אסימון הרשאה

יוצרים את האוסף של אסימוני ההרשאה לפי ההנחיות הבאות:

  • אוסף הנתונים חייב להחזיר מבנה נתונים עם שני שדות, עטוף ב-Promise באופן הבא:

    • מחרוזת token.

    • מספר expiresInSeconds. תוקף הטוקן יפוג לאחר פרק הזמן הזה אחרי האחזור. גורם האחזור של אסימון האימות צריך להעביר את זמן התפוגה בשניות, מהרגע שבו האחזור מתבצע בספרייה, כפי שמוצג בדוגמה.

  • האחזור צריך לקרוא לכתובת URL בשרת כדי לאחזר אסימון. כתובת ה-URL הזו – SERVER_TOKEN_URL – תלויה ביישום הקצה העורפי. כתובת ה-URL לדוגמה הבאה היא של קצה העורפי של האפליקציה לדוגמה ב-GitHub:

    • https://SERVER_URL/token/consumer/TRIPID

דוגמה – יצירת אובייקט לאחזור אסימון אימות

בדוגמאות הבאות מוסבר איך ליצור אובייקט לאחזור אסימון הרשאה:

JavaScript

async function authTokenFetcher(options) {
  // options is a record containing two keys called
  // serviceType and context. The developer should
  // generate the correct SERVER_TOKEN_URL and request
  // based on the values of these fields.
  const response = await fetch(SERVER_TOKEN_URL);
  if (!response.ok) {
    throw new Error(response.statusText);
  }
  const data = await response.json();
  return {
    token: data.Token,
    expiresInSeconds: data.ExpiresInSeconds
  };
}

TypeScript

function authTokenFetcher(options: {
  serviceType: google.maps.journeySharing.FleetEngineServiceType,
  context: google.maps.journeySharing.AuthTokenContext,
}): Promise<google.maps.journeySharing.AuthToken> {
  // The developer should generate the correct
  // SERVER_TOKEN_URL based on options.
  const response = await fetch(SERVER_TOKEN_URL);
  if (!response.ok) {
    throw new Error(response.statusText);
  }
  const data = await response.json();
  return {
    token: data.token,
    expiresInSeconds: data.ExpiresInSeconds,
  };
}

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

מעקב אחרי נסיעה ב-JavaScript