この資料では、Pendo iOS SDKの公開APIについて説明します。
Pendoクラスの公開API - SDKバージョン2.17以降
戻り型 | 公開APIメソッド - Swift | 公開APIメソッド - Objective-C | 説明 |
Void | screenContentChanged() | screenContentChanged |
遅延要素、状態変化のあるコンポーネントなど、アプリ内の特定のコンポーネントにPendoがタグ付けできない場合に使用されます。 この呼び出しは、SDKが初期化された後に実施される必要があります。 |
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 |
アクティブなセッションを終了し、アナリティクスの収集やユーザーへのガイドの表示を停止します。詳細については、特定のユーザーでPendoモバイルを除外するを参照してください。 この呼び出しは、SDKが初期化された後に実施される必要があります。 |
Void |
clearVisitor() |
clearVisitor |
アクティブなセッションを終了して、匿名の訪問者との新しいセッションを開始します。 この呼び出しは、SDKが初期化された後に実施される必要があります。 |
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を設定します。 |
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を以下に追加する必要があります。 |
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クラス: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の初期化ガイドライン
-
setup
は、アプリケーションのライフサイクル中に一度のみ呼び出す必要があります。 -
ネットワーク接続によっては、
startSession
の完了までに時間がかかる場合があります。NSNotificationCenterは、Pendo SDKの初期化が完了したときに通知を受け取るために使用します。 startSession
は、visitorIDやAccountIDを設定するために使用されます。訪問者IDとアカウントIDが変更されない場合、アクションは実行されません。endSession
は、ユーザーがアプリケーションからログアウトしたときに訪問者セッションを終了するために使用します。
SDKの初期化
setup
は AppDelegate 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の初期化に失敗したときに、通知を受け取ります。 |