開発者向けインストールガイド(Pendo Xamarin Android SDK)

最終更新日:

重要:この記事では、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のインストールが完了した後のサブスクリプションのインテグレーションについては、担当者にお問い合わせください。

 

インストール手順

  1. [設定(Settings)]>[サブスクリプション設定(Subscription Settings)]>[他のアプリを追加(Add Another App)]を選択し、Xamarin Androidアプリタイプを選択します。

    xamarin_android.png

  2. Pendoでは、2種類のアプリケーション(iOS用およびAndroid用)が[サブスクリプション設定(Subscription Setting)]ページに作成されます。

    xamarin_ios_android.png

  3. Androidアプリにカーソルを合わせ、[インストールに進む(Continue to installation)]を選択します。

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:Pendo Xamarin Android SDKのインストール

SDKパッケージのインストールは、ビジュアルスタジオのソリューションエクスプローラー(Solution Explorer)を使って行います。ソリューションエクスプローラーでAndroidアプリを開き、指示に従ってSDKをインストールします。アプリのリポジトリとマニフェストファイルを更新します。アプリがすべてのバージョン要件を満たしていることを確認します。この作業が完了したら、Pendoを設定して初期化し、ユーザーの識別、データの収集、およびガイドの読み込みを行う必要があります。

  1. Visual Studioソリューションエクスプローラーで、Androidプロジェクトターゲットを右クリックし、[追加(Add)]- >[NuGetパッケージを追加…(Add NuGet Packages…)]を選択します。
  2. Xamarin Forms 5を使用している場合は、pendo-sdk-android-xamarin-formsを検索します。
  3. アプリケーションがAndroidXを使用しており、Xamarinのみを使用している場合は、pendo-sdk-androidxを検索します。
  4. AndroidサポートとXamarinについては、pendo-sdk-androidを検索してください。
  5. [パッケージを追加(Add Package)]を押します。

Proguard/R8を使用する場合

proguard-android-optimize.txtを使用している場合は、optimizationsのコード行に以下を追加してください。

!code/allocation/variable

optimizationsのコード行は以下のようになります。

-optimizations *other optimizations*,!code/allocation/variable

 

ステップ2:Pendo SDKのインテグレーション

1. Android.App.Applicationを継承するApplicationクラスを開きます。
次のコードを使用して、アプリケーションのonCreateメソッドでPendoを初期化します。

using static Sdk.Pendo.IO.Pendo;
...
const string pendoAppKey = <YOUR_APP_KEY>
Setup(this, pendoAppKey, null, null);

2. 訪問者が識別されるアクティビティ/フラグメントでのPendoの初期化

    var visitorId = "VISITOR-UNIQUE-ID";
    var accountId = "ACCOUNT-UNIQUE-ID";
/*
    "pendo-sdk-androidx" プラグインを使用している場合はこの行を使用します:
*/
    var visitorData = new Dictionary<string, Java.Lang.Object>
/*
    "pendo-sdk-android-xamarin-forms" プラグインを使用している場合はこの行を使用します:
*/

    var visitorData = new Dictionary<string, object>
    {
        { "age", 27 },
        { "country", "USA" }
    };
/*
     "pendo-sdk-androidx" プラグインを使用している場合はこの行を使用します:
*/
    var accountData = new Dictionary<string, Java.Lang.Object> 

/*
    "pendo-sdk-android-xamarin-forms" プラグインを使用している場合はこの行を使用します:
*/
    var accountData = new Dictionary<string, object>
    {
        { "Tier", 1 },
        { "Size", "Enterprise" }
    };

    StartSession(
        visitorId,
        accountId,
        visitorData,
        accountData
   );

 

**visitorId**:ユーザーの識別子(例:John Smith)
**visitorData** : ユーザーのメタデータ(例:メール、電話、国など)
**accountId**:ユーザーの特定の企業やグループの所属(例:Acme inc.)
**accountData**:アカウントのメタデータ (例:種別、レベル、ARRなど) このコードは前回のモバイルセッション(該当する場合)を終了し、新しいモバイルセッションを開始し、提供された情報に基づいてすべてのガイドを取得します。**ヒント:** visitorId として `null` または `""` を渡すと、<a href="https://help.pendo.io/resources/support-library/analytics/anonymous-visitors.html" が生成されますtarget="_blank">匿名の訪問者ID</a>。

 

ステップ3:タグ付けとテストのためのモバイルデバイス接続

アプリケーションにPendoとテストガイドをタグ付けできるようにするには、以下の手順を実行します。


3. 次のアクティビティをアプリケーションAndroidManifest.Xmlのタグに追加します。

<activity android:name="sdk.pendo.io.activities.PendoGateActivity" android:launchMode="singleInstance" android:exported="true">
 <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= <YOUR_SCHEME>/>
 </intent-filter>
</activity>

 

ステップ4:インストールの検証

1. Visual Studioを使用してアプリを実行し、デバイスログの中で以下を検索します。

Pendo SDK was successfully integrated and connected to the server.
(Pendo SDKは正常に統合され、サーバーに接続されました。)

2. クリックすると、SDKインテグレーションのための検証プロセスに進みます。

3. サブスクリプション設定に、[インテグレーション済(Integrated)]と示されたアプリが表示されていることを確認します。

XamAndroidIntegrated.png

 

追加の設定

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