AndroidとPendo連携してみた
PendoはWebアプリの解析やガイド作成が注目されがちですが、実はモバイルアプリとも容易に連携が可能です。AndroidとiOS両対応しています。
[Pendo Mobile](Pendo.io - プロダクト体験とデジタルアダプションのソリューション)
今回はAndroidとPendoを連携してみました。
Android ProjectにPendo SDKをインポートする必要はあるものの、一回入れてしまえばほぼほぼノーコードでアプリのユーザー行動追跡と、ガイドの表示ができるようになります。
インストール作業の概要:
- PendoにAndroidアプリケーションを追加
- AndroidのPendoインストールキーを取得する
- Android projectにpendo sdkを追加し、初期化メソッドを追加
- インストール後、Pendoとの接続テストを行う
- ページや機能のタグ付けを行う
- ガイドの作成
PendoにAndroidアプリケーションを追加
app.pendo.ioを開きアプリケーションの追加を選択します
今回はAndroidアプリを追加するので、Native Androidを選択します。名前をつけて保存。
AndroidのPendoインストールキーを取得する
アプリの追加が完了すると、SDKを追加する手順が表示されます。PendoのAPI Keyもコード中に表示されています。
Android projectにpendo sdkを追加し、初期化メソッドを追加
Build.gradleにPendoのSDKを追加
implementation group:'sdk.pendo.io' , name:'pendoIO', version:'2.12.+', changing:true
パッケージのリポジトリを追加
repositories {
maven {
url "https://software.mobile.pendo.io/artifactory/androidx-release"
// AndroidXではない場合、は以下を追加
// url "https://software.mobile.pendo.io/artifactory/android-release"
}
mavenCentral()
}
*Gradleのバージョンによってはbuild.gradleではなくsettings.gradleにレポジトリを追加する必要があります
MainActivityにPendo.setupを追加
Oncreate
に以下を追加
APIKEYはPendoアプリのinstall タブに表示されていますinstall画面参照
import sdk.pendo.io.*;
String pendoAppKey = "APIKEY”
Pendo.setup(
getApplication(),
pendoAppKey,
null,
null
);
ユーザー情報が初期化される画面でPendoも初期化
ユーザーの属性情報が取得できる画面(ログイン後の画面等)でPendoを初期化しメタデータを送ります
String visitorId = "daichi"; //Visitor ID
String accountId = "ishida"; //Account ID
//Visitor IDを送信
HashMap<String, Object> visitorData = new HashMap<>();
visitorData.put("age", 36);
visitorData.put("country", "JAPAN");
// send Account Level Data
HashMap<String, Object> accountData = new HashMap<>();
accountData.put("Tier", 1);
accountData.put("Size", "Enterprise");
Pendo.startSession(
visitorId,
accountId,
visitorData,
accountData
);
権限の追加
Manifestファイルに以下権限を追加します。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
ページ/機能トラッキングを有効化する
Manifestファイルに以下を追記し、ページ・機能トラッキングを追跡できるようにします
<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="pendo-c2ecf598"/>
</intent-filter>
</activity>
アプリをビルドして実行
ログに以下メッセージが表示されていればインストール成功です
I/PendoInternal: Pendo Mobile SDK was successfully integrated and connected
Pendoと接続テスト
Pendoアプリ(app.pendo.io)のinstallタブ画面右下のStart Vertificationボタンを押下します
表示されるQRをデバイスで読み込むもしくはURLを開いてください
接続テスト
接続に成功するとアプリケーション上にPendoアイコンが表示されます。
ページをナビゲートしたり、ボタンをクリックしてみてください。
データが正しく送信されているとPendo側の画面が切り替わります。
ページと機能のタグ付け
ページ特定
Pendoアプリ上からページタグ付けを選択
Androidアプリ上にカメラボタンが表示されます。カメラボタンを押すとページのタグ情報がPendoに送信されます
ページ送信成功の図
送信に成功すると先ほどのページのスクショがPendo上に表示されます
機能のタグ付け
ページ内のタグ付けはPendoアプリ上から行うことができます。
さきほど送信したページ情報を元にボタン等をタグ付けできます。
ガイド作成
Web版ガイド同様にドラッグアンドドロップでガイドを作成できます。
モバイルガイドのアクティベーションは4種類用意されています。Webとは違いtrack eventをガイドのトリガーに設定できます。
- App launch
- アプリ起動時
- Page View
- 特定ページを開いた後
- Target Element
- 特定のエレメントを線選択した後
- Track Event
- Track Eventの送付が完了した後
ガイドのテスト
ガイド作成画面右上のPreviewボタンからガイドをデバイス上でテストすることができます