Google Cloud'da ARCore API'yi kullanma

Platform seçin:

Geospatial API ve Cloud Anchor, Google Cloud'da barındırılan ARCore API. Bu özellikleri kullanırken uygulamanız ARCore API hizmetine erişmek için kimlik bilgilerini kullanır.

Bu hızlı başlangıç kılavuzunda, uygulamanızın Google Cloud'da barındırılan ARCore API hizmetiyle iletişim kurma.

Yeni bir Google Cloud projesi oluşturun veya mevcut bir projeyi kullanın

Mevcut bir projeniz varsa bu projeyi seçin.

Proje seçiciye git

Mevcut bir Google Cloud projeniz yoksa yeni bir proje oluşturun.

Yeni proje oluştur

ARCore API'yi etkinleştirme

ARCore API'yi kullanmak için projenizde etkinleştirmeniz gerekir.

ARCore API'yi etkinleştirme

Yetkilendirme yöntemi ayarlama

Bir iOS uygulaması iki farklı veri türü kullanarak ARCore API ile iletişim kurabilir yetkilendirme yöntemleri: Anahtarsız yetkilendirme, önerilen yöntem ve API anahtarı yetkilendirmesi:

  • Anahtarsız yetkilendirme, API'ye erişimi kontrol etmek için imzalı bir jeton kullanır. Bu yöntemi, jetonları imzalamak ve aşağıdakilere erişimi kontrol etmek için size ait bir sunucunun API.
  • API anahtarı, Google Cloud projesini tanımlayan bir dizedir. API anahtarları Genellikle müşteriler tarafından erişilebilir olduklarından genellikle güvenli olarak kabul edilmez. ARCore API ile iletişim kurmak için jeton yetkilendirmesini kullanmayı düşünün.

Anahtarsız

ARCore, iOS'te API çağrılarının yetkilendirilmesini bir (JSON Web jetonu). Jeton, bir Google tarafından imzalanmalıdır. Hizmet hesabı.

iOS için jeton oluşturmak üzere sunucunuzda bir uç noktanız olmalıdır şu şartları karşıladığını kontrol edin:

  • Kendi yetkilendirme mekanizmanız uç noktayı korumalıdır.

  • Uç nokta, her seferinde yeni bir jeton oluşturmalıdır. Örneğin:

    • Her kullanıcı benzersiz bir jeton alır.
    • Jetonların geçerlilik süresi hemen dolmaz.

Hizmet hesabı ve imzalama anahtarı oluşturma

Google hizmet hesabı ve imzalama anahtarı oluşturmak için şu adımları uygulayın:

  1. Google Cloud'da Kimlik Bilgileri sayfasını açın.
    Kimlik bilgileri
  2. Kimlik Bilgisi Oluştur > Hizmet hesabı.
  3. Hizmet hesabı ayrıntıları bölümünde, yeni hesap için bir ad yazın ve ardından Oluştur.
  4. Hizmet hesabı izinleri sayfasında Rol seçin açılır listesine gidin. Service Accounts > (Hizmet Hesapları) > Hizmet Hesabı Jetonu Oluşturucu'yu seçin, ardından Devam.
  5. Kullanıcıların bu hizmet hesabına erişmesine izin ver sayfasında Bitti'yi tıklayın.
  6. Kimlik bilgileri bölümünde Hizmet Hesapları bölümünü bulun ve hesabın adını tıklayın oluşturmanız gerekir.
  7. Hizmet hesabı ayrıntıları sayfasında Anahtarlar bölümüne ilerleyin ve Anahtar Ekle > Yeni anahtar oluştur.
  8. Anahtar türü olarak JSON'yi seçin ve Oluştur'u tıklayın.

    Bu işlem, özel anahtarı içeren bir JSON dosyasını makinenize indirir. Mağaza indirilen JSON anahtar dosyasını güvenli bir konuma yerleştirin.

Sunucunuzda jetonlar oluşturun

Sunucunuzda yeni jetonlar (JWT'ler) oluşturmak için standart JWT'yi kullanın. kütüphaneler ve yeni hizmet hesabınızdan güvenli bir şekilde indirdiğiniz JSON dosyası.

Geliştirme makinenizde jeton oluşturun

Geliştirme makinenizde JWT oluşturmak için şunu kullanın: oauth2l komutu:

oauth2l fetch --cache "" --jwt --json $KEYFILE --audience "https://arcore.googleapis.com/"

Aşağıdaki işlemler için --cache işaretini kullanarak boş bir önbellek konumu belirtmek gerekir: her seferinde farklı bir jeton oluşturulduğundan emin olun. elde edilen dizeyi kullanır. Fazladan boşluklar veya yeni satır karakterleri, API'nin jetonu reddetme başlıklı makaleye bakın.

Jetonu imzalayın

JWT'yi imzalamak için RS256 algoritmasını ve aşağıdaki iddiaları kullanmanız gerekir:

  • iss — Hizmet hesabı e-posta adresi.
  • sub — Hizmet hesabı e-posta adresi.
  • iat — Jetonun oluşturulduğu saniye cinsinden Unix sıfır zamanı.
  • expiat + 3600 (1 saat). Jetonun süresinin dolacağı Unix dönem saati, sağlar.
  • aud — Kitle. Şu şekilde ayarlanmalıdır: https://arcore.googleapis.com/.

Standart olmayan iddialar JWT yükünde gerekli değildir ancak uid hak talebi, ilgili kullanıcıyı tanımlamak için kullanışlıdır.

JWT'lerinizi oluşturmak için farklı bir yaklaşım kullanıyorsanız (ör. Google API kullanıyorsanız, JWT'lerinizi ilgili hak talepleriyle imzaladığınızdan emin olun. ele alacağız. Her şeyden önemlisi, hedef kitlenin doğruluğundan emin olun.

Jetonu ARCore oturumunda iletme

  1. Şunu kullanarak bir oturum oluşturun: GARSession#sessionWithError:.

    NSError *error = nil;
    GARSession *garSession = [GARSession sessionWithError:&error];
    
  2. Bir jeton aldığınızda setAuthToken:. Aksi takdirde oturumda, en son geçerli yetkilendirme jetonu kullanılır. ayrıntılı bir incelemedir. Jetonunuzu her yenilediğinizde bu yöntemi çağırın:

    [garSession setAuthToken: authToken]
    

Uygulamanız artık Anahtarsız kimlik doğrulamayı kullanacak şekilde yapılandırıldı.

Oturuma jeton iletirken aşağıdakileri göz önünde bulundurun:

  • Oturumu oluşturmak için bir API anahtarı kullandıysanız ARCore, ve bir hata kaydedin.

    Artık API anahtarına ihtiyacınız yoksa Google Developers'dan API anahtarını silin Console'u kullanarak uygulamasını indirin.

  • ARCore, boşluk veya özel karakterler içeren jetonları yoksayar.

  • Jetonların süresi genellikle bir saat sonra dolar. Sizin durumunuz kullanımdayken geçerliliğini yitirebilir, yeni bir jeton alıp API'ye iletebilir.

API Anahtarı

  1. Google Cloud'da Kimlik Bilgileri sayfasını açın.
    Kimlik bilgileri
  2. Create credentials'ı (Kimlik bilgileri oluştur) tıklayın ve menüden API key'i (API anahtarı) seçin.
    API anahtarı oluşturuldu iletişim kutusu, yeni oluşturulan anahtarınızın dizesini gösterir.
  3. Bir GARSession oluştururken GARSession#sessionWithAPIKey:bundleIdentifier:error: ve API anahtarınızı ekleyin:

    self.garSession = [GARSession sessionWithAPIKey:@"your-api-key"
                                   bundleIdentifier:nil
                                              error:&error];
    
  4. API anahtarı kısıtlamalarıyla ilgili belgeleri inceleyin (API anahtarınızın güvenliğini sağlayın).

Uygulamanız artık API anahtarları kullanacak şekilde yapılandırıldı.

Sırada ne var?

Yetkilendirme yapılandırıldıktan sonra şunları sağlar: