Appian
アプリケーションのインストルメンテーションを開始する前に、アプリを作成してappKeyがあることを確認してください。
インストール
Appian AppMarketからPyze Ananytics Componentをインストールし、プラグインのリストで有効になっていることを確認します。
初期化
アプリケーションでは、アプリケーションのページからこのコンポーネントに簡単にアクセスできるようにするために、Pyze Analytics Component用の共通の式ルール(例:PDPyze)を作成します。
次のコードを Expression Rule Component の中に貼り付けます。
/*Get pyze app key from https://growth.pyze.com */
{
pyze(
pyzeAppKey: "YOUR_PYZE_APP_KEY",
methodName: ri!methodName,
eventName: ri!eventName,
attributes: ri!attributes,
userId: ri!userId,
pyzeProfileAttributes: ri!pyzeProfileAttributes,
customProfileAttributes: ri!customProfileAttributes,
/*randomString: (rand()-0.5)/500*/
)
}
警告
PYZE_APP_KEY
を独自の appKey に置き換えたことを確認してください。
入力変数methodName、eventName、attributes、userId、pyzeProfileAttributes、customProfileAttributesを以下のように作成します。
initialize
の呼び出しは、トラッキングしたいページごとに必要です。
これにより、ページがロードされたときに初期化メソッドが起動され、pyze SDKがデータの収集を開始します。
local!methodName : "initialize",
local!eventName : "",
local!attributes : {},
local!userId:"",
local!pyzeProfileAttributes:{},
local!customProfileAttributes:{},
アプリケーションの各インターフェースに表現ルールを追加します。
rule!PDPyze(
methodName: local!methodName,
eventName: local!eventName,
attributes: local!attributes,
userId: local!userId,
pyzeProfileAttributes: local!pyzeProfileAttributes,
customProfileAttributes: local!customProfileAttributes
)
オプションとして、そのページでバリブルを使用しない場合は省略することができます。例: プロファイル API を呼び出さない場合、上記のスニペットは次のようになります。
/*
* Local variables
*/
local!methodName : "initialize",
local!eventName : "",
local!attributes : {},
...
/*
* Component with fewer variables.
*/
rule!PDPyze(
methodName: local!methodName,
eventName: local!eventName,
attributes: local!attributes
)
カスタムイベント
イベントを利用することで、アプリ内でのユニークなユーザーアクションを簡単に追跡することができます。
saveIntos
内のローカル変数を更新することでPyze APIを呼び出します。
イベント
// Custom Event without Attributes
saveInto: {
a!save(local!methodName,"postCustomEvent"),
a!save(local!eventName, "YOUR_EVENT_NAME")
}
これにより、ユーザーがいつアクションを実行したかを追跡し、そのイベントがどれくらいの頻度で発生しているかを簡単にカウントすることができます。
属性を持つイベント
属性とは、イベントにアタッチできるキーと値のペアのことです。どのイベントでも最大99個の属性を持つことができます。ベスト・プラクティスを遵守し、アトリビュートに大きく依存して、インストルメンテーションを可能な限り最小限にして有用にすることを強くお勧めします。典型的なアプリケーションでは、イベントよりも多くの属性を持つべきです。
// Custom Event with Attributes
// Create an object with key value pairs of custom attributes and post with postCustomEventWithAttributes
saveInto: {
a!save(local!methodName,"postCustomEventWithAttributes"),
a!save(local!eventName, "YOUR_EVENT_NAME"),
a!save(local!attributes, {“attr1”:”value1”, “attr2”:123})
}
タイムドイベント
ユーザーがアクションを完了するまでにかかる時間を計ることは、Pyze の一般的な使用例です。SDkには、タイマーを開始し、アクションの完了時にカスタムイベントを送信できるようにすることで、これを処理する機能が組み込まれています。
startTimerForEvent
- 名前を指定してタイマーを開始するpostTimedEvent
- 同じ名前を参照してタイマーを終了します。ミリ秒単位の時間が自動的にこのイベントに添付されます。また、以下の例のように、追加のパラメタとして属性を渡すこともできます。
//Start timer for event
saveInto: {
a!save(local!methodName,"startTimerForEvent"),
a!save(local!eventName, "YOUR_EVENT_NAME")
}
//Post timed event.
//Note : The event name attribute for the `startTimerForEvent` and `postTimedEvent` should match.
saveInto: {
a!save(local!methodName,"postTimedEvent"),
a!save(local!eventName, "YOUR_EVENT_NAME")
}
//Post timed event API when you want to send additional attributes
saveInto: {
a!save(local!methodName,"postTimedEventWithAttributes"),
a!save(local!eventName, "YOUR_EVENT_NAME"),
a!save(local!attributes, {“attr1”:”value1”, “attr2”:123})
}
寸法
ディメンジョンは、セッション内のすべてのイベントにアタッチできる属性です。これは、時間の経過とともに変化する属性の標準セットを持っていると便利であり、この目標を達成するための単なるヘルパーです。
ディメンジョンは、初期化コールにアタッチするキーと値のペアです。これらのキーペアまたは json オブジェクトを含むように initialize
呼び出しを修正してください。
dimensions: {"dim1":"val1"}
##プロフィール
プロファイルは、Pyzeにユーザーに関するデータを追加するための強力な方法です。プロファイルを使用して、ある時点(イベント)に固有のデータではなく、特定のユーザーに関連付けられたデータを追加することができます。
ユーザーがアプリにログインしたら、setUserProfile
を呼び出してPyzeにユーザーを識別します。ユーザーが識別された後に発生したイベントはすべて、このユーザーに帰属します。このメソッドは、セッションの最初のログイン時に一度だけ呼び出す必要があります。
オプションでプロファイル属性を含めることができます。
Pyzeの組み込みプロファイル属性はpyze UIで特別な扱いを受けますが、受信したデータに基づいてカスタム属性のデータ型を判別しようとします。ビルトイン属性とカスタム属性の間には、適用されるフォーマット以外の違いはありません。
//Create Pyze Profile Attributes object
saveInto: {
a!save(local!methodName,"setUserProfile"),
a!save(local!userId, "USER_UNIQUE_IDENTIFIER"),
a!save(local!pyzeProfileAttributes, {“first_name”:”John”),
a!save(local!customProfileAttributes, {“city”:”XYZ”)
}
Pyzeのプロフィール属性
Pyze ユーザープロファイル フィールド名 | データの種類/説明 |
---|---|
background | (文字列) ユーザーの背景、経歴または履歴データ |
country | (文字列) 国コードは ISO-3166-1 alpha-2 規格で 送信する必要があります。 |
current_location | (オブジェクト) フォーマッ ト。{“longitude”. -33.991894, “緯度”. 25.243732} |
date_of_first_use | (ユーザーが最初にアプリを使用した日付) ISO 8601形式またはyyyy-MM-dd’T’HH:mm:ss.SSZ形式の文 字列。 |
date_of_last_use | (ユーザーが最後にアプリを使用した日付) ISO 8601形式の文字列、またはyyyy-MM-dd’T’T’HH:mm:ss.SSZ形 式の文字列。 |
date_of_birth | (生年月日) “YYYY-MM-DD"形式の文字列。 |
email_id | (文字列) 電子メール ID |
email_subscribe | 文字列) 使用可能な値 は、“opt_in”(メールメッセージの受信を明示的に承認)、“opt_out”(メールメッセージの受信を明示的に拒否)、“subscribed”(オプトインもオプトアウトもしていない)です。 |
email_hard_bounced | ハードバウンスが発生した場合に自動的に更新されます (true またはfalse) |
email_spam_reported | ユーザーがISP経由でメールをスパムとしてマークした場合、自動的に更新されます(trueまたはfalse) |
facebook_id | (文字列) facebook ID |
first_name | (文字列) ユーザのファーストネーム |
gender | 文字列)「M」、「F」、「O」(その他)、「N」(該当しない)、「P」(言いたくない)、「U」(不明 |
home_city | (文字列) ユーザーの出身地 |
image_url | (文字列) ユーザーに関連付けられる画像の URL |
language | (文字列) ISO-639-1 標準で送信する言語を要求します。 |
last_name | (文字列) ユーザの姓 |
marked_email_as_spam_at | (文字列) ユーザーの電子メールがスパムとしてマークされた日付。ISO 8601形式、またはyyyy-MM-dd’T’HH:mm:ss.SSSZ形式でなければなりません。 |
phone | (文字列) 電話番号 |
push_subscribe | (文字列) 利用可能な値 は、“opted_in”(明示的にプッシュ メッセージを受信するように登録され ている)、“unsubscribed”(明示的にプッシュメッセージをオプトアウトしている)、“subscribed”(オプトインもオプトアウトもしていない)です。 |
push_tokens | app_id とトークン文字列を持つオブ ジェクトの配列。オプションで、この トークンが関連付けられているデバ イスの device_id を指定することがで きます。アプリ識別子、“token”. “abcd”, “device_id”. “optional_field_value”}]。device_id が 指定されていない場合は、ランダム に生成されます。 |
time_zone | (文字列) タイムゾーンはIANAタイム ゾーンデータベース(例: “America/New_York “や “Eastern Time (US & Canada)")に従って送信 されなければなりません。有効な値 のみが尊重されます。 |
twitter_id | (文字列)Twitter ID |
既存のユーザープロファイルの更新
既に設定されているユーザプロファイルの属性を更新するには、以下のAPIを使用します。
注意 : setUserProfileを呼び出す前にこのAPIを呼び出さないでください。
saveInto: {
a!save(local!methodName,"updateUserProfile"),
a!save(local!pyzeProfileAttributes, {“first_name”:”John”),
a!save(local!customProfileAttributes, {“city”:”XYZ”)
}
ユーザーのログアウト
ユーザがログアウトした際にこの API を呼び出します。このコールの後に送信されるイベントには ID は付与されず、匿名のユーザに帰属します。
saveInto: {
a!save(local!methodName,"resetUserProfile")
}
ユーザーのプライバシー
Pyzeは、エンドユーザーがデータ収集からオプトアウトしたり、ユーザーのデータを忘れるようにPyzeシステムに指示したりするためのAPIを提供しています。
setUserOptOut
エンドユーザーがデータ収集からオプトアウトできるようにします。オプトアウトはTrueかFalseかを切り替えることができます。
saveInto: {
a!save(local!methodName,"setUserOptOutToTrue")
}
ユーザーデータの収集を再開するには、値を false に設定します。
削除ユーザー
エンドユーザがデータ収集からオプトアウトし、Pyzeシステム内のユーザを削除することができます。一度削除したユーザーは元に戻すことができませんので、確認することをお勧めします。
saveInto: {
a!save(local!methodName,"deleteUser")
}