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

モバイルSDK - よくある質問

よくある質問にお答えします

対応者:Eric Fitzgerald

一般

IntercomのモバイルSDKのサイズはどのくらいですか?

SDKのサイズは異なりますが、Mobile SDKのサイズはおおよそ以下の通りです:

  • iOS: 約9MB

  • Android: 約7MB(共有依存関係などによりインストール時に縮小されます)

これは設定によって異なります。


プラットフォームとサポート

Xamarinのサポートはありますか?

いいえ、必要な場合はコミュニティライブラリに頼る必要があります。

React Nativeのサポートはありますか?

あります!私たちのReact Nativeラッパーは2021年6月24日にリリースされました。インストール情報は開発者ドキュメントのこちらでご覧いただけます。

Ionicのサポートはありますか?

公式にはIonicはサポートしていません。ただし、IntercomはIonic 1および2の両方で動作する可能性があります。IonicでIntercomを使用するには、以下を実行してください:

cordova plugin add cordova-plugin-intercom

Intercomを正しく初期化してください。

Ionic 1

Ionic 1では、次のようにIntercomを使用できます:

.run(function($ionicPlatform) {

$ionicPlatform.ready(function() {

cordova.plugins.intercom.registerIdentifiedUser({userId: "123456"});

cordova.plugins.intercom.setLauncherVisibility('VISIBLE');

});

})

Ionic 2

Ionic 2では、app.component.tsに次の変数を追加する必要があります:

declare var cordova:any;

その後、次のようにIntercomを使用できます:

this.platform.ready().then(() => {

cordova.plugins.intercom.registerIdentifiedUser({userId: "12345"});

cordova.plugins.intercom.setLauncherVisibility('VISIBLE');

});

このインストール方法は公式にはサポートされていないことに注意してください。

iOS SDKの最低必要バージョンはありますか?

Intercom iOS SDKのアップデートを受け取るには、iOS 13以上のバージョンが必要です。ただし、以前のiOSバージョンの顧客も引き続きサポートしますが、これらのレガシーバージョンにはアップデートは行われません。

古いバージョンのSDKにパッチを作成していますか?

古いバージョンのSDKに対するパッチは提供していません。すべての修正とアップデートは最新リリースに含まれています。

注意:Mobile SDKのアップデートは自動的には行われません。開発チームが手動で最新SDKバージョンに更新する必要があります。


機能

Messengerはモバイルアプリで動作しますか?

はい!ただし、Messengerはデスクトップと比べてモバイルアプリでは少し異なります。この記事では、新しいMessengerに対応するためのSDKの更新方法と、iOSおよびAndroidアプリでサポートされている機能について説明しています。

モバイルアプリのMessengerで利用できる機能は?

訪問者やusersがiOSまたはAndroidアプリでMessengerにアクセスすると、HelpとMessages Spaces が有効になっていれば、およびHome Spaceに追加したアプリも利用できるため、チャット以上のことが可能です。

usersはあなたとの会話を開始し、ticketsを提出することもできます。

お客様は画像やGIFを送信できますが、モバイルでは他のファイルのアップロードは現在サポートされていません。

IntercomのモバイルSDKは多言語対応していますか?

Intercomがモバイルアプリで読み込まれると、ユーザーの言語はOSの言語に基づいて検出されます。Messengerはワークスペースでサポートされていればユーザーの言語で読み込まれます。サポートされていない場合は、Messengerはワークスペースのデフォルト言語で読み込まれます。

Intercomはwebで行うように、モバイルuserの言語をプロフィールの属性で自動的に追跡しません。webのMessengerで読み込まれたuserについては、Intercomは「ブラウザ言語」属性で言語を追跡しますが、これはweb統合にのみ適用されます

モバイルuserの言語に基づいてアウトバウンドコンテンツをターゲットにしたい場合は、自分で追跡を設定する必要があります。language_override属性を使うか、カスタム属性を作成して言語を追跡してください。

IntercomのモバイルSDKはモバイルでの動画アップロードをサポートしていますか?

現時点ではAndroid SDKで動画アップロードをサポートしています。

モバイルSDKは右から左の言語(RTL)をサポートしていますか?

現在、モバイルSDKでのRTLは公式にはサポートしていません。ただし、Help Centerなどの新機能はサポートしているため、新しいSDKリリースでRTLの言及が見られます。将来的に完全サポートを計画していますが、現時点ではサポートしていません。

Intercomを使ってスプラッシュスクリーンのような告知を表示するには?

Intercomには特定のスプラッシュスクリーン機能はありませんが、チャットや投稿のようなアウトバウンドメッセージを使って似た効果を得ることができます。チャットはIntercom Messengerを通じて顧客に告知し、会話を促すために使えます。投稿は製品内で告知を行い、顧客の注意を即座に引きつけ、小サイズまたは大サイズで送信できます。

モバイルアプリの特定の画面にメッセージを送れますか?

モバイルアプリの特定の画面のusersにメッセージを送ることはできません。

ただし、回避策としてカスタム属性「current_screen」を追跡し、usersがモバイルアプリの別の画面に移動するたびにその属性を画面の識別子(名前やIDなど)で更新することができます。これはすべての画面、または自動メッセージでターゲットにする画面だけでも可能です。

属性を実装した後、ターゲットオーディエンスのルール「current_screen is splashScreen」を設定して、スプラッシュスクリーンにいるusersのみにメッセージを送ることができます。

IntercomはモバイルSDKを通じてusersの追加属性を追跡しますか?

モバイルSDKがワークスペースにインストールされると、追加の属性がウェブインターフェースで主に利用可能になります。

iOS/Android用

  • モバイル未識別

    • 未識別のusersとは、メールやuser_idでログインしていないusersのことです(ウェブ統合のleadsに似ていますが、すべてのモバイルSDKの記録はusersであることに注意してください)。

  • プッシュメッセージング有効

    • レコードにデバイストークンがあり、プッシュメッセージング/通知を受信できることを示します。

注意:モバイルSDK属性「Enabled Push Messaging」は常に「True」または「Unknown」のいずれかに設定されます。ユーザーのプロフィールにデバイストークンが付いている場合、「Enabled Push Messaging」はtrueを返します。そうでなければ「Unknown」を返します。

Android用

  • Androidでの最終確認日時

  • Androidセッション

  • Androidアプリバージョン

  • Androidデバイス

  • Android OSバージョン

iOS用

  • iOSでの最終確認日時

  • iOSセッション

  • iOSアプリバージョン

  • iOSデバイス

  • iOS OSバージョン

モバイルセッションはいつ増加しますか?

  • iOS

    • ユーザーが登録された最初の時点でiOSのセッション数を増加させます。

    • その後、ユーザーがアプリを開いたときにトリガーされるUIApplicationDidBecomeActiveNotificationごとに、20秒以上間隔が空いている場合に限り増加します。

    • 20秒以内のアプリ起動はカウントされません。

  • Android:同様のルールに従います。

App Versionタイプの属性に違いはありますか?

  • iOSのアプリバージョンは文字列型です。

  • AndroidのApp Versionは「version」型で、より大きい・小さいの比較が可能です。

Product Toursはモバイルで動作しますか?

Product Toursは、顧客向けにガイド付きのアプリ内体験を作成でき、より良い導入を促進します。

Product Toursはデスクトップのみ対応しています。現在、ブラウザやモバイルアプリ(タブレット含む)では動作しません。

Workflowsはモバイルで動作しますか?

はい、動作します。

ベトナムの顧客に既知の接続問題はありますか?

はい、あります。

もしあなたやベトナムにいる顧客がモバイルSDKでintercom.com domainの接続問題を抱えている場合、以下の手順でデフォルトのdomain名を上書きできます。

Android

アプリのAndroidManifest.xmlに以下のmeta-dataを追加してください。

<meta-data
android:name="io.intercom.android.sdk.host"
android:value=".intercom-messenger.com" />

iOS

Info.plistにこの属性を追加してください。

Key: IntercomCustomURL
Type: String
Value: intercom-messenger.com

この変更により、すべてのAPIリクエストはmobile-messenger.intercom.comではなくintercom-messenger.comを通過します。

これはAndroid SDK 9.1.2以上およびiOS SDK 13以上でサポートされています。

Intercomからのプッシュ通知はどのように送信されますか?

AppleとAndroidでプッシュの扱いに違いはありますが、原則は以下の通り同じです。

  1. プッシュデバイストークンの要求:アプリがプッシュ通知を使用したい場合、ユーザーが許可ダイアログを承認すると、関連するプッシュサービスにプッシュデバイストークンの要求が送信されます。このトークンは「住所」のようなもので、プッシュサービスが特定のデバイスにプッシュを配信するために使用されます(メールアドレスに似ています)。

  2. プッシュデバイストークン送信:要求が有効な場合、プッシュサービスは有効なトークンをデバイスに返します。

  3. プッシュデバイストークンをIntercomに送信:トークンはプッシュに使用するためにデバイスから別のサービスに送信されなければなりません。アプリ開発者のサーバー、Intercom、他の第三者、またはそのすべてに送信されることがあります。このトークンがIntercom側で受信されると、ユーザーレコードに紐付けられます。

  4. IntercomからApple/Googleへのプッシュパッケージ送信:プッシュ通知を送信する際、以下の情報がApple/Googleのプッシュサーバーに送信されます。

    1. デバイストークン

    2. 通知の詳細(例:ロゴ、タイトル、本文)

    3. 認証の詳細(アプリに代わってプッシュを送信するためのもので、Apple iOS証明書やGoogle Android GCM/FCMキーが関わり、Intercom Settingsダッシュボードで更新が必要です)

  5. デバイスに送信されたプッシュ通知

    1. Intercomが特定のトークンに対してプッシュサービスに認証すると、プッシュはデバイスに送信されます

    2. プッシュサービスはQuality of Service (QOS)を使用します

iOSでプッシュアイコンをカスタマイズする方法は?

プッシュ通知アイコンはXcodeのAssets > AppIconで設定可能です

image.png


IntercomモバイルSDKの使用

複数のapp_idsを動的に初期化/切り替えできますか?

現在、Androidでは複数のIDを切り替えることはできません。Intercom.registerForLaterInitialisation(this)は後での初期化のみを許可しますが、app idsの切り替え用ではありません。

ただし、iOSでは動作します。

Android/iOSモバイルSDKはアプリのアンインストールと再インストール時にセッションデータを保持しますか?

いいえ、保持しません。

  • iOSの場合:アプリはサンドボックス化されているため、新しいインストールは以前のインストールを認識しません。

  • Androidの場合:アンインストール時にすべてのデータが消去されます。

アプリがApp/Play Store経由や開発モードでアップグレードされた場合、セッションデータは保持されます。

IntercomはSDKを使用するアプリのモバイルデバイス上でセッションデータをどのように保存しますか?

匿名のUserIdを含むidentity.icmファイルを保存します。識別されたユーザーにはメール(提供されていれば)、userid、intercom idを保存し、再登録を防ぎます。セッションの新規作成は前回のセッションからの時間間隔(デフォルト20秒)で決まります。追跡のためにディスクに何も保存しません。

Google Play Servicesがないアプリ(例:Huawei App Gallery経由でインストールされたアプリ)にAndroid SDKをインストールできますか?

いいえ、Android SDKにはGoogle Play Servicesが必要です。

モバイルAPIキーはどこで見つけられますか?

Intercomにログイン後、画面左下のアバタープロフィール写真にカーソルを合わせ、Settings > Installation > iOS / Androidを選択するとモバイルAPIキーが見つかります。

また、iOSAndroid、およびCordovaReact Nativeのインストールガイドもぜひご覧ください!😊

デバイストークンをIntercomにインポートできますか?

いいえ、デバイストークンはIntercomにインポートできません。

Intercom Android SDKでユーザーセッションと認証をどのように管理し、ユーザー状態の取り扱いのベストプラクティスは何ですか?

Intercom Android SDKはユーザーセッションを内部で管理します。Intercom.loginIdentifiedUser()でログインするとセッションが保持され、アプリ起動時に再認証は不要です。SDKはログイン状態をローカルにキャッシュし、明示的にIntercom.logout()を呼ぶまで維持します。

アプリのロジックをIntercomと同期させるには、ユーザーがアプリにログインすると同時にIntercomにもログインし、ログアウト時にはIntercom.logout()を呼び出してください。これにより認証状態がシステムとIntercom間で一致します。

ユーザーデータ(ID、メールなど)をアプリに保存して現在のセッション状態を管理することも可能ですが、アプリの再インストールやユーザーの明示的なログアウトがない限り、Intercomは再保存や再識別を要求しません。

なぜユーザーが通知バーからプッシュ通知を選択したときに戻るボタンがホーム画面に戻すのですか?

アプリのランチャーアクティビティがバックスタックに追加されていないため、Intercomメッセージの通知を選択後に戻るボタンを押すと、Messengerを開くために起動した画面ではなくホーム画面に戻ります。

なぜエンドユーザーはAndroid Mobile SDKに画像をアップロードできないのですか?

エンドユーザーがモバイルSDKに画像をアップロードできない場合、通常はデバイスの写真ライブラリへのアクセス許可の問題です。SDKがピッカーを開こうとすると、iOS/Androidがアクセス拒否を報告し、アップロードが進みません。

  • 新しいAndroidバージョンでは、ファイル/画像アクセスなどの追加機能選択時に許可を求めるプロンプトが表示されます。

    image.png
  • 拒否された場合、再度ポップアップすることがありますが、そうでなければユーザーは手動でアプリの権限を確認して有効にする必要があります。

image.png

「写真へのアクセスを拒否しました」エラーやストレージ権限なしが表示される場合

ブロックがありません: uses-permission

これらの権限がなければ「ストレージ」権限は利用できません。

image.png

正しい権限

Android Correct Permissions.png
こちらの回答で解決しましたか?