Geospatial API ve Cloud Anchors gibi ARCore özellikleri, Google Cloud'da barındırılan ARCore API'yi kullanır. Bu özellikler kullanılırken uygulamanız, ARCore API hizmetine erişmek için kimlik bilgilerini kullanır.
Bu hızlı başlangıç kılavuzunda, uygulamanızı Google Cloud'da barındırılan ARCore API hizmetiyle iletişim kurabilecek şekilde nasıl ayarlayacağınız açıklanmaktadır.
Yeni bir Google Cloud projesi oluşturun veya mevcut bir projeyi kullanın
Mevcut bir projeniz varsa onu seçin.
Google Cloud projeniz yoksa bir proje oluşturun.
ARCore API'yi etkinleştirme
ARCore API'yi kullanmak için projenizde etkinleştirmeniz gerekir.
Yetkilendirme yöntemi ayarlama
Bir iOS uygulaması, ARCore API ile iki farklı yetkilendirme yöntemi kullanarak iletişim kurabilir: Anahtarsız yetkilendirme (önerilen yöntem) ve API anahtarı yetkilendirmesi:
- Anahtarsız yetkilendirme, API'ye erişimi kontrol etmek için imzalanmış bir jeton kullanır. Bu yöntem, jetonları imzalamak ve API'ye erişimi kontrol etmek için size ait bir sunucu gerektirir.
- API anahtarı, bir Google Cloud projesini tanımlayan dizedir. API anahtarları genellikle istemciler tarafından erişilebilir olduğundan güvenli olarak kabul edilmez. ARCore API ile iletişim kurmak için jeton yetkilendirmesini kullanabilirsiniz.
Anahtarsız
ARCore, iOS'te API çağrılarının (JSON Web Jetonu) kullanılarak yetkilendirilmesini destekler. Jeton, bir Google hizmet hesabı tarafından imzalanmalıdır.
iOS için jeton oluşturmak üzere sunucunuzda aşağıdaki koşulları karşılayan bir uç nokta bulunmalıdır:
Uç nokta, kendi yetkilendirme mekanizmanızla korunmalıdır.
Uç nokta, her seferinde yeni bir jeton oluşturmalıdır.
- 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 aşağıdaki adımları uygulayın:
- Google Cloud'da Kimlik Bilgileri sayfasını açın.
Kimlik bilgileri - Kimlik bilgisi oluştur > Hizmet hesabı'nı tıklayın.
- Hizmet hesabı ayrıntıları bölümünde yeni hesabın adını yazın ve Oluştur'u tıklayın.
- Hizmet hesabı izinleri sayfasında Bir rol seçin açılır listesine gidin. Hizmet Hesapları > Hizmet Hesabı Jeton Oluşturucu'yu seçin, ardından Devam'ı tıklayın.
- Kullanıcıların bu hizmet hesabına erişmelerine izin ver sayfasında Bitti'yi tıklayın.
- Kimlik Bilgileri sayfasında, Hizmet Hesapları bölümünü bulup az önce oluşturduğunuz hesabın adını tıklayın.
- Hizmet hesabı ayrıntıları sayfasında Anahtarlar bölümüne gidin ve Anahtar Ekle > Yeni anahtar oluştur'u seçin.
Anahtar türü olarak JSON'ı seçip Oluştur'u tıklayın.
Bu işlem, özel anahtarı içeren bir JSON dosyasını makinenize indirir. İndirilen JSON anahtar dosyasını güvenli bir konumda saklayın.
Sunucunuzda jeton oluşturma
Sunucunuzda yeni jetonlar (JWT'ler) oluşturmak için standart JWT kitaplıklarını ve yeni hizmet hesabınızdan güvenli bir şekilde indirdiğiniz JSON dosyasını kullanın.
Geliştirme makinenizde jeton oluşturma
Geliştirme makinenizde JWT oluşturmak için aşağıdaki oauth2l komutunu kullanın:
oauth2l fetch --cache "" --jwt --json $KEYFILE --audience "https://arcore.googleapis.com/"
Her seferinde farklı bir jeton oluşturulmasını sağlamak için --cache işaretini kullanarak boş bir önbellek konumu belirtmeniz gerekir. Sonuçta elde edilen dizeyi kırpmayı unutmayın. Fazladan boşluk veya yeni satır karakterleri, API'nin jetonu reddetmesine neden olur.
Jetonu imzalama
JWT'yi imzalamak için RS256 algoritmasını ve aşağıdaki talepleri kullanmanız gerekir:
iss: Hizmet hesabı e-posta adresi.sub: Hizmet hesabı e-posta adresi.iat: Jetonun oluşturulduğu Unix sıfır zamanı (saniye cinsinden).exp—iat+3600(1 saat). Jetonun geçerliliğinin sona erdiği Unix sıfır zamanı (saniye cinsinden).aud: Kitle.https://arcore.googleapis.com/olarak ayarlanmalıdır.
JWT yükünde standart olmayan talepler gerekli değildir ancak uid talebi, ilgili kullanıcıyı tanımlamak için faydalı olabilir.
JWT'lerinizi oluşturmak için farklı bir yaklaşım kullanıyorsanız (ör. Google tarafından yönetilen bir ortamda Google API'si kullanma) JWT'lerinizi bu bölümdeki taleplerle imzaladığınızdan emin olun. En önemlisi, kitlenin doğru olduğundan emin olun.
Jetonu ARCore oturumunda iletme
Uygulamanız artık anahtarsız kimlik doğrulama kullanacak şekilde yapılandırıldı.
Oturuma jeton iletirken aşağıdakilere dikkat edin:
Oturum oluşturmak için bir API anahtarı kullandıysanız ARCore, jetonu yok sayar ve bir hata kaydeder.
API anahtarına artık ihtiyacınız yoksa Google Developers Console'da anahtarı silin ve uygulamanızdan kaldırın.
ARCore, boşluk veya özel karakter içeren jetonları yoksayar.
Jetonların süresi genellikle bir saat sonra dolar. Kullanım sırasında jetonunuzun süresinin dolma ihtimali varsa yeni bir jeton alın ve bunu API'ye iletin.
API Anahtarı
- Google Cloud'da Kimlik Bilgileri sayfasını açın.
Kimlik bilgileri - Kimlik bilgileri oluştur'u tıklayın ve menüden API anahtarı'nı seçin.
Oluşturulan API anahtarı iletişim kutusunda, yeni oluşturulan anahtarınızın dizesi gösterilir. - API anahtarınızın güvenliğini sağlamak için API anahtarı kısıtlamalarıyla ilgili belgeleri inceleyin.
Uygulamanız artık API anahtarlarını kullanacak şekilde yapılandırıldı.
Sırada ne var?
Yetkilendirme yapılandırıldıktan sonra, yetkilendirmeyi kullanan aşağıdaki ARCore özelliklerini inceleyin: