0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AndroidとPendo連携してみた

Last updated at Posted at 2022-08-19

AndroidとPendo連携してみた

PendoはWebアプリの解析やガイド作成が注目されがちですが、実はモバイルアプリとも容易に連携が可能です。AndroidとiOS両対応しています。

[Pendo Mobile](Pendo.io - プロダクト体験とデジタルアダプションのソリューション)

今回はAndroidとPendoを連携してみました。
Android ProjectにPendo SDKをインポートする必要はあるものの、一回入れてしまえばほぼほぼノーコードでアプリのユーザー行動追跡と、ガイドの表示ができるようになります。

インストール作業の概要:

  1. PendoにAndroidアプリケーションを追加
  2. AndroidのPendoインストールキーを取得する
  3. Android projectにpendo sdkを追加し、初期化メソッドを追加
  4. インストール後、Pendoとの接続テストを行う
  5. ページや機能のタグ付けを行う
  6. ガイドの作成

PendoにAndroidアプリケーションを追加

app.pendo.ioを開きアプリケーションの追加を選択します

image.png

今回はAndroidアプリを追加するので、Native Androidを選択します。名前をつけて保存。
image.png

AndroidのPendoインストールキーを取得する

アプリの追加が完了すると、SDKを追加する手順が表示されます。PendoのAPI Keyもコード中に表示されています。
image.png

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
image.png

Pendoと接続テスト

Pendoアプリ(app.pendo.io)のinstallタブ画面右下のStart Vertificationボタンを押下します
表示されるQRをデバイスで読み込むもしくはURLを開いてください
image.png

接続テスト

接続に成功するとアプリケーション上にPendoアイコンが表示されます。
ページをナビゲートしたり、ボタンをクリックしてみてください。
データが正しく送信されているとPendo側の画面が切り替わります。

image.png

ページと機能のタグ付け

ページ特定

Pendoアプリ上からページタグ付けを選択
Androidアプリ上にカメラボタンが表示されます。カメラボタンを押すとページのタグ情報がPendoに送信されます
image.png

image.png

ページ送信成功の図

送信に成功すると先ほどのページのスクショがPendo上に表示されます

image.png

機能のタグ付け

ページ内のタグ付けはPendoアプリ上から行うことができます。
さきほど送信したページ情報を元にボタン等をタグ付けできます。

image.png

ガイド作成

Web版ガイド同様にドラッグアンドドロップでガイドを作成できます。

image.png

モバイルガイドのアクティベーションは4種類用意されています。Webとは違いtrack eventをガイドのトリガーに設定できます。

  1. App launch
    • アプリ起動時
  2. Page View
    • 特定ページを開いた後
  3. Target Element
    • 特定のエレメントを線選択した後
  4. Track Event
    • Track Eventの送付が完了した後

image.png

ガイドのテスト

ガイド作成画面右上のPreviewボタンからガイドをデバイス上でテストすることができます

image.png

Demo

ページと機能のタグ付け

ガイドの作成→起動方法を特定のボタンに結び付け→エミュレータでガイドの起動テスト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?