SDKリファレンス
すべてのKeyda SDK(Android、iOS、React Native、Flutter、Ionic)は、同一のシンプルなコントラクトを実装しています。一つを使えば、すべて同じように利用できます。
API
| 通話 | 機能について |
|---|---|
init / initialize | Client IDを保存します。IDを検証し、形式が正しくない場合は明確にエラーを表示します。 |
show | アプリ上にチャットを表示します。 |
dismiss | 閉じます。 |
isShowing | 現在表示されているかどうか。 |
意図的に他の機能は含めていません。メッセージ送信API、未読カウント、ユーザー識別呼び出しなどは、現時点ではエンドツーエンドで機能しないためです。機能しないメソッドは、存在しないメソッドよりも悪質です。
すべてのSDKが開くURL
{baseUrl}/chat/{clientId}baseUrl はデフォルトで https://keyda.in/business に設定されており、ステージング環境やセルフホスト環境など、すべてのプラットフォームで上書き可能です。
ウェブビューの必要性とコストについて
プラットフォームが提供する単一のチャットインターフェースを、あらゆる場所で読み込みます。
提供内容: ダッシュボードで行った変更(アクセントカラー、ウェルカムメッセージ、ボット名、公開設定など)は、リリース作業なしで即座にすべてのアプリに反映されます。修正は一度にすべて適用され、どのプラットフォームでも同一のチャットが利用可能です。
費用について: チャットには接続が必要です。オフラインモードはなく、プッシュ通知もまだ利用できません。
後で気づくよりも、公開前に知っておいていただきたいことがあります。
各SDKが提供する保証
- ナビゲーションの脱出。 外部へのリンクはチャットを置き換えるのではなく、システムブラウザで開きます。これがないと、フッターのリンクを一度タップしただけで会話が終了し、戻れなくなってしまいます。
- 会話の継続性。 DOMストレージが有効なため、アプリを閉じて戻ってきた顧客は、中断した箇所から会話を再開できます(24時間以内)。
- キーボードが入力欄を隠すことはありません。
- セーフエリアを考慮 — ノッチやホームインジケーターの下にチャットが表示されることはありません。
- アプリがクラッシュすることはありません。 読み込みに失敗した場合は、再試行が表示されます。
- 分析ツール、デバイス識別子、サードパーティの依存関係は一切ありません。 Keyda SDKを追加しても、アプリにトラッカーが組み込まれることはありません。
Client IDの形式
kb_live_ followed by 8-48 hexadecimal charactersそれ以外のものは初期化時に拒否され、顧客の画面に404エラーが表示されることはありません。Client IDは設計上公開されるものであり(ウィジェットを埋め込んだウェブサイトで確認可能)、アカウントの読み取りや変更を行う権限はありません。詳細は 制限とセキュリティ を参照してください。
ソース
MITライセンスで公開中:github.com/KeydaAI/keyda-business-sdks。各パッケージが準拠する共通の規約は、リポジトリトップのCONTRACT.mdに記載されています。