Mobile SDK
Web で運用しているのと同じ「AI+人間」のサポートチャットを、ネイティブの Android・iOS・Flutter アプリの中に組み込めます。バックエンドの契約は一つ、挙動も一つ、対応プラットフォームは三つです。
プラットフォーム#
三つのネイティブ SDK は同一の公開 API サーフェスを共有します。アプリに合ったものを選んでください:
| SDK | スタック | 最小要件 |
|---|---|---|
| Android | Kotlin、Jetpack Compose | minSdk 24、Kotlin 2.x |
| iOS | Swift、SwiftUI(依存関係ゼロ) | iOS 15+、Swift 5.9+ |
| Flutter | 純粋な Dart、ネイティブブリッジなし | Dart 3.4+、Flutter 3.16+ |
各 SDK は本物のネイティブチャットをアプリ上のボトムシートとして描画します——WebView ではありません。アプリ側はエントリーポイント(ボタン、アイコン、バッジ)を描画し、 Respondo.open() でチャットを開きます。
含まれるもの#
モバイル SDK は Web ウィジェットの機能セットをそのまま反映します:
- チャットのコア:AIエージェント、人間の担当者へのライブ引き継ぎ、入力中・既読の状態、ファイル添付。
- ニュースフィード(「新着情報」)とオンボーディングのチェックリスト。
- アンケート(NPS、CSAT など)。
- 現在の画面に紐づくページ単位のバナーとプロアクティブなティーザー。ナビゲーション時に
Respondo.setCurrentScreen("screen_name")で現在の画面を報告してください — プロアクティブティーザーとページ単位のターゲティングがそれに一致します。 - 担当者の返信やキャンペーンのプッシュ通知。適切な会話へのディープリンク付き。
プロダクトツアーとツールチップは Web 専用のサーフェスであり、モバイル SDK には引き継がれません。
仕組み#
どの SDK も、Web ウィジェットと同じ公開ウィジェット契約に対する薄いクライアントです——バックエンドは変更なしで再利用されます。メッセージングは REST と WebSocket の上で動作し、配信は段階的にフォールバックし(WebSocket、次に SSE、次に REST ポーリング)、接続が回復した瞬間に上位方式へ戻ります。
認可は多層構造です:
- visitor_id — SDK が生成し、デバイス上に安全に保存する安定した匿名 ID: Android では Keystore で暗号化された preferences、iOS ではキーチェーン、Flutter では init に渡す
storageDirectory内のアプリ専用ファイルです。 - userHash — 会話を実在する人物に紐づける、あなたのバックエンドからの HMAC 署名(本人確認)。
- session-token — 会話ごとに発行され、REST と WebSocket の呼び出しで繰り返し提示されます。
はじめる#
アプリに合ったプラットフォームのページ——Android SDK、 iOS SDK、または Flutter SDK——に進んで、インストールと動作する初期化を確認してください。続いて本人確認を設定してサインイン済みユーザーを複数デバイス間で認識できるようにし、オフライン配信のためにプッシュ通知を組み込みます。
各 SDK はそれぞれのプラットフォームのレジストリからインストールします。Android は Maven Central (
ai.respondo:respondo-sdk)、iOS は Swift Package Manager 経由で github.com/respondo-app/sdk-ios、Flutter は pub.dev (respondo_sdk)から。Android と iOS のソースは GitHubで公開されています。