JavaScript Tüketici SDK'sını ayarlama

Platform seçin: Android iOS JavaScript

JavaScript Tüketici SDK'sı ile tüketici uygulamanız, araçları ve diğer ilgilenilen konumları, web tabanlı olarak Fleet Engine'de haritası. Bu sayede tüketicileriniz, sürücünün yolculuğundaki ilerlemeyi görebilir. Bu kılavuzda, Fleet Engine'i ilişkili Google Cloud ile kurduğunuz varsayılmaktadır proje ve API anahtarlarıdır. Ayrıntılar için Fleet Engine sayfasına bakın.

JavaScript Tüketici SDK'sını şu adımları uygulayarak ayarlarsınız:

  1. Haritalar JavaScript API'yi etkinleştirme
  2. Yetkilendirme kurulumu

Maps JavaScript API'yi etkinleştirme

Google Cloud Console'da Maps JavaScript API'yi etkinleştirin. Daha ayrıntılı bilgi için Google Cloud dokümanlarındaki API'leri etkinleştirme bölümüne bakın. Bu şekilde JavaScript için Tüketici SDK'sı.

Yetkilendirme kurulumu

Fleet Engine, JSON Web Jetonlarının (JWT) düşük güventan gelen API yöntemi çağrıları için uygun hizmet hesabı ortamlar için geçerlidir. Akıllı telefonlar ve tarayıcılar, güven düzeyinin düşük olduğu ortamlara dahildir. JWT tamamen güvenilir bir ortam olan sunucunuzdan kaynaklandığı için JWT imzalanır, şifrelenir ve sonraki sunucu için istemciye iletilir geçerlilik süresi sona erene kadar veya geçerliliğini yitirene kadar etkileşimleri iptal eder.

Arka ucunuz aşağıdakileri kullanarak Fleet Engine'e karşı kimlik doğrulamalı ve yetkilendirme yapmalıdır: Application Default Credentials (Uygulama Varsayılan Kimlik Bilgileri) mekanizmalarını kullanın. Marka uygun bir hizmet hesabı tarafından imzalanmış JWT'leri kullandığınızdan emin olun. Örneğin, hizmet hesabı rollerinin listesi için Fleet Engine hizmet hesabı rollerine bakın Fleet Engine Basics (Filo Motoru Temel Bilgileri) bölümüne göz atın.

Yetkilendirme nasıl çalışır?

Fleet Engine verileriyle yetkilendirme hem sunucu tarafını hem de istemci tarafını içerir hakkında bilgi edindiniz.

Sunucu tarafı yetkilendirme

Web tabanlı uygulamanızda yetkilendirme ayarlamadan önce arka ucunuz sunucu, JSON Web Jetonları sunabilmelidir. Bu sayede Fleet Engine, uygulamanızdan gelen istekleri, erişim izni olarak tanır veriler yer alır. Sunucu tarafı JWT uygulamasıyla ilgili talimatlar için Fleet Engine Essentials altında JSON Web Jetonları yayınlayın.

JavaScript Tüketici SDK'sı için özellikle şunları unutmayın: yolculuk paylaşımı için:

İstemci tarafı yetkilendirme

JavaScript Tüketici SDK'sını kullandığınızda yetkilendirme jetonu alıcısı. Bunu aşağıdakilerden herhangi biri geçerli olduğunda yapar:

  • Geçerli bir jeton bulunmuyor (örneğin, SDK'nın alıcıyı çağırmadığı durumlarda) yeni bir sayfa yüklemesinde veya alıcı bir jeton geri döndürmediğinde.

  • Jetonun süresi doldu.

  • Jetonun süresinin dolmasından itibaren bir dakika içinde olması gerekir.

Aksi takdirde, JavaScript Tüketici SDK'sı önceden verilen geçerli jetonu kullanır ve getirmez.

Yetkilendirme jetonu alıcısı oluşturma

Aşağıdaki yönergeleri kullanarak yetkilendirme jetonu alıcınızı oluşturun:

  • Alıcı, iki alanı olan bir veri yapısı döndürmelidir. Bu veri yapısı Promise şu şekildedir:

    • token dizesi.

    • expiresInSeconds sayısı. Bu süre içinde bir jetonun süresi doluyor sonra görünür. Kimlik doğrulama jetonunun sahibi, son geçerlilik tarihini geçmelidir getirme zamanından kitaplığa kadar saniye cinsinden süre cinsinden verelim.

  • Alıcı, bir jeton almak için sunucunuzdaki bir URL'yi çağırmalıdır. Bu URL (SERVER_TOKEN_URL), arka uç uygulamanıza bağlıdır. İlgili içeriği oluşturmak için kullanılan aşağıdaki örnek URL, GitHub'daki örnek uygulama arka ucu içindir:

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

Örnek -- Kimlik doğrulama jetonu alıcısı oluşturma

Aşağıdaki örneklerde, yetkilendirme jetonu alıcısının nasıl oluşturulacağı gösterilmektedir:

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

Sırada ne var?

JavaScript ile bir geziyi takip etme