Funzionalità ARCore come il campo Geospaziale API e Cloud Anchor utilizzano API ARCore ospitata su Google Cloud. Quando utilizzi queste funzioni, la tua applicazione utilizza le credenziali per accedere al servizio API ARCore.
Questa guida rapida descrive come configurare la tua applicazione in modo che possa comunicare con il servizio API ARCore ospitato su Google Cloud.
Crea un nuovo progetto Google Cloud o utilizzane uno esistente
Se hai già un progetto, selezionalo.
Se non hai già un progetto Google Cloud, creane uno.
Abilita l'API ARCore
Per utilizzare l'API ARCore, devi abilitarla nel tuo progetto.
Configurare un metodo di autorizzazione
Un'applicazione iOS può comunicare con l'API ARCore utilizzando due diverse metodi di autorizzazione: autorizzazione senza chiave, il metodo consigliato e l'autorizzazione della chiave API:
- L'autorizzazione senza chiave utilizza un token firmato per controllare l'accesso all'API. Questo richiede un server di tua proprietà per firmare i token e controllare l'accesso a l'API.
- Una chiave API è una stringa che identifica un progetto Google Cloud. Le chiavi API sono generalmente non considerati sicuri in quanto sono generalmente accessibili ai clienti. Valuta la possibilità di utilizzare l'autorizzazione dei token per comunicare con l'API ARCore.
Senza chiave
ARCore supporta l'autorizzazione delle chiamate API in iOS tramite un file JSON Web ). Il token deve essere firmato da un Account di servizio.
Al fine di generare token per iOS, devi avere un endpoint sul tuo server che soddisfi i seguenti requisiti:
Il tuo meccanismo di autorizzazione deve proteggere l'endpoint.
L'endpoint deve generare ogni volta un nuovo token, in modo che:
- Ogni utente riceve un token univoco.
- I token non scadono immediatamente.
Crea un account di servizio e una chiave di firma
Segui questi passaggi per creare un account di servizio Google e una chiave di firma:
- In Google Cloud, apri la pagina Credenziali.
Credenziali - Fai clic su Crea credenziali > Account di servizio.
- In Dettagli account di servizio, digita un nome per il nuovo account, quindi fai clic su Crea.
- Nella pagina Autorizzazioni account di servizio, vai al menu a discesa Seleziona un ruolo. Seleziona Account di servizio > Creatore token account di servizio, quindi fai clic su Continua.
- Nella pagina Concedi agli utenti l'accesso a questo account di servizio, fai clic su Fine.
- Nella pagina Credentials (Credenziali) individua la sezione Account di servizio e fai clic sul nome dell'account che hai appena creato.
- Nella pagina Dettagli account di servizio, scorri verso il basso fino alla sezione Chiavi e Seleziona Aggiungi chiave > Crea nuova chiave.
Seleziona JSON come tipo di chiave e fai clic su Crea.
Viene scaricato un file JSON contenente la chiave privata sulla tua macchina. Negozio il file della chiave JSON scaricato in una posizione sicura.
Crea token sul tuo server
Per creare nuovi token (JWT) sul tuo server, utilizza il metodo JWT standard biblioteche e il file JSON che hai scaricato in modo sicuro dal nuovo account di servizio.
Crea token sul tuo computer di sviluppo
Per generare JWT sul tuo computer di sviluppo, usa quanto segue
Comando oauth2l
:
oauth2l fetch --cache "" --jwt --json $KEYFILE --audience "https://arcore.googleapis.com/"
È necessario specificare una posizione della cache vuota utilizzando il flag --cache
per
assicura che venga generato ogni volta un token diverso. Assicurati di tagliare
stringa risultante. Gli spazi aggiuntivi o i caratteri di nuova riga fanno sì che l'API
rifiuta il token.
Firma il token
Per firmare il JWT, devi utilizzare l'algoritmo RS256
e le seguenti attestazioni:
iss
: l'indirizzo email dell'account di servizio.sub
: l'indirizzo email dell'account di servizio.iat
: l'ora Unix in cui è stato generato il token, espressa in secondi.exp
-iat
+3600
(1 ora). L'epoca di Unix in cui scade il token, in pochi secondi.aud
: il pubblico. Deve essere impostato suhttps://arcore.googleapis.com/
.
Le attestazioni non standard non sono richieste nel payload JWT, sebbene sia possibile trovare
Affermazione uid
utile per identificare l'utente corrispondente.
Se utilizzi un approccio diverso per generare i tuoi JWT, ad esempio utilizzando un in un ambiente gestito da Google, assicurati di firmare i tuoi JWT con le in questa sezione. Assicurati innanzitutto che il pubblico sia corretto.
Passare il token nella sessione ARCore
Costruire una sessione
GARSession#sessionWithError:
NSError *error = nil; GARSession *garSession = [GARSession sessionWithError:&error];
Quando ottieni un token, passalo alla sessione utilizzando
setAuthToken:
In caso contrario, la sessione utilizzerà il token di autorizzazione valido più recente che hai passato. Richiama questo metodo ogni volta che aggiorni il token:[garSession setAuthToken: authToken]
La tua app è ora configurata per utilizzare l'autenticazione senza chiave.
Quando passi un token alla sessione, tieni presente quanto segue:
Se hai utilizzato una chiave API per creare la sessione, ARCore ignorerà il e registrare un errore.
Se non hai più bisogno della chiave API, eliminala in Google Developers Console e rimuoverlo dalla dell'app.
ARCore ignora i token che contengono spazi o caratteri speciali.
In genere i token scadono dopo un'ora. Se esiste la possibilità che il tuo potrebbe scadere durante l'uso, ottenere un nuovo token e passarlo all'API.
Chiave API
- In Google Cloud, apri la pagina Credenziali.
Credenziali - Fai clic su Crea credenziali, quindi seleziona Chiave API dal menu.
Il La finestra di dialogo Chiave API creata mostra la stringa per la chiave appena creata. Quando crei una
GARSession
, usaGARSession#sessionWithAPIKey:bundleIdentifier:error:
e inserisci la chiave API:self.garSession = [GARSession sessionWithAPIKey:@"your-api-key" bundleIdentifier:nil error:&error];
- Consulta la documentazione sulle limitazioni relative alle chiavi API per proteggere la chiave API.
L'app è ora configurata per l'utilizzo delle chiavi API.
Passaggi successivi
Con l'autorizzazione configurata, dai un'occhiata alle seguenti funzionalità ARCore che utilizzano Questo: