Recurso: DeviceSession
Mensaje de protobuf que describe el mensaje del dispositivo, usado desde varias RPC.
Representación JSON |
---|
{ "name": string, "displayName": string, "state": enum ( |
Campos | |
---|---|
name |
Opcional. Es el nombre de la DeviceSession, p.ej., “projects/{projectId}/deviceSessions/{session_id}” |
displayName |
Solo salida. Es el título de DeviceSession que se presentará en la IU. |
state |
Solo salida. Estado actual de DeviceSession. |
stateHistories[] |
Solo salida. Las transiciones de estado históricas del mensaje sessionState, incluido el estado actual de la sesión |
inactivityTimeout |
Solo salida. El intervalo de tiempo con el que se debe interactuar con este dispositivo antes de pasar de ACTIVE a TIMEOUT_INACTIVITY. Una duración en segundos con hasta nueve dígitos decimales, que terminan en “ |
createTime |
Solo salida. Indica la hora a la que se creó la sesión. Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
activeStartTime |
Solo salida. La marca de tiempo en la que la sesión pasó a estar ACTIVA por primera vez. Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
androidDevice |
Obligatorio. El dispositivo solicitado |
Campo de unión
|
|
ttl |
Opcional. Es la cantidad de tiempo que se asignará inicialmente a un dispositivo. Con el tiempo, esto se puede extender con la RPC deviceSessions.patch. Valor predeterminado: 15 minutos. Una duración en segundos con hasta nueve dígitos decimales, que terminan en “ |
expireTime |
Opcional. Si el dispositivo aún está en uso, se finalizarán todas las conexiones y SessionState pasará de ACTIVE a FINISHED. Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
Estado de sesión
Es el estado en el que reside la sesión del dispositivo.
Enums | |
---|---|
SESSION_STATE_UNSPECIFIED |
Valor predeterminado Este valor no se usa. |
REQUESTED |
Estado inicial de una solicitud de sesión. Se está validando la precisión de la sesión, y aún no se solicita un dispositivo. |
PENDING |
La sesión se validó y está en la cola de un dispositivo. |
ACTIVE |
Se otorgó la sesión y el dispositivo acepta conexiones. |
EXPIRED |
La duración de la sesión superó el período de reserva del dispositivo y se agotó el tiempo de espera automáticamente. |
FINISHED |
El usuario finalizó la sesión, y esta se canceló mientras la solicitud seguía asignando o después de la asignación y durante el período de uso del dispositivo. |
UNAVAILABLE |
No se pudo completar la sesión porque el dispositivo no estaba disponible y no se pudo realizar la asignación a través del programador. Por ejemplo, se solicitó un dispositivo que no estaba en el catálogo o se venció la solicitud en la cola de asignación. |
ERROR |
No se pudo completar la sesión por un motivo interno, por ejemplo, una falla de la infraestructura. |
Evento de estado de sesión
Un mensaje que encapsula una serie de estados de Session y la hora en que la DeviceSession ingresó esos estados por primera vez.
Representación JSON |
---|
{
"sessionState": enum ( |
Campos | |
---|---|
sessionState |
Solo salida. El sessionState al que le hace un seguimiento este evento |
eventTime |
Solo salida. Indica la hora a la que sessionState encontró ese estado por primera vez. Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
stateMessage |
Solo salida. Un mensaje legible por humanos que explique el estado. |
Métodos |
|
---|---|
|
POST /v1/projects/{project_id}/deviceSessions/{device_session_id}:cancel Cambia DeviceSession al estado FINISHED y finaliza todas las conexiones. |
|
POST /v1/projects/{project_id}/deviceSessions |
|
GET /v1/projects/{project_id}/deviceSessions/{device_session_id} Muestra una DeviceSession, que documenta el estado de asignación y si el dispositivo está asignado. |
|
GET /v1/projects/{project_id}/deviceSessions enumera las sesiones del dispositivo que pertenecen al usuario del proyecto. |
|
PATCH /v1/projects/{projectId}/deviceSessions/deviceSessionId}:updateDeviceSession Actualiza la sesión actual del dispositivo a los campos descritos por update_mask. |