Le sessioni sono il cuore dell'API Picker e offrono una piattaforma sicura e controllata consente agli utenti di selezionare foto e album dalla loro raccolta di Google Foto. Questo la guida illustra come creare, gestire e proporre sondaggi in modo efficace per consentire selezione semplice delle foto nella tua app.
Prima di iniziare
- Configura la tua app: attiva l'API e imposta l'autenticazione. Per la procedura dettagliata, consulta Configurare l'app.
- Comprendi il flusso: consulta la sezione Iniziare a utilizzare l'API Picker per una panoramica dell'intero processo di selezione delle foto.
- Esamina gli ambiti di autorizzazione richiesti: per utilizzare le sessioni è necessario
Ambito
photospicker.mediaitems.readonly
. Per ulteriori informazioni sugli ambiti, consulta Ambiti di autorizzazione.
Ciclo di vita della sessione
L'API Picker fornisce metodi per creare, recuperare informazioni e eliminare sessioni. Dopo aver autenticato gli utenti, potrai utilizzare le sessioni per gestire il ciclo di vita della scelta delle foto.
- Crea una sessione per consentire a un utente di selezionare elementi multimediali.
- Conduci un sondaggio alla sessione per verificare quando l'utente ha ha terminato la selezione degli elementi multimediali.
- Elenca e recupera gli elementi multimediali.
- Ripulisci la sessione eliminandola.
Crea sessioni
Crea una sessione per consentire agli utenti di scegliere in sicurezza le foto direttamente dal loro Google Foto e condividerle sulla tua applicazione.
sessions.create
genera una nuova sessione, restituendo un pickerUri
univoco che puoi presentare ai tuoi utenti. La sessione rimane attiva finché l'utente non
ha selezionato correttamente gli elementi multimediali oppure si verifica il timeout della sessione.
Limiti di sessioni
Fai attenzione ai limiti di sessioni. L'API Picker applica limiti al numero di che puoi creare per garantire un utilizzo responsabile e prevenire i comportamenti illeciti. Sottopeso normali, è improbabile che tu possa raggiungere questi limiti. Tuttavia, devi monitorare e ripulire le sessioni in modo proattivo per evitare qualsiasi che le applicazioni presentino problemi di prestazioni.
Sessioni di sondaggio e monitoraggio
Una volta creata una sessione, esegui periodicamente il polling dell'endpoint sessions.get
per ottenere
lo stato di una sessione. La proprietà mediaItemsSet
nella risposta restituisce
true
quando l'utente ha completato la selezione.
Assicurati di utilizzare sondaggi efficaci. La risposta sessions.get
include i campi
Oggetto pollingConfig
. Utilizza i seguenti campi per aiutarti a evitare inutili
per creare un'esperienza utente fluida:
pollInterval
: intervalli di polling ottimalitimeoutIn
: durata del timeout
Per ulteriori dettagli, consulta l'esempio di flusso di polling.
Eliminare e pulire le sessioni
sessions.delete
rimuove una sessione, in genere utilizzata per la pulizia dopo che l'utente
ha terminato la selezione dei contenuti multimediali o se la sessione scade.
Una best practice consiste nel eliminare le sessioni dopo che l'utente ha selezionato gli elementi multimediali e la tua app ha recuperato l'elemento multimediale byte.
Esempio di flusso di polling
Questo è un esempio di creazione e polling di una sessione. Dopo la prima autenticazione creare una nuova sessione.
- Crea una sessione: chiama il numero
sessions.create
per avviare una nuova sessione e ottieni ilpickerUri
. - Presenta
pickerUri
all'utente: mostra l'URL o genera un codice QR da scansionare. - Fai un sondaggio durante la sessione:
- Usa l'intervallo pollInterval consigliato da
pollingConfig
. - Verifica se
mediaItemsSet
è vero.- Se
true
, procedi con l'elenco degli elementi multimediali selezionati. - Se
false
, continua il polling fino al raggiungimento ditimeoutIn
.
- Se
- Gestisci tempestivamente i timeout e le cancellazioni.
- Usa l'intervallo pollInterval consigliato da
GET https://photoslibrary.googleapis.com/v1/sessions/{sessionId}
Ecco un esempio di risposta:
{
"id": string,
"pickerUri": string,
"pollingConfig": {
object (PollingConfig)
},
"mediaItemsSet": boolean
}
Presenta il pickerUri
all'utente e poi inizia a eseguire il polling della sessione.
Controlla la risposta per quanto segue:
mediaItemsSet
: true se l'utente ha finito di selezionare gli elementi multimedialipollingConfig.pollInterval
: tempo di attesa consigliato prima del prossimo sondaggiopollingConfig.timeoutIn
: tempo totale di attesa prima del giorno timeout
Se mediaItemsSet
è falso e timeoutIn
non è stato raggiunto, attendi
pollInterval
, quindi fai un nuovo sondaggio.
Se mediaItemsSet
è true, procedi elencando gli elementi multimediali selezionati.
Se viene raggiunto il valore di timeoutIn
, gestisci il timeout in modo controllato.