logo
Development
検索
ワークスペースのモバイル統合概要

ワークスペースのモバイル統合概要

GPTBots は、ワークスペース全体を企業のモバイル APP に統合することをサポートしており、企業ユーザーがログイン不要でワークスペースを利用できるようにすることで、企業従業員によるワークスペースの利用を容易にします。統合は WebView + H5 ブリッジ の方式を採用し、Android と iOS の両方をサポートします。

WebViewBridge は、ネイティブアプリと H5 ページの間で双方向通信を行うためのブリッジインターフェースです。統一された通信プロトコルとメソッドを提供し、ネイティブコードと H5 ページが相互に呼び出し合い、データをやり取りできるようにします。


統合アーキテクチャ

┌──────────────┐ WebViewBridge ┌──────────────────┐ │ 企業モバイル APP │ ◄────────────────► │ ワークスペース H5 ページ │ │(Android/iOS) │ │ (React + Vite) │ └──────────────┘ └──────────────────┘ │ │ │ AiToken 発行 │ AiToken 解析 │ (RSA 暗号化) │ ログイン不要で入室 ▼ ▼ ┌──────────────────────────────────────────────────┐ │ GPTBots バックエンドサービス │ │ (Spring Boot + MongoDB + Redis) │ └──────────────────────────────────────────────────┘
                      
                      ┌──────────────┐    WebViewBridge    ┌──────────────────┐
│  企業モバイル APP │ ◄────────────────► │  ワークスペース H5 ページ │
│(Android/iOS) │                    │  (React + Vite)  │
└──────────────┘                    └──────────────────┘
       │                                   │
       │ AiToken 発行                       │ AiToken 解析
       │ (RSA 暗号化)                       │ ログイン不要で入室
       ▼                                   ▼
┌──────────────────────────────────────────────────┐
│                GPTBots バックエンドサービス                    │
│        (Spring Boot + MongoDB + Redis)           │
└──────────────────────────────────────────────────┘

                    
このコードブロックをポップアップで表示

統合フロー

ステップ 説明 詳細ドキュメント
1. 公開鍵の取得 スペース設定 → 統合で RSA 公開鍵を取得します AiToken 暗号化
2. AiToken の発行 公開鍵でメンバーのメールアドレスを暗号化し、プロジェクト ID を連結してから Base64 エンコードします AiToken 暗号化
3. 専用 URL を開く AiToken をワークスペース統合 URL に連結します 本ドキュメント
4. ネイティブ側の接続 Android または iOS 側で WebView を統合し、権限を設定します Android 統合 / iOS 統合
5. ブリッジ通信 JSBridge / WKScriptMessageHandler を実装します Android 統合 / iOS 統合

ワークスペースアクセス URL

企業従業員が APP 側でワークスペースにアクセスする際は、企業従業員の身元でワークスペースのアドレスを開く必要があります。アクセスアドレスの生成ルールは以下のとおりです。

https://gptbots.ai/space/h5/home?AiToken={暗号化AiToken}&hideClose=true
                      
                      https://gptbots.ai/space/h5/home?AiToken={暗号化AiToken}&hideClose=true

                    
このコードブロックをポップアップで表示
  • {暗号化AiToken}:RSA 公開鍵で暗号化された AiToken であり、組織 ID従業員アカウントのメールアドレスを含みます
  • hideClose:オプションのパラメータで、true に設定すると webview ページ内の「閉じる」ボタンを非表示にします

hideClose パラメータの動作

  • デフォルト(渡さない、または false):ページ内に「閉じる」ボタンを表示し、クリック時に WebViewBridge を通じて閉じるアクションのメッセージ通知を送信します
  • true に設定:閉じるボタンを非表示にし、APP が自主的に WebView のライフサイクルを制御します

閉じるアクションのメッセージ JSON

{ "eventType": "click", "data": { "value": "close", "timestamp": 1776921208476, "extendedData": {} } }
                      
                      {
  "eventType": "click",
  "data": {
    "value": "close",
    "timestamp": 1776921208476,
    "extendedData": {}
  }
}

                    
このコードブロックをポップアップで表示
  • eventType:文字列で、イベントの種類を表し、異なる機能呼び出しを識別するために使用します
  • data:JSON オブジェクトで、イベントに関連するパラメータデータを含み、異なる eventType に応じて異なるフィールドを含めることができます

イベントタイプ表

イベントタイプ 定数 説明 パラメータ
click EVENT_CLICK webview ページのクリックイベント data:付加データ(オプション)JSON 形式、デフォルトで value(イベントタイプ、例:「click」)、timestamp(タイムスタンプ、単位:ミリ秒)フィールドを含みます
message EVENT_MESSAGE webview ページのメッセージイベント data:付加データ(オプション)JSON 形式、デフォルトで value(イベントタイプ、例:「message」)、timestamp(タイムスタンプ、単位:ミリ秒)フィールドを含みます

DEMO プロジェクト

GPTBots は、完全なモバイルワークスペース統合の DEMO を提供しています。

プラットフォーム リポジトリ
Android android-webview-bridge
iOS ios-webview-bridge

関連ドキュメント