Descripción general de la integración móvil del espacio de trabajo
GPTBots permite integrar por completo el espacio de trabajo en la APP móvil de la empresa y, al implementar el uso del espacio de trabajo sin necesidad de iniciar sesión por parte de los usuarios corporativos, facilita que los empleados de la empresa utilicen el espacio de trabajo. La integración adopta el enfoque de WebView + puente H5 y admite tanto Android como iOS.
WebViewBridge es una interfaz de puente utilizada para la comunicación bidireccional entre la aplicación nativa y la página H5. Proporciona un protocolo y métodos de comunicación unificados, que permiten que el código nativo y la página H5 se invoquen mutuamente y transfieran datos con facilidad.
Arquitectura de integración
┌──────────────┐ WebViewBridge ┌──────────────────┐
│ APP móvil │ ◄────────────────► │ Página H5 del │
│ corporativa │ │ espacio de trabajo│
│(Android/iOS) │ │ (React + Vite) │
└──────────────┘ └──────────────────┘
│ │
│ Emisión de AiToken │ Análisis de AiToken
│ (Cifrado RSA) │ Acceso sin login
▼ ▼
┌──────────────────────────────────────────────────┐
│ Servicios backend de GPTBots │
│ (Spring Boot + MongoDB + Redis) │
└──────────────────────────────────────────────────┘
Flujo de integración
| Paso | Descripción | Documentación detallada |
|---|---|---|
| 1. Obtener la clave pública | Obtén la clave pública RSA en Configuración del espacio → Integración | Cifrado de AiToken |
| 2. Emitir el AiToken | Cifra el correo del miembro con la clave pública, concatena el ID del proyecto y, a continuación, codifica en Base64 | Cifrado de AiToken |
| 3. Abrir la URL exclusiva | Concatena el AiToken en la URL de integración del espacio de trabajo | Este documento |
| 4. Integración en el lado nativo | Integra WebView en el lado de Android o iOS y configura los permisos | Integración en Android / Integración en iOS |
| 5. Comunicación por puente | Implementa JSBridge / WKScriptMessageHandler | Integración en Android / Integración en iOS |
URL de acceso al espacio de trabajo
Cuando un empleado de la empresa accede al espacio de trabajo desde la APP, debe abrir la dirección del espacio de trabajo con la identidad del empleado corporativo. La regla para generar la dirección de acceso es la siguiente:
https://gptbots.ai/space/h5/home?AiToken={加密AiToken}&hideClose=true
{加密AiToken}: el AiToken cifrado mediante la clave pública RSA, que contiene el ID de la organización y el correo de la cuenta del empleadohideClose: parámetro opcional; si se establece entrue, se oculta el botón «Cerrar» en la página del webview
Comportamiento del parámetro hideClose
- Por defecto (no se pasa o
false): se muestra el botón «Cerrar» en la página y, al hacer clic, se envía una notificación de mensaje con la acción de cierre a través de WebViewBridge - Establecido en
true: se oculta el botón de cierre y la APP controla de forma autónoma el ciclo de vida del WebView
JSON del mensaje de acción de cierre:
{
"eventType": "click",
"data": {
"value": "close",
"timestamp": 1776921208476,
"extendedData": {}
}
}
eventType: cadena que indica el tipo de evento, utilizada para identificar las distintas llamadas de funcionalidaddata: objeto JSON que contiene los datos de los parámetros relacionados con el evento; puede incluir distintos campos según el eventType
Tabla de tipos de evento
| Tipo de evento | Constante | Descripción | Parámetros |
|---|---|---|---|
click |
EVENT_CLICK | Evento de clic en la página del webview | data: datos adicionales (opcional) en formato JSON; incluye por defecto los campos value (tipo de evento, p. ej. "click") y timestamp (marca de tiempo, en milisegundos) |
message |
EVENT_MESSAGE | Evento de mensaje en la página del webview | data: datos adicionales (opcional) en formato JSON; incluye por defecto los campos value (tipo de evento, p. ej. "message") y timestamp (marca de tiempo, en milisegundos) |
Proyecto DEMO
GPTBots ofrece una DEMO completa de integración del espacio de trabajo en el lado móvil:
| Plataforma | Repositorio |
|---|---|
| Android | android-webview-bridge |
| iOS | ios-webview-bridge |
