Android開発者向けAPI

最終更新日:

 

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

Pendoクラスの公開API

修飾子、戻り値 API公開メソッド(Java) 説明
static synchronized void

static synchronized void

setDebugMode(boolean enableDebug)

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

このAPIは、コード内の任意の場所で呼び出すことができます。

static synchronized void setup(Applicationapp,StringappKey,
PendoOptions
options,
PendoPhasesCallbackInterface
callbacks)

Pendo SDKを初期化します。アプリケーションの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()

アクティブなセッションを終了し、アナリティクスの収集やユーザーへのガイドの表示を停止します。セッションを再開するには、startSession() APIを呼び出します。

この呼び出しは、SDKが初期化された後に実施される必要があります。

static void clearVisitor()

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

この呼び出しは、SDKが初期化された後に実施される必要があります。


このAPIは、SDKバージョン2.15.0より非推奨となりました。代わりに、startSession APIのすべての引数をnullに設定して使用してください。

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より非推奨となりました。必要なaccountIdを指定したstartSession APIを使用してください。
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の初期化ガイドライン

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

SDKの初期化

SDKの初期化

Pendo SDKを初期化するには、Setup APIを呼び出します。このAPIは、セッションを開始するためのSDKの準備を行います。セッションは、StartSession APIが呼び出されるまで開始されません。
Setup APIが呼び出される例としては、アプリケーションのonCreate()メソッドがあります。
APIキーはPendoサブスクリプションに記載されています。

Kotlin

Pendo.setup(this,"YOUR_API_KEY",null)

Java

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

 

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

訪問者(識別済みまたは匿名)とのセッションを開始するには、StartSession APIを呼び出します。StartSessionはSetupの後に呼び出す必要があり、アプリのフロー内の任意の場所で呼び出すことができます。

匿名の訪問者

Kotlin

val visitorId: String?= null
val accountId: String?= null
val visitorData: Map<String, Any>? = null
val accountData: Map<String, Any>? = null
Pendo.startSession(visitorId,accountId,visitorData,accountData)

特定された訪問者

Kotlin

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() セッションのアナリティクスの記録が開始され、セッションガイドを表示できる状態になると、セッションごとにこのコールバックが1回トリガーされます。
:アプリの起動時にトリガーされないガイドについては、このコールバックの後、表示できる状態になるまでしばらく時間がかかる場合があります。
void onInitFailed() 新しいセッションを開始しようとして失敗した場合、またはPendoのSetup APIやStartSession APIを呼び出してPendoサーバーとの接続を確立できなかった場合に、このコールバックがトリガーされます。

 

 

ProGuard

アプリ内でProguardを使用する場合は、アプリのプラットフォームのインストール手順に従ってください。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています