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

概要

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

Pendoクラスの公開API - SDKバージョン2.10以降

戻り型

公開APIメソッド - Swift

公開APIメソッド - Objective-C

説明

static PendoManager

shared()

sharedManager

PendoManagerの共有インスタンスを返します。

Void

setup(appKey: String)

setup:(NSString *_Nonnull appkey)

Pendo SDKを初期化します。didFinishLaunchingWithOptionsでこのAPIを呼び出します。

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

Void

startSession(visitorId: String?, accountId: String?, visitorData: [String: Any]?, accountData:  [String: Any]?)

startSession:(NSString *_Nullable)visitorId accountId:(NSString *_Nullable)accountId visitorData:(NSDictionary *_Nullable)visitorData accountData:(NSDictionary *_Nullable)accountData 

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

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

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

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

Void

endSession()

endSession

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

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

Void

clearVisitor()

clearVisitor

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

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

Void

setVisitorData(visitorData: [String: Any])

setVisitorData:(NSDictionary *_Nonnull)visitorData 

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

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

Void

setAccountData(accountData: [String: Any])

setAccountData:(NSDictionary *_Nonnull)accountData 

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

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

String (get)

visitorId

visitorId

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

 

String (get)

accountId

accountId

 

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

 

Void (set)

accountId

accountId

プロパティ:アクティブなセッションのアカウントのIDを設定します。

このAPIは、SDKバージョン2.15.0より非推奨となりました。startSession APIに必要なaccountIdを入力してご利用ください。

Void

track(event: String, properties: [String: Any]?)

track:(NSString *_Nonnull)event properties:(NSDictionary *_Nullable)properties

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

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

Void

dismissVisibleGuides()

dismissVisibleGuides

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

Void

pauseGuides(dismissGuides: Bool)

pauseGuides:(BOOL)dismissGuides

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

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

Void

resumeGuides()

resumeGuides

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

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

String

getDeviceId()

getDeviceId

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

 

Void

enableClickAnalytics(view: id)

(void)enableClickAnalytics:(id)view;

このメソッドは、渡されたオブジェクトをPendo SDKによってタグ付け可能/クリック可能なオブジェクトとして機能させます。画面に表示されなくなると、オブジェクトはタグ付け可能/クリック可能なオブジェクトとして扱われなくなります

オブジェクトに渡されるパラメータビューは、UIView型でなければなりません。APIを以下に追加する必要があります
viewDidLoad
return void

Void

 

setDebugMode(isDebugEnabled: Bool

 

setDebugMode:(BOOL)isDebugEnabled

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


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

戻り型

公開APIメソッド - Swift

公開APIメソッド - Objective-C

説明

Void

startSession(jwt: String, signingKeyName: String)

startSession:(NSString *_Nonnull)jwt signingKeyName:(NSString *_Nonnull)signingKeyName

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

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

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

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

Void

setVisitorData(jwt: String, signingKeyName: String)

setVisitorData:(NSString *_Nonnull)jwt signingKeyName:(NSString *_Nonnull)signingKeyName

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

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

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

Void

setAccountData(jwt: String, signingKeyName: String)

setAccountData:(NSString *_Nonnull)jwt signingKeyName:(NSString *_Nonnull)signingKeyName

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

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

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


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

戻り型

公開APIメソッド

-Swift

公開APIメソッド

Objective C

説明

Void

initSDK(appKey: String, initParams: PendoInitParams?)

initSDK:(NSString *_Nonnull)appKey initParams:(PendoInitParams *_Nullable)initParams

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

Void

initSDKWithoutVisitor(appKey: String)

initSDKWithoutVisitor:(NSString *_Nonnull)appKey

指定されたアプリキーを使用して、訪問者やアカウントデータなしでPendo SDKを初期化します。

Void

switchVisitor(visitorId: String?, accountId: String?, visitorData: [String: Any]?, accountData:  [String: Any]?)

switchVisitor:(NSString *_Nullable)visitorId accountId:(NSString *_Nullable)accountId visitorData:(NSDictionary *_Nullable)visitorData accountData:(NSDictionary *_Nullable)accountData 

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

visitorIdにnilを渡すと、匿名の訪問者IDが生成されます。

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

Pendoクラス:PendoInitParams

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

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

戻り

公開APIメソッド - Swift

公開APIメソッド - Objective-C

説明

PendoInitParams

PendoInitParams()

[[PendoInitParams alloc] init]

コンストラクタ

 

プロパティ型

公開プロパティ名

説明

String (set)

visitorId

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

匿名の訪問者では値はnilとなります。

Dictionary<String, NSObject> (set)

visitorData

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

String (set)

accountId

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

Dictionary<String, NSObject> (set)

accountData

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

Pendoの初期化ガイドライン

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

SDKの初期化

setupAppDelegate application(_:didFinishLaunchingWithOptions:)のなかに配置する必要があります。

SDKを設定する

Objective C

@import Pendo;

アプリケーションapplication(_:didFinishLaunchingWithOptions:) メソッドに、以下のコードを追加します。

 

Objective C

NSString * appKey = @"YOUR_API_KEY";
[[PendoManager sharedManager] setup: appKey];

Swift

let appKey = "YOUR_API_KEY"
PendoManager.shared().setup(appKey)

 

モバイルセッションを開始する

訪問者(認識済または匿名)とのセッションを開始する場合は、startSessionを呼び出します。匿名の訪問者を生成するには、visitorIdとしてnilを渡します。

Objective C

@import Pendo;

訪問者を認識しているアプリケーションに次のコードを追加します。

認識された訪問者

Objective C

NSString * visitorId = @"John Smith";
NSString * accountID = @"Acme Inc";

//set visitor metadata
NSDictionary * visitoraData = @{@"Age":@27, @"Country":@"USA", @"Gender":@"Male"};

//set account metadata
NSDictionary * accountData = @{@"Tier":@1, @"Size":@"Enterprise"};

Swift

let visitorId = "John Smith"
let accountID = "Acme Inc"

//set visitor metadata
let visitoraData = ["Age": "27", "Country": "USA", "Gender": "Male"]

//set account metadata
let accountData = ["Tier": "1", "Timezone": "EST", "Size": "Enterprise"]

匿名の訪問者:

Objective C

NSString * visitorId = nil;
NSString * accountID = nil;
NSDictionary * visitoraData = nil;
NSDictionary * accountData = nil;

Swift

let visitorId = nil
let accountId = nil
let visitoraData = nil
let accountData = nil

startSession()メソッドの呼び出し - このコードは、モバイルセッションを開始し、提供された情報に基づいてすべてのガイドを取得します。

Objective C

[[PendoManager sharedManager] startSession: visitorId
accountId: accountId
visitorData: visitorData
accountData: accountData];

Swift

PendoManager.shared().startSession(visitorId, 
accountId: accountId,
visitorData: visitorData,
accountData: accountData)

トラックイベントフロー

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

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

Objective C

NSDictionary *eventProperties = @{@"propety1":@"value1", @"propety2":@"value2"};
[[PendoManager sharedManager] track:@"customEvent1" properties:eventProperties];

Swift

let eventProperties = ["propety1": "value1", "propety2": "value2"]
PendoManager.shared().track("customEvent1",eventProperties)

 

NSNotificationCenter

  • Pendo通知に登録すると、Pendoの初期化の進捗状況の通知を受けることができます。
  • 通知を使用すると、ユーザーの操作やPendoでのガイド表示のタイミングに影響することがあります。ユーザーがアプリを使い始めるまでにPendoがすべてのガイドを処理したことを確認したい場合には、 kPNDDidSuccessfullyInitializeSDKNotification の後にのみアプリのUIを表示することができます。その時点で、すべてのモバイルガイドが処理され、ユーザーに表示できるようになります。

通知キー名

使用

kPNDDidSuccessfullyInitializeSDKNotification

SDKの初期化が正常に完了したときに、通知を受け取ります。

kPNDErrorInitializeSDKNotification

SDKの初期化に失敗したときに、通知を受け取ります。