Creare e gestire sessioni

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.

  1. Crea una sessione per consentire a un utente di selezionare elementi multimediali.
  2. Conduci un sondaggio alla sessione per verificare quando l'utente ha ha terminato la selezione degli elementi multimediali.
  3. Elenca e recupera gli elementi multimediali.
  4. 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 ottimali
  • timeoutIn: 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.

  1. Crea una sessione: chiama il numero sessions.create per avviare una nuova sessione e ottieni il pickerUri.
  2. Presenta pickerUri all'utente: mostra l'URL o genera un codice QR da scansionare.
  3. Fai un sondaggio durante la sessione:
    1. Usa l'intervallo pollInterval consigliato da pollingConfig.
    2. Verifica se mediaItemsSet è vero.
      1. Se true, procedi con l'elenco degli elementi multimediali selezionati.
      2. Se false, continua il polling fino al raggiungimento di timeoutIn.
    3. Gestisci tempestivamente i timeout e le cancellazioni.
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 multimediali
  • pollingConfig.pollInterval: tempo di attesa consigliato prima del prossimo sondaggio
  • pollingConfig.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.