メインコンテンツにスキップ

モバイルアプリにIntercomをインストールして使用する

Intercomによるオンボーディングとサポート体験でモバイルアプリのusersとエンゲージしましょう。

対応者:Beth-Ann Sher

Messengerを機能させるには、Intercomのトライアルまたはサブスクリプションが必要です。

iOSまたはAndroidアプリにIntercomをインストールして、usersが誰かを把握し、あらゆる接点でつながりましょう:

すべてusersがアプリを離れることなく行えます。


モバイルアプリにIntercomをインストールして設定する

モバイルアプリにIntercomをインストールするには、iOSAndroidReact Native、およびCordovaのネイティブSDKを使って数分で完了します。

注意:最新のMessengerは最低SDKバージョンが必要です。現在の最低必要バージョンはiOSAndroidのリリースノートでご確認ください。

モバイルアプリにIntercomをインストールする際は、usersについて追跡したいカスタムデータを設定してください。これにより、よりターゲットを絞ったパーソナライズされたメッセージやカルーセルを送信できます。

あなたまたは開発者は、開発者向けドキュメントで設定方法を確認できます:

SDKは小さいので、アプリの動作を遅くしません。👌

プラットフォーム選択

Channels > Messenger > Installページから、Messengerをウェブ環境にインストールするかモバイル環境にインストールするかを選択するよう求められます。

Install for webを選ぶとウェブサイト向けのインストールフローが表示され、Install for mobileを選ぶとモバイルアプリ向けの新しいインストールフローが表示されます。👇

モバイルのステータスは、AndroidまたはiOSのいずれもインストールされていない場合は「Not installed」、両方インストールされている場合は「Securely installed」と表示されます。

モバイルアプリにMessengerをインストールするには、3つのステップを完了する必要があります。

最初のMessengerインストール

iOS、Android、またはReact Nativeのいずれかのインストールプラットフォームを選択してください。選択したプラットフォームごとに特有の手順があります。

モバイルアプリにIntercomをインストールする方法のオプションと、インストールを助けるコードスニペットが提供されます。iOS向けのコードスニペットのオプションは次の通りです:

  1. Swift Package Manager

  2. Cocoapods

  3. 手動インストール

Android向けのコードスニペットのオプションは次の通りです:

  1. Groovy

  2. Kotlin

注意:Messengerのモバイルインストールには「Enable user traffic for messenger」トグルが必須です。

React Native向けのコードスニペットのオプションは次の通りです:

  1. Yarn

  2. NPM

  3. Expo

次のステップは、モバイルアプリのコードベース内で「Intercomの初期化」を行うことです。このステップでAPIキーの管理も可能です。iOS向けのコードスニペットのオプションは:

  1. Swift

  2. Swift UI

  3. ObjectiveC

Android向けのコードスニペットのオプションは:

  1. Kotlin

  2. Java

React Nativeの選択肢は:

  1. iOS

  2. Android

最後のインストール確認ボタンは、選択したインストールでMessengerが正常に検出された場合は成功通知を表示し、問題があればそれを示します。

注意:モバイルアプリをMessenger APIに接続する際は、エンドポイントがワークスペースのデータホスティング地域と一致していることを確認してください。米国ホストのワークスペースは標準APIエンドポイント(URLに'eu'なし)を使用し、EUホストのワークスペースはEUエンドポイントを使用します。誤ったエンドポイントを使うと404エラーになります。

MessengerのJWTによるセキュリティ確保

最近、MessengerのセキュリティをHMACではなくJSON Web Tokensに改善しました。この更新により、以前のIdentity Verification (IdV)方式が、ユーザーデータ保護のための機能に置き換えられました。

JWTの利点は次の通りです:

データ保護 — ユーザーIDとメール、さらに任意のユーザー属性の署名と保護。

短命トークン — JWTは有効期限を設定でき、トークンの不正使用リスクを減らします。

JWTでMessengerを保護するには、iOSまたはAndroidをこちらで選択し、指示に従ってください。

注意:React NativeではJWTサポートがまだリリースされていないため、Identity Verificationを使用し続ける必要があります。

Identity VerificationによるMessengerのセキュリティ確保【非推奨】

モバイルでのIdentity Verificationは、設定 > インストール > Install for mobileに移動し、インストールプラットフォーム(iOS、Android、React Native)を選択してください。

最初のインストールステップと同様に、React Native SDKをどのプラットフォーム(iOSまたはAndroid)でインストールするか選択するよう求められます。

バックエンドコードベース内でHMACコード(ハッシュベースメッセージ認証コード)を生成し、Intercom Messengerに提供する方法のコードスニペットと説明が提供されます。このHMACコードはMessenger内のユーザー操作の正当性を検証するために使用されます。

さらに、モバイルアプリ内でIntercomを初期化する際にHMACを含めるためのコードスニペットも提供されます。iOS向けのコードスニペットのオプションは:

  1. Swift

  2. Swift UI

  3. ObjectiveC

Android向けのコードスニペットのオプションは:

  1. Kotlin

  2. Java

React Native向けには、HMACコードを使ってIdentity VerificationでIntercomを初期化する例のコードスニペットを提供しています。

Identity Verificationプロセスの最終ステップは、Identity Verificationを強制することです。これにより、有効なHMACコードを含まないMessengerからのすべてのリクエストが拒否されます。

注意:iOSまたはAndroidアプリでIdentity Verificationを強制すると、2番目のステップが完了済みとしてマークされます。


⚠️ ユーザーログアウト時にセッションを終了してください

usersがアプリからログアウトした際に、Intercomをシャットダウンして会話をクリアすることを確実に行ってください。

Objective Cでの方法はこちらです。

- (void)logout { [Intercom logout]; }

Javaでの方法はこちらです。

private void logout() { 
Intercom.client().logout();
}

注意:識別されたuserのみログアウトしてください。識別されていないuserをログアウトすると、将来マージできない孤立したレコードが発生します。

Intercomはアプリがバックグラウンドに入り再びアクティブになることを認識しているため、再ログインは不要です。

詳細はiOSおよびAndroidの開発者ドキュメントをご覧ください。

オプション:プッシュ通知の設定

このステップでもインストールプラットフォーム(iOSまたはAndroid)を選択できます。ここでプッシュ通知を設定できますが、設定手順の案内はありません。プッシュ通知の設定には開発者ドキュメントを参照してください:

注意:React nativeはモバイルプッシュ通知のオプションとして提供されていません。

注意:プッシュ通知がiOSまたはAndroidアプリで設定されていると、このオプションのステップは完了済みとマークされます。

重要: Intercom iOS SDK v13.0.0+のビルドにはXcode 14が必要です。

Xcode 14では、SDKインストール時にコンソールにいくつかの警告が表示されます。これらの警告はIntercomのWKWebView使用に起因し、Xcode 14のバグによるもので、Intercom側で修正できません。

これらは単なる警告であり、警告があってもIntercomは通常通り機能します。

警告メッセージは以下の通りです:

  1. WKWebView Error - 記事を表示し、コンソールに次のエラーが表示されます: Error acquiring assertion: <Error Domain=RBSServiceErrorDomain Code=1 "target is not running or doesn't have entitlement com.apple.runningboard.assertions.webkit" UserInfo={NSLocalizedFailureReason=target is not running or doesn't have entitlement com.apple.runningboard.assertions.webkit}>

  2. このメソッドはUIの応答性低下を招く可能性があるため、メインスレッドで呼び出すべきではありません。

  3. [Sandbox] Mach bootstrapを有効にできませんでした、errno = 22。


モバイルアプリにHelp Centerを深く統合する

記事のHelp Centerをモバイルアプリに直接組み込むことで、usersに柔軟なヘルプコンテンツの提供が可能です。Intercomの既成UIを使うか、独自のカスタム表示を開発するかにかかわらず、ユーザーに必要なサポートを提供できます。


usersの会話の安全確保

繰り返しますが、iOSおよび/またはAndroidアプリでMessenger Securityを有効にすることを強く推奨します。これにより、あなたとusers間の会話がプライベートに保たれ、他のuserがなりすますことを防ぎます。

設定方法の詳細はヘルプセンターのドキュメントまたはセキュリティ設定をご覧ください。モバイルの手順は、iOSおよびAndroidの開発者ドキュメントをご参照ください。

こちらの回答で解決しましたか?