إعداد مكتبة تتبُّع مجموعة JavaScript

قبل استخدام مكتبة تتبع مجموعة JavaScript، تأكد من على دراية وإعداد Fleet Engine. للحصول على التفاصيل، يمكنك مراجعة Fleet Engine

يوضح هذا المستند كيفية تمكين التفويض بين تطبيق صفحة الويب وFleet Engine. وبعد وصول طلباتك إلى Fleet Engine باستخدام الرموز المميزة للتفويض الصحيحة، فستكون جاهزًا تتبع مركبة على الخريطة.

إعداد التفويض

يتطلب Fleet Engine استخدام رموز JSON المميّزة للويب (JWT) المُوقَّعة من خلال حساب خدمة مناسب لطلبات بيانات طريقة واجهة برمجة التطبيقات من مستوى الثقة المنخفضة البيئات. وتشمل البيئات منخفضة الثقة الهواتف الذكية والمتصفحات. JWT على الخادم الخاص بك، والتي تُعد بيئة موثوقة بالكامل. رمز JWT توقيعها وتشفيرها وتمريرها إلى العميل في الخادم اللاحق إلى أن تنتهي صلاحيتها أو لا تعود صالحة.

يجب أن تتم المصادقة والتفويض ضد Fleet Engine باستخدام الواجهة الخلفية. إلى آليات بيانات الاعتماد التلقائية للتطبيق القياسية. الماركة تأكَّد من استخدام ملفات JWT التي تم توقيعها من خلال حساب خدمة مناسب. بالنسبة إلى قائمة بأدوار حساب الخدمة، يُرجى الاطّلاع على أدوار حساب خدمةFleet Engine. في أساسيات Fleet Engine

كيف يعمل التفويض؟

يشمل الترخيص باستخدام بيانات Fleet Engine كلاً من جانب الخادم ومن جهة العميل. التنفيذ.

التفويض من جهة الخادم

قبل إعداد التفويض في تطبيق تتبُّع الأسطول، يجب أن يكون لدى أن يكون الخادم قادرًا على عرض رموز JSON المميّزة للويب. وبهذه الطريقة، يستخدم Fleet Engine يتعرف على الطلبات الواردة من تطبيقك على أنه مصرّح له بالوصول البيانات الواردة في الطلب. للحصول على تعليمات حول تنفيذ JWT من جهة الخادم، يمكنك الاطّلاع على اصدِر رموز الويب المميّزة JSON ضِمن Fleet Engine Essentials.

لإنشاء رموز مميزة من خادمك عند تنفيذ تتبع الأسطول، راجع التالي:

التفويض من جهة العميل

عند استخدام مكتبة تتبع مجموعة JavaScript، فإنها تطلب رمزًا مميزًا من الخادم باستخدام أداة استرجاع الرمز المميز للتفويض. ويتم ذلك في حال استيفاء أيٍّ من المتطلّبات التالية:

  • ولا يتوفّر رمز مميّز صالح، كأن لا تستدعي حزمة تطوير البرامج (SDK) أداة الجلب على تحميل صفحة جديدة أو في حال عدم عرض برنامج الجلب مع رمز مميّز.

  • انتهت صلاحية الرمز المميّز.

  • ستنتهي صلاحية الرمز المميّز خلال دقيقة واحدة.

وبخلاف ذلك، فإن مكتبة تتبع مجموعة JavaScript تستخدم الرمز المميز الصالح الذي تم إصداره مسبقًا عدم استدعاء برنامج الجلب.

إنشاء برنامج لاسترجاع الرمز المميّز للتفويض

يمكنك إنشاء أداة استرجاع الرمز المميّز للتفويض باتّباع الإرشادات التالية:

  • يجب أن يعرض برنامج الجلب بنية بيانات من حقلين، ملفوفين في Promise على النحو التالي:

    • سلسلة token.

    • رقم expiresInSeconds تنتهي صلاحية الرمز المميز خلال هذه المدة الزمنية بعد الجلب. يجب أن يجتاز برنامج استرجاع الرمز المميّز للمصادقة عملية انتهاء الصلاحية. الوقت بالثواني، بدءًا من وقت الجلب إلى المكتبة كما هو موضّح في المثال.

  • يجب أن يستدعي برنامج الجلب عنوان URL على خادمك لاسترداد رمز مميز. هذا النمط يعتمد عنوان URL SERVER_TOKEN_URL على التنفيذ في الخلفية. تشير رسالة الأشكال البيانية فيما يلي مثال على عنوان URL لنموذج واجهة التطبيق على GitHub:

    • https://SERVER_URL/token/fleet_reader

مثال: إنشاء أداة لاسترجاع الرمز المميّز للتفويض

توضِّح الأمثلة التالية كيفية إنشاء أداة استرجاع الرمز المميّز للتفويض:

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,
  };
}

الخطوات التالية