イベントを送信する

ユーザーの行動に応じたアクションを行うために、あらかじめユーザーの行動に基づくイベントを KARTE に送る必要があります。

SDK では目的別にイベント送信メソッドを複数用意しています。

イベントの送信方法について

画面閲覧イベントを送信する

画面の閲覧をイベントとして送る場合は、view イベントを送信します。

第2引数の title の指定は任意ですが、指定することでユーザー詳細画面(管理画面)に画面名が表示されるようになり、どの画面を閲覧しているのか認識しやすくなります。

第3引数の values の指定も任意ですが、指定することでアプリケーション固有の情報を追加で付与することが可能です。

#include "KarteCpp.h"

auto values = R"({"stage_name": "1st_stage", "game_score": 200 })";
KarteTrackerCpp::view("game_clear", "ゲームクリア", values);

// valueが不要な場合
// KarteTrackerCpp::view("game_clear", "ゲームクリア", nullptr);

なお viewイベントの送信は、trackメソッドを利用しても行うことが可能です。
下記の実装は、上記実装と同等の意味合いとなります。

#include <KarteCocos2dx/KarteCpp.h>

auto values = R"({"view_name": "game_clear", "title": "ゲームクリア" })";
KarteTrackerCpp::track("view", values);

ユーザー情報を送信する

ユーザーに紐付く情報 (名前や年齢、性別等) を送る場合は、identify イベントを送信します。

イベントは複数回送信することが可能です。
また送信したデータは、過去に送ったデータとマージして管理されます。

#include "KarteCpp.h"
  
auto values = R"({"nick_name": "KARTE太郎" })";
KarteTrackerCpp::identify(values);

なお identifyイベントの送信は、trackメソッドを利用しても行うことが可能です。
下記の実装は、上記実装と同等の意味合いとなります。

#include "KarteCpp.h"

auto values = R"({"nick_name": "KARTE太郎" })";
KarteTrackerCpp::track("identify", values);

任意のイベントを送信する

上記以外のイベントを送信する場合は、カスタムイベントとしてイベントを送信できます。

なお一部のイベント名は予約されており、KARTE 上で特殊な扱いを受けます。
詳細に関しては、定義済みイベントイベントで使用できないフィールド名をご覧ください。

#include "KarteCpp.h"

auto values = R"({"item_name": "awesome_item" })";
KarteTrackerCpp::track("get_item", values);

自動で付与されるフィールドについて

Identify以外のイベントでは、自動で端末や各種バージョン等の情報をSDKが自動で付与します。
各プラットフォーム毎の自動で付与されるフィールドの詳細については以下をご覧ください。

特別な扱いが行われるフィールドについて

日時情報を送信するためのフィールド

日時情報を送信するためには、任意のイベントに、フィールド名の末尾が date となるフィールドを追加する必要があります(例:xxx_date)
このようにすることで、管理画面で日時情報を含むフィールドとして扱われ、日時(絶対時間・相対時間)を利用したセグメントやトリガーの設定が可能になります。

各プラットフォーム毎の特別な扱いが行われるフィールドの詳細は以下をご覧ください。