Android開発者向けAPIドキュメント

 

この資料では、Pendo Android SDKの公開APIについて説明します。

Pendoクラスの公開API

修飾子、戻り値

API公開メソッド(Java)

説明

static synchronized void

setDebugMode(boolean enableDebug)

Pendo SDKからのデバッグログを有効/無効にする場合に使用します。

このAPIはコードのどこからでも呼び出すことができ、startSessionが呼び出された後に有効になります。

static synchronized void

setup(Applicationapp,StringappKey,
PendoOptions
options,
PendoPhasesCallbackInterface
callbacks)

Pendo SDKを初期化します。application.onCreateでこのAPIを呼び出します。オプションは常にnullにする必要があります。

初期化フェーズはコールバックインターフェースによって示されます。

このAPIは、将来のバージョンで非推奨になるinitSDKおよびinitSDKWithoutVisitorの代わりに使用する必要があります。

static void

startSession(String visitorId, String accountId, Map<String, Object> visitorData, Map<String, Object> accountData)

提供された訪問者情報とアカウント情報でモバイルセッションを開始します。セッションがすでに進行中の場合、セッションは終了し、新しいセッションが開始されます。

SDKが初期化された後に呼び出される必要があります。

匿名の訪問者を生成するには、visitorIdとしてnullを渡します。

このAPIは、将来のバージョンで非推奨になるswitchVisitorの代わりに使用する必要があります。

static void

endSession()

アクティブなセッションを終了し、分析の収集やユーザーへのガイドの表示を停止します。詳細はこちらをご覧ください。

SDKが初期化された後に呼び出される必要があります。

static void

clearVisitor()

アクティブなセッションを終了して、匿名の訪問者との新しいセッションを開始します。

SDKが初期化された後に呼び出される必要があります。
このAPIは、SDKバージョン2.15.0より非推奨となりました。代わりにstartSession APIをすべての引数をnilに設定して使用してください。

static void

setVisitorData(Map<String, Object> visitorData)

訪問者のメタデータを更新します。

SDKが初期化された後に呼び出される必要があります。

static void

setAccountData(Map<String, Object> accountData)

アカウントのメタデータを更新します。

SDKが初期化された後に呼び出される必要があります。

String

getVisitorId()

アクティブなセッションに参加している訪問者IDを返します。

String

getAccountId()

アクティブなセッションに参加しているアカウントIDを返します。

static void

setAccountId(String accountId)

アクティブなセッションに参加しているアカウントIDを設定します。このAPIは、SDKバージョン2.15.0より非推奨となりました。startSession APIに必要なaccountIdを入力してご利用ください。

static void

track(String eventName, @Nullable Map<String, Object> properties)

指定したプロパティを持つトラックイベントを送信します。

SDKが初期化された後に呼び出される必要があります。

static void

dismissVisibleGuides()

ガイドの表示をすべて解除します。

static synchronized void

pauseGuides(boolean dismissGuides)

アクティブなセッションで表示されているガイドを一時停止します。dismissGuidesがTRUEの場合、表示されているガイドはすべて解除されます。

SDKが初期化された後に呼び出される必要があります。

static synchronized void

resumeGuides()

アクティブなセッションでガイドの表示を再開します。pauseGuidesの後でのみ使用できます。

SDKが初期化された後に呼び出される必要があります。

String

getDeviceId()

Pendoが生成したデバイス固有のIDを返します。デバイスIDは、Pendoが匿名の各訪問者に対して一意のIDを生成するために使用されます。このIDは、アプリケーションごとに固有です。

boolean

sendClickAnalytic(View V)

任意のビューのRAClickアナリティクスを送信。クリック可能なフィーチャーをPendoが自動的に認識しない場合に使用。

ビューはxml/activityで 'clickable:true'として設定が必要。APIは、クリック時に実装される要素のアクションと同じ場所で呼び出される必要があります (onTouchListener、onClickListenerなど)。

startSessionが呼び出された後に実行する必要があります。

static void

screenContentChanged()

このメソッドは、SDKごとの現在の画面レイアウト階層の再スキャンを手動でトリガーするもので、画面上の一部の要素の遅延表示がSDKによって認識されないような、稀な場合にのみ呼び出す必要があります。つまり、いずれかの画面に入った後、いくつかの遅延表示の可視性プロパティが非表示から表示に変更されたか、ビューの色のアルファ値が変更されて表示されるようになった場合です。次のケースでは、手動で再スキャンする必要はありません:ビューの可視性が[なし(gone)]から[あり(visible)]に変わった場合。ビューが表示階層に動的に追加された場合。または画面のコンテンツがスクロールされた場合。


Pendoクラスの公開API(JWT用)- SDKバージョン2.13以降

修飾子、戻り値

API公開メソッド(Java)

説明

static void

startSession(String jwt, String signingKeyName)

提供されたJWTと、そのJWTに署名するためのキー名でモバイルセッションを開始します。訪問者とアカウント情報を含むJWTは、サーバー側でキーを使用して作成し、署名する必要があります。サーバー側から情報を取得した後、JWTと署名鍵の名前を指定して、このAPIを呼び出します。セッションがすでに進行中の場合、セッションは終了し、新しいセッションが開始されます。

匿名の訪問者を生成するには、ペイロードに、idが空文字列の訪問者とアカウントの両方の要素を含める必要があります。

このAPIは、アプリケーションフラグの「署名メタデータの使用」が有効になっている場合のみ使用できます。

SDKが初期化された後に呼び出される必要があります。

static void

setVisitorData(String jwt, String signingKeyName)

訪問者のメタデータを更新します。新規または更新された訪問者情報を含むJWTは、サーバー側でキーを使用して作成し、署名する必要があります。サーバー側から情報を取得した後、JWTと署名鍵の名前を指定して、このAPIを呼び出します。JWTペイロードはアカウント情報を含めず、訪問者IDはセッションを開始するために使用された訪問者IDと一致する必要があります。

このAPIは、アプリケーションフラグの「署名メタデータの使用」が有効になっている場合のみ使用できます。

SDKが初期化された後に呼び出される必要があります。

static void

setAccountData(String jwt, String signingKeyName)

アカウントのメタデータを更新します。新規または更新されたアカウント情報を含むJWTは、サーバー側でキーを使用して作成し、署名する必要があります。サーバー側から情報を取得した後、JWTと署名鍵の名前を指定して、このAPIを呼び出します。JWTペイロードは訪問者情報を含めず、アカウントIDはセッションを開始するために使用されたアカウントIDと一致する必要があります。

このAPIは、アプリケーションフラグの「署名メタデータの使用」が有効になっている場合のみ使用できます。

SDKが初期化された後に呼び出される必要があります。

 


Pendoクラスで非推奨の公開API - SDKバージョン2.9以前

修飾子、戻り値

API公開メソッド(Java)

説明

static synchronized void

initSDK(Application app, String appKey, PendoInitParams params)

指定されたアプリキーとパラメータを使って、ApplicationクラスからPendo SDKを初期化します。

static synchronized void

initSDK(Activity activity, String appKey, PendoInitParams params)

指定されたアプリキーとパラメータを使って、ActivityクラスからPendo SDKを初期化します。

static synchronized void

initSdkWithoutVisitor(Application app, String appKey, PendoOptions options, PendoPhasesCallbackInterface calllbacks)

指定されたアプリケーションコンテキストで、指定されたアプリキーとオプションを使用して、訪問者データとアカウントデータなしでPendo SDKを初期化します。オプションは常にnullにする必要があり、初期化フェーズはコールバックインターフェースによって示されます。

 

static void

switchVisitor(String visitorId, String accountId, Map<String, Object> visitorData, Map<String, Object> accountData)

アクティブなセッションがある場合は、現在のセッションを終了し、新しい訪問者とアカウントの情報を含む新しいセッションを開始します。

visitorIdとしてnull渡すと、匿名の訪問者IDが生成されます。

SDKが初期化された後に呼び出される必要があります。

Pendoクラス:PendoInitParams

以下のクラスは、InitSDK()メソッドで使用されます。訪問者とアカウントの詳細が含まれており、後からPendo内でセグメント化や分析に使用することができます。

セキュリティチームが許可した、個人情報と見なされないユーザー情報およびアカウント情報のみをPendoに送信するようにしてください。Pendoはこれらの情報をいかなる第三者にも提供しません。

修飾子の型、戻り値の型 公開APIメソッド 説明

N/A

PendoInitParams()

コンストラクタ

PendoInitParams (this)

setVisitorId(String visitorId)

このPendoInitParamsオブジェクトで初期化した後に開始されるセッションの訪問者IDを設定します。

匿名の訪問者はnullとなります。

PendoInitParams (this)

setVisitorData(Map<String, Object> visitorData)

このPendoInitParamsオブジェクトで初期化した後に開始するセッションの訪問者メタデータを設定します。

PendoInitParams (this)

setAccountId(String accountId)

このPendoInitParamsオブジェクトで初期化した後に開始するセッションのアカウントIDを設定します。

PendoInitParams (this)

setAccountData(Map<String, Object> accountData)

このPendoInitParamsオブジェクトで初期化した後に開始するセッションのアカウントメタデータを設定します。

PendoInitParams (this)

SetCallbackInterface()

このPendoInitParamsオブジェクトによって初期化された際に呼び出される
PendoPhasesCallbackInterfaceを設定します。

Pendoの初期化ガイドライン

  1. setupは、application.onCreateのアプリケーションライフサイクル中に一度だけ呼び出す必要があります。
  2. ネットワーク接続によっては、startSessionの完了までに時間がかかる場合があります。Pendo SDKの初期化が完了したときに通知を受け取るには、CallbackInterfaceを使用する必要があります。
  3. startSessionは、visitorIDやAccountIDを設定するために使用されます。訪問者IDとアカウントIDが変更されない場合、アクションは実行されません。
  4. endSessionは、ユーザーがアプリケーションからログアウトしたときに訪問者セッションを終了するために使用します。

SDKの初期化

Application onCreate()メソッドに以下のコードを追加します。

SDKの初期化

Kotlin

Pendo.initSDK(
this,
"YOUR_API_KEY",
pendoParams
)

Java

String pendoAppKey = "YOUR_API_KEY"; 
Pendo.initSDK(
this,
pendoAppKey,
pendoParams);

ActivityクラスOnCreate()中に訪問者が判明した場合の初期化

アプリケーションのライフサイクルの後半、ActivityクラスOnCreate()中に、訪問者(特定または匿名)が判明した場合 (ユーザーがログインしなければならない、切り替えられたなど)。

Application onCreate()メソッドに以下のコードを追加します。

Kotlin
Pendo.setup(
this,
"YOUR_API_KEY",
null
)
Java
Pendo.setup(
this,
"YOUR_API_KEY",
null);

モバイルセッションの開始

訪問者(特定または匿名)とのセッションを開始したい場合は、Activity onCreateメソッドでstartSessionを呼び出します。匿名の訪問者を生成するには、visitorIdとしてnullを渡します。

 

特定された訪問者

Kotlin

val pendoParams = Pendo.PendoInitParams()
val visitorId = "John Smith"
val accountId = "Acme Inc"

//set visitor metadata
val visitorData: MutableMap<String, Any> = HashMap()
visitorData["age"] = 27
visitorData["country"] = "USA"
pendoParams.visitorData = visitorData

//set account metadata
val accountData: MutableMap<String, Any> = HashMap()
accountData["Tier"] = 1
accountData["Type"] = "Enterprise"
pendoParams.accountData = accountData
 
Java
String visitorId = "John Smith";
String accountID = "Acme Inc";

//set visitor metadata
Map<String, Object> visitorData = new HashMap<>();
visitorData.put("age",27);
visitorData.put("country","USA");
pendoParams.setUserData(visitorData);

//set account metadata
Map<String, Object> accountData = new HashMap<>();
accountData.put("Tier",1);
accountData.put("Size","Enterprise");
pendoParams.setAccountData(accountData);

 

匿名の訪問者

Kotlin

val visitorId: String?= null
val accountId: String?= null
val visitorData: Map<String, Any>? = null
val accountData: Map<String, Any>? = null

Java

String visitorId = null;
String accountID = null;
Map<String, Object> visitorData = null;
Map<String, Object> accountData = null;
 
セッション開始
Kotlin
Pendo.startSession(
visitorId,
accountId,
visitorData,
accountData
)
Java
Pendo.startSession(
visitorId,
accountId,
visitorData,
accountData);
 

トラックイベントフロー

この方法で、Pendo SDKを使ってトラックイベントの情報を渡すことができます。

使用例:Pendoはすでにクリックイベント(RAClickイベント)と画面変更(RAScreenViewイベント)を追跡しているので、追跡したいコールバック(支払いの完了や失敗などのトランザクション応答コールバック)が良い例となります。

Kotlin
val clickEventProp: MutableMap<String, Any> = HashMap()
clickEventProp["propertyId"] = 1
clickEventProp["propety1"] = "example property"

Pendo.track("MyCustomManuallyTrackedEvent",clickEventProp)
 
Java
Map<String, Object> clickEventProp = new HashMap<>();
accountData.put("propertyId",1);
accountData.put("propety1","example property");

Pendo.track("MyCustomManuallyTrackedEvent",clickEventProp);
 

Pendoコールバックインターフェース

startSession()を呼び出す際にコールバックメソッドに登録することで、Pendoの初期化の進捗状況の通知を受けることができます。

コールバックを使用すると、ユーザージャーニーやPendoでのガイド表示のタイミングに影響することがあります。ユーザーがアプリを使い始めるまでにPendoがすべてのガイドを処理したことを確認したい場合は、onInitComplete()の後でのみアプリのUIを表示することができます。その時点で、すべてのモバイルガイドが処理され、ユーザーに表示できるようになります。

 

パブリックインターフェース

メソッド

使用

PendoPhasesCallbackInterface

void onInitStarted()
void onInitComplete()
void onInitFailed()

SDKの初期化フェーズを表します。

 

ProGuard

アプリ内でProguardを使用している場合は、Pendoアプリのインストール手順に従って最新のproguard-rules.proを送信してください。