チャネルトーク iOS SDKは、SwiftやObjective-Cで記述されたアプリケーションにリアルタイムのカスタマーチャットを導入するためのプラグインです。WebViewやモバイルWebへの導入をご検討の場合は、JavaScript SDKインストールガイドをご参照ください。
SDKの最小要件は以下の通りです。
チャネルトークの有料プランへの加入
Swift 5.0 以降
ChannelIO SDK 12.0.0 以降
デプロイターゲットの要件:
SDK v12.4.1 以降:iOS 15 以上が必要
SDK v12.4.0 以前:iOS 12 以上に対応
ChannelIO SDKは、Swift Package Manager、CocoaPods、またはCarthageを使用してインストールできます。
iOS SDK バージョン 11.5.0 以降には、プライバシーマニフェスト(PrivacyInfo.xcprivacy)が含まれています。プライバシーマニフェストファイルが必要な場合は、このバージョン以降を使用してください。
Swift Package Managerを使用して、ChannelIO SDKをインストールできます。Xcode 11以降のバージョンを使用していることを確認してください。
Xcodeのナビゲーター(Xcode Navigator)でパッケージをインストールするプロジェクトを選択し、Swift Packageタブを選択します。最後に、
+ボタンをクリックしてください。

ChannelIO Swift Package のリポジトリURLを追加します。バージョンを設定したら、
Add Packageボタンをクリックしてください。

CocoaPodsを使用して、ChannelIO SDKをインストールすることも可能です。CocoaPodsのバージョンが 1.10.0以降 であることをご確認ください。
プロジェクトの 'Podfile' に、以下のように ChannelIOSDK を追加します。
特定のパッケージバージョンが必要な場合は、スクリプト内の latest を希望するバージョンに変更してください。
例:
Podfileが保存されているディレクトリで
pod installコマンドを実行し、パッケージをインストールします。Project_Name.xcworkspaceを開きます。
Carthageを使用して、ChannelIO SDKをインストールすることもできます。
プロジェクトの
Cartfileに、以下のように ChannelIOSDK を追加してください。
特定のパッケージバージョンをインストールする必要がある場合は、スクリプトを次のように修正してください。
Cartfileが保存されているディレクトリでcarthage updateコマンドを実行し、パッケージをインストールします。
例:
carthage update --platform iOS --use-xcframeworksChannelIOパッケージは、
PROJECT_DIR/Carthage/buildディレクトリ内に生成されます。このパッケージを Xcode にドラッグ&ドロップして追加してください。
SDKを利用するには、特定の権限が必要です。プロジェクトの Info.plist に、対応するキーと値のペア、およびその説明文を追加してください。
キー | 値 |
|---|---|
Privacy-Camera Usage Description | より良いユーザー体験を提供するために、カメラへのアクセスが必要です。 |
Privacy-Photo Library Additions Usage Description | 写真を保存するために、フォトライブラリへのアクセスが必要です。 |
Privacy-Microphone Usage Description | 動画用の音声を録音するために、マイクへのアクセスが必要です。 |
SDKのバージョンが 10.0.7未満、またはアプリの最小デプロイターゲットが iOS 13.0未満 の場合は、追加で以下の権限を設定する必要があります。
キー | 値 |
|---|---|
Privacy-Photo Library Usage Description | ユーザー体験を向上させるために、フォトライブラリへのアクセスが必要です。 |
SDKを使用する必要がある場所で、ライブラリをインポートします。
import ChannelIOFront#import <ChannelIOFront/ChannelIOFront-swift.h>SDKを使用する前に、必ず初期化処理を行う必要があります。AppDelegate.swiftの application(_:didFinishLaunchingWithOptions:)メソッド内に、以下の初期化コードを追加してください。
SceneDelegate.swiftでアプリのウィンドウを管理している場合は、scene(_:willConnectTo:options:)内に以下のinitializeWindowメソッドを追加してください。
bootは、SDKを利用するための準備プロセスです。
チャネルのプラグインキーが必要になります。「プラグインキーの取得方法」をご参照ください。ブートには、匿名ユーザーとしてのbootと、メンバーユーザーとしてのbootの2つのタイプがあります。
ユーザーの詳細な定義については、「Member User」をご参照ください。
匿名ユーザーとは、memberIdを持たないユーザーを指します。以下は、匿名ユーザーとしてブートし、その処理結果を受け取る例です。
ブートのメソッドパラメータであるCHTBootConfigは、pluginKeyを含むいくつかのBブートオプションを提供します。
メンバーユーザーとは、memberIdを持つユーザーを指します。自社サービスへのサインイン時など、ユーザーを独自に識別できる場合は、memberIdを指定することで会員ユーザーとしてbootプロセスを開始できます。チャネルトークはmemberIdフィールドによってユーザーを識別します。
CHTProfileを使用して、ユーザーに追加情報を注入することができます。
メンバーハッシュを使用して、ユーザーの機密情報を保護してください。
ユーザーIDやメールアドレスなどの予測可能な値を使用してmemberIdを設定すると、権限のない第三者がユーザーのmemberIdを取得する可能性があります。この不正アクセスにより、悪意のある第三者が携帯電話番号やチャット履歴を含むユーザーの機密情報にアクセスできるようになり、セキュリティ侵害につながる恐れがあります。セキュリティレベルを高めるために、チャネルのメンバーハッシュを有効化してください。
以下は、特定のMEMBER_IDを持つ会員ユーザーをbootする例です。
同一人物の情報を統合することができます。
匿名ユーザーの状態から会員ユーザーとしてbootする場合、チャネルトークがその2人が同一人物であるという強力な根拠を見つけると、ユーザーを1人に統合できます。詳細は「ユニフィケーション」をご参照ください。
bootにはネットワーク接続が必要なため、不規則な遅延が発生する場合があります。bootが完了した後、または失敗した後に処理すべきタスクがある場合は、BootCallbackを使用できます。
結果の全リストについては、CHTBootStatusをご確認ください。
BootStatus使用時の注意点
BootStatusを確認することで、ChannelIO.showMessengerやChannelIO.showChannelButtonなどのSDK画面を表示する関数を選択的に呼び出さないでください。
SDKは、これらの機能のために内部でBootStatusを確認します。バージョン12.14.0以降、将来のアップデートにより現在のSDKバージョンがサポート対象外となった場合、SDKはユーザーに適切な案内画面を自動的に表示します。これらの関数を選択的に呼び出すと、この必要なユーザー体験が提供されず、サポートされていないバージョンを使用している顧客の体験を損なう可能性があります。
SDKは、メッセンジャーを起動するためのデフォルトのチャネルボタンを提供しています。showChannelButtonおよびhideChannelButtonを呼び出すことで、チャネルボタンの表示・非表示を切り替えることができます。
ボタンの外観を変更したい場合は、チャネルボタンのカスタマイズをご参照ください。
イベント追跡とプッシュ通知以外のすべての機能が停止します。チャットやマーケティングポップアップは表示されなくなります。
SDKのすべての機能を終了します。SDKの機能を再度使用したい場合は、改めてbootを行う必要があります。