この資料では、Pendo Android SDKの公開APIについて説明します。
Pendoクラスの公開API
修飾子、戻り値 |
API公開メソッド(Java) |
説明 |
---|---|---|
static synchronized void |
setDebugMode(boolean enableDebug) |
Pendo SDKからのデバッグログを有効/無効にする場合に使用します。 このAPIはコードのどこからでも呼び出すことができ、startSessionが呼び出された後に有効になります。 |
static synchronized void |
setup(Applicationapp,StringappKey, |
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が初期化された後に呼び出される必要があります。 |
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オブジェクトによって初期化された際に呼び出される |
Pendoの初期化ガイドライン
-
setup
は、application.onCreateのアプリケーションライフサイクル中に一度だけ呼び出す必要があります。 -
ネットワーク接続によっては、
startSession
の完了までに時間がかかる場合があります。Pendo SDKの初期化が完了したときに通知を受け取るには、CallbackInterfaceを使用する必要があります。 startSession
は、visitorIDやAccountIDを設定するために使用されます。訪問者IDとアカウントIDが変更されない場合、アクションは実行されません。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()メソッドに以下のコードを追加します。
Pendo.startSession(
visitorId,
accountId,
visitorData,
accountData
)
Pendo.startSession(
visitorId,
accountId,
visitorData,
accountData);
トラックイベントフロー
この方法で、Pendo SDKを使ってトラックイベントの情報を渡すことができます。
使用例:Pendoはすでにクリックイベント(RAClickイベント)と画面変更(RAScreenViewイベント)を追跡しているので、追跡したいコールバック(支払いの完了や失敗などのトランザクション応答コールバック)が良い例となります。