イベントトラッキング
カスタムイベントを記録する
カスタムイベントを記録する場合、PopinfoReceiver クラスの trackEvent:value: メソッドを利用します。このメソッドの引数は、イベントのキー名と、キーに対する値(クエリ文字列に対応する NSDictonary)です。
以下の例では、キー名が keyName、キーに対する値が testName1=testVal1&testName2=testVal2 で記録されます。
PopinfoReceiver.shared.trackEvent("keyName", value: ["testName1":"testVal1", "testName2":"testVal2"])
キー名のみを記録したい場合は、以下のような記述となります。
PopinfoReceiver.shared.trackEvent("keyName", value: [:])
カスタムイベントの文字制限について
カスタムイベントには、以下の制限があることにご注意ください。
- キー名は、英数字(
[a-zA-Z0-9])、アンダースコア(_)、ピリオド(.)、ハイフン(-)のみ使用できます。 - キー名の先頭にアンダースコア(
_)は使用できません。 - キー名が
nilや空文字の時は記録できません。 - 文字数制限は、キー名が 32 文字、キーに対する値はトータルで 512 文字 です。
イベントトラッキングの値にアプリ側の定義値を付与する
イベントトラッキングの値にアプリ側で定義した値を 常に 付加したい場合は、PopinfoReceiver クラスの addEventTrackingExtraName:value: メソッドを利用してください。
このメソッドを実行すると、引数に与えられた name と value が &name=value という形で展開され、全てのイベントトラッキングの値の末尾に付加 されます。
値が付加されるタイミングは、 popinfoSDK がサーバーに対してイベントトラッキングを送信するときとなります。
PopinfoReceiver.shared.addEventTrackingExtraName("name1", value: "value1")
イベントトラッキングの値からアプリ側の定義値を削除する
実行した addEventTrackingExtraName:value: を無効化したい場合は、PopinfoReceiver クラス の removeEventTrackingExtra メソッドをコールしてください。
これにより、本 SDK 内部でキャッシュされたアプリ側定義値に関する name や value 値が全てクリアされます。
PopinfoReceiver.shared.removeEventTrackingExtra()
アプリ側定義値の文字数制限について
アプリ側定義値の付加に関しては、以下の制限があることにご注意ください。
- name には、
nil、空文字、popinfo 予約語(pModel、pOsVer、pPopinfoVer)を使用することはできません。 - value が
nilのときは、空文字に変換されます。 - 付加可能な最大文字数(上記例の
name1=value1&name2=value2部分の最大文字数)は、1024 文字 です 。- 超過した場合、本来付加すべき文字列は 破棄 され、かわりに
&OmittedValues=文字数が付加されます。
- 超過した場合、本来付加すべき文字列は 破棄 され、かわりに
- すでに設定した name に対して異なる value を設定してメソッドを実行すると、value が 上書きされます 。