Crea y administra sesiones

Las sesiones son el núcleo de la API de Picker, que proporciona un entorno seguro y controlado de modo que los usuarios seleccionen fotos y álbumes de sus bibliotecas de Google Fotos. Esta se describe cómo crear, administrar y realizar encuestas de forma eficaz para permitir la selección de fotos fluidas en la app.

Antes de comenzar

  • Configura tu app: Habilita la API y configura la autenticación. Consulta Configura tu app para obtener detalles pasos.
  • Comprende el flujo: Revisa cómo comenzar a usar la API de Picker. para obtener una descripción general de todo el proceso de selección de fotos.
  • Revisar los permisos de autorización requeridos: Para trabajar con sesiones, se requiere la photospicker.mediaitems.readonly. Para obtener más información sobre los alcances, consulta Permisos de autorización.

Ciclo de vida de la sesión

La API de Picker proporciona métodos para crear, recuperar información y borrar sesiones. Después de autenticar a tus usuarios, puedes usar sesiones para administrar el ciclo de vida de la selección de fotos.

  1. Crea una sesión para permitir que un usuario seleccione elementos multimedia.
  2. Consulta la sesión para verificar cuándo el usuario terminaste de seleccionar elementos multimedia.
  3. Enumera y recupera los elementos multimedia.
  4. Borra la sesión para realizar una limpieza.

Crea sesiones

Crea una sesión para que tus usuarios puedan elegir fotos de forma segura directamente de sus app de Google Fotos y volver a compartirlas con la tuya.

sessions.create genera una sesión nueva y muestra un pickerUri único que que puedes presentar a tus usuarios. La sesión permanece activa hasta que el usuario los elementos multimedia se seleccionaron correctamente, o bien se agota el tiempo de espera de la sesión.

Límites de sesiones

Ten en cuenta los límites de la sesión. La API de Picker aplica límites a la cantidad de sesiones que puedes crear para garantizar un uso responsable y evitar abusos. Por debajo en circunstancias normales, es poco probable que alcances estos límites. Sin embargo, deberías realizar un seguimiento de las sesiones y limpiarlas de manera proactiva para evitar posibles problemas, problemas.

Sesiones de encuesta y supervisión

Una vez que se cree la sesión, sondear periódicamente el extremo sessions.get para obtener el estado de una sesión. La propiedad mediaItemsSet en la respuesta muestra true cuando el usuario complete su selección.

Asegúrate de usar un sondeo eficiente. La respuesta sessions.get incluye lo siguiente: pollingConfig. Usa los siguientes campos para evitar errores y crear una experiencia del usuario fluida:

  • pollInterval: Intervalos de sondeo óptimos
  • timeoutIn: Duración del tiempo de espera

Consulta el Ejemplo de flujo de sondeo para obtener más detalles.

Borra y limpia sesiones

sessions.delete quita una sesión, que se suele usar para la limpieza después de que el usuario termina de seleccionar contenido multimedia o si se agota el tiempo de espera de la sesión.

Se recomienda borrar las sesiones una vez que el usuario haya seleccionado elementos multimedia y tu app recuperó el elemento multimedia bytes.

Ejemplo de flujo de sondeo

Este es un ejemplo de cómo crear y sondear una sesión. Después de la primera autenticación tu usuario, crea una nueva sesión.

  1. Crea una sesión: Llama a sessions.create para iniciar una sesión nueva y obtener el pickerUri.
  2. Presenta el pickerUri al usuario: Muestra la URL o genera un código QR. código para que el usuario lo escanee.
  3. Encuesta sobre la sesión:
    1. Usa el comando pollInterval recomendado de pollingConfig.
    2. Comprueba si mediaItemsSet es verdadero.
      1. Si es true, proceda a mostrar la lista de los elementos multimedia seleccionados.
      2. Si es false, continúa con el sondeo hasta llegar a timeoutIn.
    3. Controla los tiempos de espera y las cancelaciones con facilidad.
GET https://photoslibrary.googleapis.com/v1/sessions/{sessionId}

Esta es una respuesta de ejemplo:

{
  "id": string,
  "pickerUri": string,
  "pollingConfig": {
    object (PollingConfig)
  },
  "mediaItemsSet": boolean
}

Presenta el elemento pickerUri al usuario y, luego, comienza a sondear la sesión.

Verifica la respuesta de lo siguiente:

  • mediaItemsSet: Es verdadero si el usuario terminó de seleccionar elementos multimedia.
  • pollingConfig.pollInterval: Es el tiempo recomendado para esperar antes de la siguiente encuesta.
  • pollingConfig.timeoutIn: Es el tiempo total de espera antes del Se agotó el tiempo de espera

Si mediaItemsSet es falso y no se alcanzó timeoutIn, espera pollInterval y, luego, sondear de nuevo.

Si mediaItemsSet es verdadero, proceda a generar una lista de los elementos multimedia seleccionados.

Si se alcanza timeoutIn, controla el tiempo de espera de manera adecuada.