チャネルトーク Android SDKは、Java/Kotlinで書かれたアプリケーションにリアルタイムの接客チャットのインストールを容易にするプラグインです。WebViewやモバイルウェブへのインストールをお探しの場合は、JavaScript SDKインストールガイドをご参照ください。
SDKをインストールする前に、以下の条件が満たされていることをご確認ください。
チャネルトークの有料プランの契約
インストール可能な最小Android APIレベル15以上
SDKが機能するために必要な最小Android APIレベルはAndroid APIレベル21です。
推奨されるAndroid Gradle Plugin 8.0.0以上
sourceCompatibility、targetCompatibility 1.8以上
SDKはKotlinバージョン1.8.22を使用しています。それより低いバージョンのKotlinを使用している場合、Gradleの依存関係解決で問題が発生する可能性があります。
各バージョンについて1年間のメンテナンスを保証します。詳細はChangelogsをご参照ください。
settings.gradleに当社のMavenリポジトリを宣言してください。
次に、プロジェクトレベルのbuild.gradleに依存関係を追加してください。最新バージョンについては、当社のChangelogsをご参照ください。
パッケージ名の変更など、間接的な依存関係の競合を防ぐために最善を尽くしていますが、Gradleの設定によって手動で解決する必要がある場合があります。当社のSDKで依存関係の解決に関する問題が発生した場合は、チャットでお問い合わせください。
SDKバージョン10.0.0以下を使用しており、かつProGuardを使用している場合は、proguard-rules.proに以下のルールを追加する必要があります。
-keep class com.zoyi.**{ *; }
-keep class io.channel.**{ *; }
-dontwarn com.zoyi.**
-dontwarn io.channel.**Channel SDKを使用するには、Application#onCreate()からChannelIO.initialize()を呼び出す必要があります。独自のApplicationをお持ちでない場合は、新しく作成してください。
Android APIレベル28以上では、安全でないHTTP接続はデフォルトで禁止されています。会話中にHTTPのURLが配信された場合、SDKに埋め込まれたWebViewはそのWebページを表示することができません。この問題を解決する最善の方法は、一貫してHTTPSのURLを配信することです。ただし、チームでHTTPのURLを配信する必要がある場合は、AndroidManifest.xmlのプロパティを次のように変更してください。
すべてのHTTP接続を許可すると、セキュリティ上の問題が発生する可能性があります。ネットワークセキュリティに関するAndroid公式ドキュメントをご参照ください。
SDKを初期化した後、チャネルと統合するためにSDKをブートする必要があります。チャネルのプラグインキーが必要であり、オプションでユーザープロファイルや設定も必要です。プラグインキーの取得方法をご参照ください。
匿名ユーザーとは、memberIdを持たないユーザーのことです。匿名ユーザーが別のデバイスからbootした場合、過去のチャット履歴にはアクセスできません。
現在サービスにサインインしているユーザーなど、特定可能なユーザーはメンバーユーザーとしてbootできます。チャネルは、BootConfig#setMemberId()で設定可能な memberIdフィールドによってユーザーを識別します。
ユーザーの機密情報を保護するためにメンバーハッシュを使用する
ユーザーIDやメールアドレスなどの推測可能な値を使用してmemberIdを設定すると、権限のない第三者がユーザーのmemberIdを取得する可能性があります。不正アクセスにより、悪意のある第三者が携帯電話番号やチャット履歴を含むユーザーの機密情報を入手し、セキュリティ侵害につながる恐れがあります。セキュリティレベルを向上させるために、チャネルのメンバーハッシュを有効化してください。
同一人物の情報を統合できます
匿名ユーザーの状態からメンバーユーザーとしてbootする場合、チャネルが2人のユーザーが同一人物であるという強力な証拠を見つけると、ユーザーを1つに統合できます。詳細は「ユニフィケーション」をご参照ください。
bootにはネットワーク接続が必要であり、ランダムな遅延が発生する可能性があります。boot後に実行する必要があるタスクがある場合は、BootCallbackを使用できます。
boot結果の全リストについては、BootStatusをご参照ください。
BootStatus使用時の注意事項
ChannelIO.showMessengerやChannelIO.showChannelButtonといったSDK画面を表示する関数を選択的に呼び出さないでください。
SDKはこれらの機能について、内部でboot状態を確認しています。バージョン12.15.0以降、将来のアップデートによって現在のSDKバージョンがサポート対象外となった場合、SDKはユーザーに対して適切な案内画面を自動的に提供します。これらの関数を選択的に呼び出すと、この必要なユーザー体験が提供されず、サポートされていないバージョンを使用している顧客の体験を損なう可能性があります。
チャネルトークAndroid SDKは、ユーザーがチームメンバーに簡単に連絡できるように、デフォルトのチャネルボタンを提供しています。
ユーザーが表示するすべてのActivityでチャネルボタンを表示するには、
ChannelIO.showChannelButton()を呼び出します。すべてのActivityからチャネルボタンを非表示にするには、
ChannelIO.hideChannelButton()を呼び出します。
詳細はChannelIO.showChannelButton()およびChannelIO.hideChannelButton()のリファレンスをご確認ください。ボタンの外観を変更したい場合は、チャネルボタンのカスタマイズをご参照ください。
チャネルボタンやアプリ内ポップアップなどのSDK UIを特定のActivityで表示したくない場合は、そのActivityに@SkipAttachChannelViewアノテーションを使用してください。このアノテーションを使用すると、ChannelIO.showChannelButton()が呼び出された場合やマーケティングメッセージが送信された場合でも、SDK UIの表示がブロックされます。
イベントトラッキングとプッシュ通知を除くすべての機能が停止します。チャットやマーケティングポップアップは表示されなくなります。
SDKを完全に終了します。リアルタイムチャット、マーケティング、イベントトラッキング、およびプッシュ通知が停止します。SDKの機能を使い続けるには、再度ブートする必要があります。
例えば、ユーザーがサービスにサインインしている間だけSDKの機能を使用するサービスにおいて、マーケティング用のプッシュ通知やマネージャーの返信をユーザーに通知する必要がなくなった場合などが挙げられます。この場合、ChannelIO.shutdown()を使用してください。