Channel Developers

thumbnail

クイックスタート

チャネルトーク 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 ManagerCocoaPods、またはCarthageを使用してインストールできます。

プライバシーマニフェスト

iOS SDK バージョン 11.5.0 以降には、プライバシーマニフェスト(PrivacyInfo.xcprivacy)が含まれています。プライバシーマニフェストファイルが必要な場合は、このバージョン以降を使用してください。

Swift Package Managerを使用して、ChannelIO SDKをインストールできます。Xcode 11以降のバージョンを使用していることを確認してください。

  1. Xcodeのナビゲーター(Xcode Navigator)でパッケージをインストールするプロジェクトを選択し、Swift Packageタブを選択します。最後に、+ボタンをクリックしてください。

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

CocoaPodsを使用して、ChannelIO SDKをインストールすることも可能です。CocoaPodsのバージョンが 1.10.0以降 であることをご確認ください。

  1. プロジェクトの 'Podfile' に、以下のように ChannelIOSDK を追加します。

Ruby

特定のパッケージバージョンが必要な場合は、スクリプト内の latest を希望するバージョンに変更してください。

例:

Ruby
  1. Podfileが保存されているディレクトリでpod installコマンドを実行し、パッケージをインストールします。

  2. Project_Name.xcworkspaceを開きます。

Carthageを使用して、ChannelIO SDKをインストールすることもできます。

  1. プロジェクトのCartfileに、以下のように ChannelIOSDK を追加してください。

特定のパッケージバージョンをインストールする必要がある場合は、スクリプトを次のように修正してください。

  1. Cartfileが保存されているディレクトリでcarthage updateコマンドを実行し、パッケージをインストールします。

例:

Plaintext
carthage update --platform iOS --use-xcframeworks
  1. ChannelIOパッケージは、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を使用する必要がある場所で、ライブラリをインポートします。

Plaintext
import ChannelIOFront
Plaintext
#import <ChannelIOFront/ChannelIOFront-swift.h>

SDKを使用する前に、必ず初期化処理を行う必要があります。AppDelegate.swiftapplication(_:didFinishLaunchingWithOptions:)メソッド内に、以下の初期化コードを追加してください。

Swift
Objective-C

SceneDelegate.swiftでアプリのウィンドウを管理している場合は、scene(_:willConnectTo:options:)内に以下のinitializeWindowメソッドを追加してください。

Swift
Objective-C

bootは、SDKを利用するための準備プロセスです。

チャネルのプラグインキーが必要になります。「プラグインキーの取得方法」をご参照ください。ブートには、匿名ユーザーとしてのbootと、メンバーユーザーとしてのbootの2つのタイプがあります。

ユーザーの詳細な定義については、「Member User」をご参照ください。

匿名ユーザーとは、memberIdを持たないユーザーを指します。以下は、匿名ユーザーとしてブートし、その処理結果を受け取る例です。

Swift
Objective-C

ブートのメソッドパラメータであるCHTBootConfigは、pluginKeyを含むいくつかのBブートオプションを提供します。

メンバーユーザーとは、memberIdを持つユーザーを指します。自社サービスへのサインイン時など、ユーザーを独自に識別できる場合は、memberIdを指定することで会員ユーザーとしてbootプロセスを開始できます。チャネルトークはmemberIdフィールドによってユーザーを識別します。

CHTProfileを使用して、ユーザーに追加情報を注入することができます。

メンバーハッシュを使用して、ユーザーの機密情報を保護してください。

ユーザーIDやメールアドレスなどの予測可能な値を使用してmemberIdを設定すると、権限のない第三者がユーザーのmemberIdを取得する可能性があります。この不正アクセスにより、悪意のある第三者が携帯電話番号やチャット履歴を含むユーザーの機密情報にアクセスできるようになり、セキュリティ侵害につながる恐れがあります。セキュリティレベルを高めるために、チャネルのメンバーハッシュを有効化してください。

以下は、特定のMEMBER_IDを持つ会員ユーザーをbootする例です。

Swift
Objective-C

同一人物の情報を統合することができます。

匿名ユーザーの状態から会員ユーザーとしてbootする場合、チャネルトークがその2人が同一人物であるという強力な根拠を見つけると、ユーザーを1人に統合できます。詳細は「ユニフィケーション」をご参照ください。

bootにはネットワーク接続が必要なため、不規則な遅延が発生する場合があります。bootが完了した後、または失敗した後に処理すべきタスクがある場合は、BootCallbackを使用できます。

Swift
Objective-C

結果の全リストについては、CHTBootStatusをご確認ください。

BootStatus使用時の注意点

BootStatusを確認することで、ChannelIO.showMessengerChannelIO.showChannelButtonなどのSDK画面を表示する関数を選択的に呼び出さないでください。

SDKは、これらの機能のために内部でBootStatusを確認します。バージョン12.14.0以降、将来のアップデートにより現在のSDKバージョンがサポート対象外となった場合、SDKはユーザーに適切な案内画面を自動的に表示します。これらの関数を選択的に呼び出すと、この必要なユーザー体験が提供されず、サポートされていないバージョンを使用している顧客の体験を損なう可能性があります。

Swift
Objective-C

SDKは、メッセンジャーを起動するためのデフォルトのチャネルボタンを提供しています。showChannelButtonおよびhideChannelButtonを呼び出すことで、チャネルボタンの表示・非表示を切り替えることができます。

Swift
Objective-C

ボタンの外観を変更したい場合は、チャネルボタンのカスタマイズをご参照ください。

イベント追跡とプッシュ通知以外のすべての機能が停止します。チャットやマーケティングポップアップは表示されなくなります。

Swift
Objective-C

SDKのすべての機能を終了します。SDKの機能を再度使用したい場合は、改めてbootを行う必要があります。

Swift
Objective-C