重要:この記事では、SDKを正常にインストールするために必要なAPIキーとスキームIDを含まないコード例を紹介しています。サブスクリプションのPendo管理者は、[サブスクリプション設定(Subscription Settings)]の[アプリの詳細(App Details)]または[アプリの詳細]の[インストール設定(Install Settings)]で、これらの一意のIDにアクセスできます。
概要
Pendoは、プロダクトの使用データを把握し、ユーザーからのフィードバックを収集し、アプリ内でユーザーとコミュニケーションをとりながら、ユーザーにオンボーディングを促したり、ユーザーを教育したり価値あるものに導いたりすることができます。Pendoのタグ付けとガイドは完全にコードレスで、エンジニアリングリソースは不要です。ただし、SDKのインストールとアプリにおけるPendoの初期化にはエンジニアの力が必要です。Pendoと一般的なインストールプロセスに関する情報は、導入計画文書(Installation Planning article)に掲載されています。準備をすれば、Pendo SDKの技術的なインストールは簡単です。
Pendoを最初にインストールする際の技術的な部分はSDKだけです。SDKが正しくインストールされれば、誰でもPendoを使うことができます。SDKは、訪問者のアプリ内での行動を追跡し、ガイドを読み込み、セッションのメタデータをキャプチャします。トラックイベントなど、モバイル向けにPendoの使用を最適化および拡張するために、後から追加の開発を行うことが可能です。最新のPendoの機能を使用するには、新しいバージョンがリリースされた際に、モバイルアプリのSDKも更新する必要があります。
Pendoは、他の一般的なCRM、分析、およびコラボレーションツールとのインテグレーションを行っています。インテグレーションの範囲は、コードレスのインストールウィザードによるネイティブインテグレーションから、カスタム開発まで多岐にわたりますが、この記事では説明しません。一般的なインテグレーション機能については、インテグレーションに関する記事をご覧ください。また、SDKのインストールが完了した後のサブスクリプションのインテグレーションについては、担当者にお問い合わせください。
Pendo Xamarin Android SDKのインストール
SDKパッケージのインストールは、ビジュアルスタジオのソリューションエクスプローラー(Solution Explorer)を使って行います。ソリューションエクスプローラーでAndroidアプリを開き、指示に従ってSDKをインストールします。アプリのリポジトリとマニフェストファイルを更新します。アプリがすべてのバージョン要件を満たしていることを確認します。この作業が完了したら、Pendoを設定して初期化し、ユーザーの識別、データの収集、およびガイドの読み込みを行う必要があります。
SDKパッケージの追加
1. Androidプロジェクトのターゲットを右クリックします。
2. [追加(Add)]をクリックし、[NuGetパッケージの追加...(Add NuGet Packages...)]をクリックします。
3. アプリケーションがAndroidXを使用している場合は、「pendo-sdk-androidx」を検索します。そうでない場合は「pendo-sdk-android」を検索してください。
4. [パッケージ追加(Add Package)]をクリックします。
アプリケーションがAndroidXを使用している場合は、以下の依存関係を追加する必要があります。
- Xamarin.AndroidX.ExifInterface - バージョン1.1.0.4以降
- Xamarin.AndroidX.Legacy.Support.V13 - バージョン1.0.0.4以降
Android.manifestファイルの更新
アプリケーションAndroid.manifest
ファイルで
1. <manifest>
タグのマニフェストに以下の<uses-permission>
を追加します。
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
2. compileSdkVersion 29以降、minSdkVersion 21以降でアプリをコンパイルするように設定します。
Pendoの設定と初期化
SDKの初期化には、SDKのインポートと、訪問者が識別されたときのSDKの初期化という2つの要素があります。Pendo SDKは、アプリケーションのonCreate
時にインポートされます。初期化コールは、現在の訪問者を識別してセッションを開始するすべてのアクティビティで発生する可能性があります。
ユーザーを識別し、データ収集を開始し、ガイドのコンテンツを表示するには、Pendoを初期化する必要があります。SDKは、訪問者が認証され、メタデータが既知であるか、匿名の訪問者である場合に初期化できます。初期化は、アプリケーションの起動時、後で訪問者が識別されたとき、または現在の訪問者を識別して新しいセッションを開始する必要があるときに実行できます。
識別された訪問者は、定義されたスキーマを使用して、Pendoのメタデータに関連付けられた訪問者オブジェクトとアカウントオブジェクトを作成します。このデータがPendoでどのように定義され、使用されているかについては、訪問者とアカウントのメタデータに関する記事を参照してください。null
または""
をvisitorId
として渡すと、匿名の訪問者IDが生成されます。
- visitorId - 一意のユーザーIDを含む文字列(例:「user-SFGH-56gh」)。このIDは、他のPendoウェブアプリまたはモバイルアプリの訪問者IDと一致する必要があります
- accountId - 一意のアカウントID、訪問者の特定の企業またはグループへの所属(例:Acme Inc)を含む文字列。このIDは、他のPendoウェブアプリまたはモバイルアプリの訪問者IDと一致する必要があります
- visitorData - 訪問者のメタデータ(例:メール、電話、国など)
- accountData - アカウントのメタデータ(例:種別、レベル、ARRなど)
1. ApplicationクラスでのPendoの設定
ApplicationクラスのonCreate
メソッドに以下のコードを追加します。
setup
は、SDKの設定と初期化を行います。
using static Sdk.Pendo.IO.Pendo;
...
const string pendoAppKey = "YOUR-API-KEY";
Setup(this, pendoAppKey, null);
2. 訪問者が識別されるアクティビティ/フラグメントでのPendoの初期化
Pendo.startSession
は新しいセッションを開始し、データ収集を開始し、指定されたメタデータを持つガイドを読み込みます。これにより、認証されたユーザーを識別したり、匿名の訪問者に対してランダムな訪問者IDを生成したりできます。pendo.startSession
を再度呼び出すと、現在のセッションが終了して新しいセッションが開始され、データ収集が開始され、渡された新しい訪問者のメタデータを使用してガイドが読み込まれます。
以下のコードを追加してPendoを初期化し、現在の訪問者を識別します。
Pendo.startSession (
visitorId,
accountId,
visitorData,
accountData);
注:startSession
はいつでも現在の訪問者を更新するために使用できるため、SDKの初期化後に呼び出す必要があります。
デバイス接続の設定
Pendoでのアプリケーションのタグ付けとガイドのテストができるようにするには、AndroidManifest.xml
に、スキームIDを持つアクティビティを追加します。
1. アプリケーションAndroidManifest.Xml
ファイルを開きます。
2. <application>タグのマニフェストに以下の<activity>を追加します。
<activity android:name="sdk.pendo.io.activities.PendoGateActivity" android:launchMode="singleInstance">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="<REPLACE_WITH_YOUR_SCHEME_ID>"/>
</intent-filter>
</activity>
- スキームIDとアプリキーは、[サブスクリプション設定]の[アプリの詳細]で参照できます。
Proguardを使用する場合
proguard-android-optimize.txtを使用している場合は、optimizationsのコード行に以下を追加してください。
!code/allocation/variable
optimizationsのコード行は以下のようになります。
-optimizations *other optimizations*,!code/allocation/variable
インストールの検証
1. Android Studioを使用してアプリを実行し、デバイスログの中で以下を検索します。
Pendo SDK was successfully integrated and connected to the server.
(Pendo SDKは正常に統合され、サーバーに接続されました。)
2. [サブスクリプション設定] に、[統合済み(Integrated)]と示されたアプリが表示されていることを確認します。
追加の設定
Pendo Android APIドキュメントには、アプリケーションでPendo SDKを設定するための追加の技術情報が記載されています。
トラブルシューティング
互換性の問題については、最新のPendoモバイルSDKリリースノートを参照してください。
Dexの問題が発生した場合は、以下の記事を参照してください。
https://developer.android.com/studio/build/multidex.
https://docs.microsoft.com/en-us/xamarin/android/deploy-test/release-prep/?tabs=macos#multi-dex