ログ定義の使い方
ゲーム内で出金リクエストが発生した際に生成されるログです。ユーザーの出金リクエストとその完了に関する情報を保存します。
Hive分析デフォルト作成テーブル¶
- デフォルトでは、以下のテーブルがAnalyticsを使用する際に提供されます。
- プリセットのテーブル以外が必要な場合は、[ログ定義]を参照して作成してください。
- テーブル名は"t_[ログ名]"です。
- 基本的な作成テーブルは、プラットフォームから直接収集された基本ログと、ゲームサーバーから送信される必要のあるゲームログの2つのセクションに分かれています。
- ログ名をクリックすると、各テーブルのフィールド情報を表示できます。
ログ名 テーブルの説明 ログ発生時間 hive_purchase_log ユーザーの購入活動と、Hiveの請求機能によって生成された支払い情報を含むテーブル ユーザーがHiveの請求を通じてゲーム内製品を購入した後、領収書の確認が完了したとき hive_sub_purchase_log サブスクリプション製品の購入データと、Hiveの請求機能によって生成された支払い詳細を含むテーブル ユーザーがHiveの請求を通じてゲーム内のサブスクリプション製品を購入した後、サブスクリプションの領収書が確認されたとき hive_login_log 成功裏にHiveで認証されたユーザーのログイン情報を含むテーブル ユーザー認証が完了した後にHiveの認証機能を通じてログインしたとき hive_quit_log ゲーム内で出金リクエストが発生したときに生成されるログです。ユーザーの出金リクエストと完了に関する情報を保存します。 ユーザーが出金をリクエストするポイント、またはゲーム内で出金が完了するポイント。 hive_singular_install Analyticsが提供するSingular特有のエンドポイントURLを介して、さまざまなプロパティの帰属情報を保存するテーブル。 アプリのインストールと実行、イベントの発生、アプリセッションの開始と終了、リンククリックの時間 hive_adjust_fix_log Analyticsが提供するAdjustエンドポイントのURLを介して、さまざまなプロパティの帰属情報を保存するテーブル。 アプリのインストールと実行、イベントの発生、アプリセッションの開始と終了、リンククリックの時間 hive_appsflyer_log Analyticsが提供するAppsflyer特有のエンドポイントURLを介してアクセス可能な、さまざまなプロパティの帰属データを保存するテーブル。 アプリのインストールと実行、イベントの発生、アプリセッションの開始と終了、リンククリックの時間 hive_user_entry_log ゲームを起動した後、ユーザーがゲームインターフェースに到達するまでの各セクションに関する情報を保存するテーブル。 新規インストール、利用規約への同意、追加ダウンロード、ログインなど、各セクションにアクセスする時間。 hive_au_download_log 利用規約への同意インターフェースの後、Hiveプロビジョニング機能を介してゲームがダウンロードされるときのダウンロード情報を保存するテーブル。 ダウンロード後に利用規約に同意するタイミング。 hive_concurrent_user_log クライアントからの接続情報を受信し、Hive SDKを使用して2分ごとに保存するテーブル。 ※「ネットワーク通信の最小化」オプションがHiveコンソールで有効になっている場合、収集は行われません。 ログはログイン後、2分ごとに送信されます。 hive_promotion_install_log Hiveのプロモーション機能を使用して収集されたプロモーションインストールデータ クロスキャンペーンをクリックした後にSDKが初期化されるとき hive_promotion_click_cross_log Hiveのプロモーション機能を使用して収集されたクロスクリックプロモーション記録 ユーザーがクロスバナー、オファーウォール、またはUA招待ページのダウンロードアイコンをクリックしたとき hive_promotion_cpi_v2_log Hiveのプロモーション機能を使用して収集されたプロモーションCPI V2ログ クロスキャンペーンボタンを選択した後にSDKが初期化されるとき(初回インストールに限る) hive_promotion_open_log Hiveのプロモーション機能を使用して収集されたプロモーションオープンログ。 プロモーションバナーとオファーウォールの特別露出時間 hive_promotion_info Hiveのプロモーション機能を使用して収集されたプロモーション情報 (Hiveコンソール > プロモーション)キャンペーンの修正および作成時間 hive_ad_watch_log AD(X)またはADOPを使用する際にHive AdKitを介して利用可能な広告視聴ログ 広告の読み込み、視聴開始、インセンティブ、終了時間 hive_push_open_log Hiveの通知機能を使用しているときにユーザーがプッシュ通知を開いたときの情報を保存するテーブル ユーザーがキャンペーンプッシュ通知をクリックしてゲームに入るとき hive_push_send_stat_log Hiveの通知機能を使用する際、プッシュ送信後のプッシュイベントに関するキャンペーンの統計情報を含むテーブルが作成され、維持されます 送信されたキャンペーンに関する情報をD-2から集計した後 < pub_user_property_log 事前に定義された属性に加えて、Hive SDKから収集したデータを使用して、任意に属性値を定義するカスタムユーザー属性テーブル(ログはクライアントログ送信のための機能を使用して直接送信する必要があります) 顧客定義の属性が発生したとき pub_mate_log Mateログ(ログはクライアントログ送信のための機能を使用して直接送信する必要があります) Mateの取得と消費の変化が発生したとき pub_levelup_log レベルアップログ(ログはクライアントログ送信のための機能を使用して直接送信する必要があります) ゲーム内のユーザーアカウントまたはキャラクターがレベルアップするとき pub_asset_log 通貨ログ(ログはクライアントログ送信のための機能を使用して直接送信する必要があります) 製品を購入または摂取するとき pub_store_click_log ストアクリックログ(ログはクライアントログ送信のための機能を使用して直接送信する必要があります) 製品詳細または購入のクリックが発生したとき pub_society_log ソーシャルアクティビティログ(ログはクライアントログ送信のための機能を使用して直接送信する必要があります) 招待、参加、ギルドや知人、パーティーなどのソーシャルアクティビティの追加などの変更が発生したとき pub_contents_log コンテンツログ(ログはクライアントログ送信のための機能を使用して直接送信する必要があります) ゲーム内コンテンツ(クエスト、ダンジョン、ステージなど)が受け入れられた、失敗した、キャンセルされた、または完了したときの状態時間の変化 pub_device_info ユーザーデバイスに関する情報をHive SDKを介してキャプチャするテーブル(ログはクライアントログ送信のための機能を使用して直接送信する必要があります) 初期化、ログイン、またはHive SDKの設定を変更するとき
ログ定義¶
- ログ定義は、ゲームログをHive Analytics v2に転送するための機能です。
-
- バックオフィスからゲームで転送したいログを定義します。指定されたログは、ログを定義した後に作成したソースコードをゲームに適用すると収集されます。
- ログが正しく定義されているかどうか、またログが適切に収集されているかどうかを確認できる機能がバックオフィスに提供されます。
- バックオフィスのルート: Analytics > Log Definition
-
- Analyticsのログ定義機能は、ログを送信する前にどのフィールドを送信するかを定義する重要な機能です。
- Analyticsは、ログを定義する際にログ定義機能を2つのタイプに分けて基本フィールドを作成します: ログを定義する際に必須のフィールドと、Analyticsの機能を使用するために使用されるフィールドです。
- 追加のフィールドは、ユーザーのニーズに応じて作成して使用できます。
- ログ定義に必要なフィールド
- 下の表は、Analyticsログ定義に必要なフィールドの詳細を示しています。
- これらのフィールドは、Hive SDKクライアントログ転送機能を使用する際に定期的に収集されます。
カテゴリ フィールド名 説明 データタイプ 例 ベース 時間 dateTime ログ生成時間 フォーマット: “YYYY-MM-DD hh:mm:ss”* dateTime 値が現在の時間から-4年から+1年の範囲外にある場合は例外として扱われます。そのようなログは個別に保存され、保存日から2日後に検証のためにアクセス可能になります。 TIMESTAMP 2023-07-07 15:30:00 timezone UTCオフセット ログ内の時間パラメータ値の< \* 伝送の注意事項 - dateTimeの値に基づいてtimezoneの値を動的に設定して送信します 文字列 GMT+9:00 ゲーム 分類 appId App Centerに登録された各ゲームのアプリケーションID< - app_idとして送信する場合は、appIdに変更して保存してください STRING com.com2us.ios.universal appIndex appIdに割り当てられたインデックス番号< * 置き換え INTEGER 123456 gameId ドメインとゲーム名を含むappIdのフォーマット。< * 置き換え STRING com.com2us.gamename gameIndex ゲームに割り当てられたインデックス番号 * 置換 INTEGER 123456 ログ 名前 カテゴリ ログ定義中に指定されたログ名 文字列 hive_login_log ログ 識別子 guid 一意のキー値と1つの属性行を使用して、ログから重複を削除するために使用されます。 (残りのフィールドの値が同一であっても、guidの値が異なる場合は異なるログとして認識されます。)* 送信の注意事項 - UUIDのようなランダムな文字列として送信することをお勧めします。 STRING 61ad27eaad7ae3d1521d その他 undefinedRawData ログ定義に定義されていない要素がある場合、それらはJSON文字列として保存されます。 STRING { "tier" : "10", "fluentd_tag" : "ha2union.game.purchase_log", "country" : "HK" }
- 分析機能で使用するフィールド
- 以下の表は、ゲーム特有の指標や分析提供のセグメントなど、さまざまな分析機能を使用するために必要な要素を表示します。
- その機能を利用するためには、分析が確立されている必要があります。
- これらのフィールドは、Hive SDK クライアントログ転送機能を使用する際に定期的に収集されます。
フィールド名 説明 データ型 例 vid 各ゲームのために生成されたユーザー仮想ID INTEGER 100967777206 did デバイスID 端末で一意に生成される INTEGER 51726905112 playerId Hive 統合認証で使用されるキー INTEGER 100967777106 serverId ゲームが提供されるサーバーを識別するための一意のID情報 STRING GLOBAL market ゲームが提供されるストア/プラットフォーム情報 STRING GO bigqueryRegistTimestamp 顧客が提出したログがBigQueryID テーブルに入った時刻 TIMESTAMP 2023-08-22 03:34:08 UTC lang ゲームが提供される言語情報 <STRING EN appIdGroup App Centerに登録された各ゲームのゲームID STRING com.com2us.testgame checksum 重複データを確認するための標準列、もしguidが不正確な場合< - 伝送の注意事項 * guidを除くすべての列名と列値を文字列に結合し、md5値として送信します。 STRING 20ed52852cb2f72 country ゲームが提供される国の情報 STRING US company ゲームを提供する会社の情報 STRING com2us
ログの定義¶
ログ定義リスト¶
- ログ定義リストで新しいログを定義し、以前に定義したログのログステータスを確認できます。
- クライアントソースの作成: 定義した全ログリストに対応するゲームに適用するクライアントソースコードを生成します。
- ログ定義: 新しいログを定義します。
- 新しいログを定義するために読み込む: 以前に定義したログの1つを選択した後にこの機能を使用でき、指定されたログ定義の詳細をコピーして定義する画面に移動します。
- テンプレートとして登録: 以前に定義したログの中で頻繁に使用されるログを選択し、テンプレートとして登録できます。登録されたテンプレートはログ定義画面で読み込んで使用できます。
- BigQueryIDに接続: ログデータストレージが正しく作成されたことを意味します。
- データフローに存在: 新しく定義されたログには「x」と表示されます。使用する前に、次の日の朝に「O」に変更されているか確認する必要があります。ただし、新しいログを定義した日にログを収集することはできます。定義した日以外の日に「X」が表示された場合は、以下に連絡してください。
- 「BigQueryIDに接続」と「データフローに存在」で「X」が表示されている場合、データの同期に問題があることを意味し、データテクノロジーチーム(DWパート)に連絡する必要があります。
ウェブフォームでのログの定義¶
- 基本情報
- テーブル名: 対応するログのテーブル名を入力してください。
- 詳細: 対応するテーブルの詳細を入力してください。これはセグメントのゲーム情報フィールドに表示されるため、ユーザーが理解しやすい説明を入力することを強くお勧めします。(例: レベル – ユーザーのアカウントレベル)
- テンプレートを介してフィールドを作成: 以前に登録したテンプレートのいずれかを選択すると、対応するログの定義情報が表示され、修正が必要な部分を変更することでログ定義を進めることができます。
- 共通フィールド設定
- 共通フィールドは、すべてのログで使用できるフィールドが事前に定義されたフィールドです。
- データ選択チェックボックスをチェックすると、そのフィールドはこのログで使用されるフィールドになります。ゲーム内で転送される限り、チェックしなくてもログを収集することができます。ただし、チェックするとサーバーソースコードが自動的に作成されるため、より便利に使用できます。クライアントをチェックしなくてもHive SDK 4から収集されます。
- 定義フィールド設定
- 定義フィールドは、転送されるゲームログを設定する部分です。フィールド名、タイプ、説明、サンプル値を入力する必要があります。
- チェックボックスをチェックすると、そのフィールドは推奨フィールドになり、セグメントで使用できるフィールドとして定義されます。
- 登録ボタンをタップしてログ定義を完了します。ログ定義が完了すると、ログがリストに追加され、フィールドを追加または修正し、詳細ページで収集されたデータを確認することができます。
Excelでのログの定義¶
- Excelファイルを作成する
- Excelファイルをアップロードする
ログの管理¶
定義されたログ詳細ページ¶
- ログをクリックして詳細ページに移動し、ログ定義リストから対応するログにフィールドを追加するか、ログ転送ステータスが正しいかどうかを確認します。
- 基本情報、BigQuery スキーマ情報
- 基本情報: 定義されたログ、カテゴリ、登録日、詳細を確認できます。詳細を変更することもできます。
- BigQuery スキーマ情報: BigQuery に保存されたスキーマ情報を表示できます。
- ログフィールド情報
- 共通フィールドは黒で表示され、ゲームから追加されたフィールドは青で表示されます。
- フィールドの詳細を変更し、「使用」カテゴリを選択できます。
- 使用: 対応するフィールドの使用を選択できます。これはログを定義する人の参考として使用され、ログ転送を開発する際には使用に応じて正しく適用する必要があります。「推奨」と「必須」として設定されたフィールドはセグメントで使用できます。
- 必須: 収集しなければならないフィールドを指します。ゲームに対応するフィールドの値を含める必要があります。 (例: Vidフィールド)
- 推奨: 非常に重要なフィールドを指します。収集することが強く推奨されるフィールドです。「推奨」と「必須」のフィールドをセグメントの条件として追加できます。
- 自動: ログ収集システムに必要なフィールドを指し、自動的に生成されます。 (例: geoIpCountryフィールドを介してクライアントIPから国の値を収集するフィールド。)
- 選択: 収集されるが使用は任意のフィールドを指します。サーバーからログを転送する際にこのフィールドを送信する必要はありません。
- BigQueryIDとの同期: BigQuery と正しく同期されているか確認できます。正しく同期されている場合は「O」が表示され、ログの同期に問題がある場合は「X」が表示されます。「X」が表示された場合は、データ技術チーム(DWパート)にお問い合わせください。
- フィールド情報テーブルの行をドラッグしてフィールドの順序を変更できます。
- フィールドを追加
- フィールドを追加: これは、以前に定義したログにフィールドを追加できる機能です。ログ定義の際に行ったのと同様にフィールドを追加できます。
- 追加するフィールドの詳細を入力し、Run Additional Field Buttonをクリックして保存します。
- ETLシミュレーション
- ETLシミュレーションは、対応するログ定義が正しく収集されているかどうかを確認できる機能です。
- リクエスト - Jsonボディ
- 対応するログのサンプルJsonを確認し、Send Jsonボタンをクリックして正しい応答が得られるかどうかを確認できます。
- Send Jsonボタンをクリックすると、結果値が下のレスポンスエリアに表示されます。また、収集状況はJsonデータストレージサーバーパスで段階的に表示されます。
- Jsonデータストレージサーバーパスボタンをクリックすると、ステータス値が表示されます。BigQueryボタンをクリックすると、データが安全に保存されているか確認でき、最後に保存されたJsonデータが表示されます。
- この機能で収集されたサンプルデータは実際にDBに保存されるため、ログによって違いが生じる可能性があることに注意してください。
- データサンプル
- データサンプル: 実際に収集されたログを対応する定義で確認できます。最新から最古まで最大10件のログが表示されます。
- 保存待ちの最新データを確認: 更新することで最新のログを表示できます。
- さらに表示: より多くのページを表示して、より多くのデータサンプルを確認できます。(下の画像)
- データサンプルの表示ページでは、過去7日間のログを確認でき、フィールドを検索できる機能があります。左右にスクロールすることで全フィールドを確認できます。
- フィールド選択: すべてのフィールドを選択し、選択したフィールドの値で検索できます。
- 比較方法: “=”、つまり等価検索と“Like”検索方法をサポートしています。
- 特定のvidのログを検索したい場合は、vidフィールドを選択し、vidを入力すると、対応するvidのログのみが表示されます。
- クライアントソースの作成
- クライアントソースの作成: 対応するログごとに言語のクライアントソースを作成します。
- Jsonのエクスポート: 対応するログをJsonにエクスポートします。ソースは新しいウィンドウでエクスポートされ、エクスポートされたソースを使用または変更できます。
- 新しいログを定義するために読み込む: このボタンをクリックすると、対応するログに似たログを定義でき、すでに定義されたログを持つ新しいログ定義画面が表示されます。
- 削除: 対応するログのログ定義を削除します。
定義されたログをサーバー間に送信¶
ただし、Hive Analytics v2は、“6. クライアントソースの作成”で説明されているように、Hive SDK v4内のAPIを介してログを転送することを推奨します。ただし、サーバー間でAnalytics v2にログを送信することも可能です。
“Fluentd”はログを送信するために使用されます。使用方法については以下のリンクを参照してください。
Hive Analytics構造 : Fluentdタイプ
ログ定義サーバー間送信 : Fluentdを使用
ログデータの検証と修正プロセス¶
- ログを定義する際に提供された情報に加えて、追加のデータ検証および修正処理は以下の通りです
- geoipCountry 追加
- clientIp フィールドが存在する場合、それを使用して MaxMind DB 検索を行い、国を一致させます。
- clientIp が利用できない場合や検索が成功しない場合、
- lang フィールドからの値が使用されます
-
一部の国の値がlangで変更および追加されます。
キャリブレーション前 キャリブレーション後 ko KR ja JP vi VN es ES
- 最終的にcountryの値を確認することが不可能な場合は、「ET」がgeoIpCountryに追加されます。
- clientIp キャリブレーション
- class 4データは記録から除外されます。
- 例) 127.0.0.1 → 127.0.0.0
- class 4データは記録から除外されます。
- 最終データキャリブレーション appId を使用
- App Centerデータに登録されたデータに基づいてappIdで検索することにより、空の値が追加されます
- マーケット
- os
- company
- channel
- channelフィールドが欠けている場合は、「C2S」が追加されます
- sdkVer
- appidGroup
- appidCompany
- App Centerデータに登録されたデータに基づいてappIdで検索することにより、空の値が追加されます