ข้ามไปที่เนื้อหา

การติดตามเหตุการณ์ด้วยตนเอง

นอกจากการติดตั้ง, เปิด, อัปเดต, และการซื้อ (การซื้อในแอป) ซึ่งถูกติดตามโดยอัตโนมัติโดย Hive SDK คุณสามารถติดตามเหตุการณ์ที่จำเป็นที่คุณต้องการได้ด้วยตนเอง เพื่อทำเช่นนี้ คุณต้องลงทะเบียนเหตุการณ์ไปยังแดชบอร์ดของการติดตามแต่ละรายการ ตัวอย่างเช่น คุณสามารถติดตามเหตุการณ์เฉพาะเช่นการเสร็จสิ้นการสอนการเล่นเกมของคุณ (TutorialComplete) หรือการเสร็จสิ้นวัตถุประสงค์ของภารกิจ (MissionClear) คุณควรดำเนินการติดตามเหตุการณ์ด้วยตนเองหลังจากเสร็จสิ้นการตั้งค่าการติดตามเหตุการณ์อัตโนมัติ

การติดตามเหตุการณ์ด้วยตนเองด้วย Adjust

  1. เพื่อติดตามเหตุการณ์ที่กำหนดเองด้วยตนเอง ให้ลงทะเบียนเหตุการณ์บนแดชบอร์ด Adjust และรับโทเค็นแอปและโทเค็นเหตุการณ์ โทเค็นแอปสามารถรับได้จากหน้าแรกของแดชบอร์ด และโทเค็นเหตุการณ์จากแดชบอร์ด > การตั้งค่าทั้งหมด > เหตุการณ์ ดู คู่มือแดชบอร์ด Adjust เพื่อเรียนรู้วิธีการรับโทเค็น
  2. เพิ่มโทเค็นแอปและโทเค็นเหตุการณ์ของแต่ละเหตุการณ์ใน hive_config.xml สำหรับรายละเอียดเพิ่มเติม ดูตัวอย่างโค้ดด้านล่าง
  3. แดชบอร์ด Adjust มี SDK Signature V3 สำหรับการป้องกันการปลอมแปลงแอป เพื่อใช้ SDK Signature คุณต้องตรวจสอบเงื่อนไขสัญญากับ Adjust.

    <providers>
    <!-- (skipped) -->
    <!-- อย่าตั้งค่าฟิลด์ id ของโหนด Adjust. -->
    <!-- ฟิลด์ name ของโหนด Adjust ถูกกำหนดให้เป็น "Adjust." -->
    <!-- ฟิลด์ name ของโหนด event ถูกกำหนดโดยสตูดิโอเกม แต่เมื่อมันถูกตั้งค่าแล้ว มันควรจะเหมือนกันสำหรับฟิลด์ name ของการอ้างอิงการตลาดอื่น ๆ สำหรับคำขอ sendEvent() -->
    <!-- ตั้งแต่ Hive SDK v4 25.0.0, id, secretId, info1~4 จะไม่ถูกใช้ตั้งแต่การประยุกต์ใช้ Adjust v5 -->
    <Adjust name="Adjust" key="APP_TOKEN">
            <events>
                    <event name="TutorialComplete" value="TutorialComplete_EVENT_TOKEN"/>
                    <event name="MissionClear" value="MissionClear_EVENT_TOKEN"/>
            </events>
    <!-- (skipped) -->
    </Adjust>
    </providers>
    
  4. เรียกใช้ Analytics API sendEvent() เพื่อส่งเหตุการณ์ ใช้ event name ใน hive_config.xml เมื่อคุณส่งเหตุการณ์ name จะถูกใช้เป็นพารามิเตอร์คำขอสำหรับ sendEvent() และ value ที่คุณตั้งค่าจะแสดงผลบนแดชบอร์ดของแต่ละการกำหนดค่า

    • Analytics.sendEvent("TutorialComplete");
    • Analytics.sendEvent("MissionClear");

การติดตามเหตุการณ์ด้วยตนเองด้วย Airbridge

  1. รับโทเค็นที่จำเป็น สำหรับข้อมูลเกี่ยวกับวิธีการรับโทเค็น โปรดดูที่ คู่มือแดชบอร์ด Airbridge.
    • รับโทเค็น SDK ของแอปและชื่อแอปจากแดชบอร์ด > การตั้งค่า > การจัดการโทเค็น.
  2. เพิ่มโทเค็น ชื่อแอป และการตั้งค่าเหตุการณ์ลงใน hive_config.xml โปรดดูที่ โค้ดตัวอย่าง hive_config.xml ด้านล่าง บน Windows การตั้งค่าโทเค็นและชื่อแอปไม่จำเป็น แต่การตั้งค่าคอนโซล Hive เป็นสิ่งที่จำเป็น.
  3. Airbridge ให้บริการ SDK Signature เพื่อป้องกันการปลอมแปลงแอป สำหรับการใช้ฟังก์ชันที่เกี่ยวข้อง คุณต้องตรวจสอบเงื่อนไขสัญญากับ Airbridge ก่อน รับกุญแจและเพิ่มเป็น secretId, secret ใน hive_config.xml. สำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อมูลความปลอดภัยของ SDK signature โปรดดูที่ คู่มือ Airbridge. รองรับเฉพาะบน Android และ iOS ไม่รองรับบน Windows.
  4. หากคุณกำลังใช้ Windows, Android และ iOS ร่วมกัน ติดต่อ Airbridge สำหรับการตั้งค่าเริ่มต้น.
  5. ส่งเหตุการณ์โดยเรียกใช้ API Analytics sendEvent(). เมื่อส่งเหตุการณ์ ให้ใช้ name และ value ของแท็ก event< ที่เพิ่มลงใน hive_config.xml. name จะถูกใช้เป็นพารามิเตอร์เมื่อเรียกใช้ API และ value สามารถตรวจสอบได้ในแดชบอร์ดของแต่ละการอ้างอิง.
    • Analytics.sendEvent("TutorialComplete");
    • Analytics.sendEvent("MissionClear");

hive_config.xml ตัวอย่างโค้ด

<providers>
    <Airbridge name="Airbridge" key="APP_SDK_TOKEN" appName="APP_NAME" secretId="SECRET_ID" secret="SECRET">
                <events>
                        <event name="TutorialComplete" value="Tutorial Complete" />
                        <event name="MissionClear" value="Mission Clear" />
                </events>
        </Airbridge>
</providers>

การส่งคุณสมบัติเพิ่มเติมด้วย Airbridge

เมื่อส่งเหตุการณ์ในแอปด้วย Airbridge คุณสามารถส่งคุณสมบัติเพิ่มเติมโดยใช้ Analytics.sendEventWithAttributes.

ข้อมูลคุณลักษณะเพิ่มเติมที่สามารถส่งได้มีดังนี้

  • การกระทำ, ป้ายกำกับ: รวบรวมข้อมูลที่สามารถใช้สำหรับการจัดกลุ่มในรายงาน Airbridge
  • ค่า: รวบรวมข้อมูลที่ใช้สำหรับการวิเคราะห์รายได้
  • คุณลักษณะเชิงความหมาย: คุณลักษณะที่กำหนดไว้ล่วงหน้า.
    • หากคุณป้อนสตริงคุณลักษณะที่แตกต่างจากคุณลักษณะที่กำหนดไว้ล่วงหน้า อาจจะไม่ถูกเก็บรวบรวม
    • เหตุการณ์ที่มีข้อมูลที่ไม่ตรงกับรูปแบบข้อมูลของคุณลักษณะเชิงความหมายจะไม่ถูกเก็บรวบรวม เนื่องจากรูปแบบข้อมูลจะแตกต่างกันไปในแต่ละคุณลักษณะเชิงความหมาย จึงต้องระมัดระวัง
    • คุณลักษณะเชิงความหมายที่มีรูปแบบข้อมูลเป็นสตริงอนุญาตให้มีความยาวสูงสุด 1024 ตัวอักษร คุณลักษณะเชิงความหมายที่มีรูปแบบข้อมูลเป็น int หรือ float อนุญาตให้มีความยาวสูงสุด 64 บิต
  • คุณลักษณะกำหนดเอง: คุณลักษณะที่ผู้ใช้กำหนด

API Reference: hive.Analytics.sendEventWithAttributes

using hive;    

// สร้าง AnalyticsAttributes
var analyticsAttributes = new AnalyticsAttributes();

// คุณสมบัติเฉพาะสำหรับ Airbridge
var airbridgeSpecific = new AirbridgeSpecific();
// การกระทำ
airbridgeSpecific.SetSemanticAction("Tool");
// ป้ายชื่อ
airbridgeSpecific.SetSemanticLabel("Hammer");
// ค่า
airbridgeSpecific.SetSemanticValue(10);

// คุณสมบัติทางอารมณ์
airbridgeSpecific.AddSemanticAttribute("type", "Warrior");
airbridgeSpecific.AddSemanticAttribute("score", 20);

// เพิ่มคุณสมบัติเฉพาะของ Airbridge
analyticsAttributes.AddModuleSpecificAttributes(airbridgeSpecific);

// เพิ่มคุณสมบัติที่กำหนดเอง
analyticsAttributes.AddCustomAttribute("key1", "value1");
analyticsAttributes.AddCustomAttribute("key2", "value2");

Analytics.sendEventWithAttributes("Quest Complete", analyticsAttributes);
#include "HiveAnalytics.h"

// ต้องการการเพิ่มโค้ด

API Reference: Analytics::sendEventWithAttributes

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
using namespace std;    
using namespace hive;    

// สร้าง AnalyticsAttributes
AnalyticsAttributes* analyticsAttributes = new AnalyticsAttributes();

// คุณสมบัติเฉพาะสำหรับ Airbridge
AirbridgeSpecific* airbridgeSpecific = new AirbridgeSpecific();

std::string semanticAction = "Tool";
std::string semanticLabel = "Hammer";
float semanticValue = 10.0f;

// การกระทำ
airbridgeSpecific->setSemanticAction(semanticAction);
// ป้ายชื่อ
airbridgeSpecific->setSemanticLabel(semanticLabel);
// ค่า
airbridgeSpecific->setSemanticValue(semanticValue);

// คุณสมบัติทางความหมาย
airbridgeSpecific->addSemanticAttribute("type", picojson::value("Warrior"));
airbridgeSpecific->addSemanticAttribute("score", picojson::value(20.0f));

// เพิ่มคุณสมบัติที่เฉพาะเจาะจงของ Airbridge
analyticsAttributes->addModuleSpecificAttributes(airbridgeSpecific);

// เพิ่มคุณสมบัติที่กำหนดเอง
analyticsAttributes->addCustomAttribute("key1", picojson::value("value1"));
analyticsAttributes->addCustomAttribute("key2", picojson::value("value2"));

std::string eventName = "Quest Complete";

Analytics::sendEventWithAttributes(eventName, *analyticsAttributes);

API Reference: Analytics.sendEventWithAttributes

import com.hive.Analytics    
import com.hive.analytics.provider.attributes.AirbridgeSpecific
import com.hive.analytics.provider.attributes.AnalyticsAttributes

// สร้าง AnalyticsAttributes
val analyticsAttributes = AnalyticsAttributes()

// คุณสมบัติเฉพาะสำหรับ Airbridge
val airbridgeSpecific = AirbridgeSpecific().apply {
    setSemanticAction("Tool")                // การกระทำ
    setSemanticLabel("Hammer")               // ป้ายกำกับ
    setSemanticValue(10.0f)                  // ค่า
    addSemanticAttribute("type", "Warrior")  // คุณสมบัติทางความหมาย
    addSemanticAttribute("score", 20.0f)     // คุณสมบัติทางความหมาย
}

// เพิ่มคุณลักษณะเฉพาะของ Airbridge
analyticsAttributes.addModuleSpecificAttribute(airbridgeSpecific)

// เพิ่มคุณสมบัติที่กำหนดเอง
analyticsAttributes.addCustomAttribute("key1", "value1")
analyticsAttributes.addCustomAttribute("key2", "value2")

Analytics.sendEventWithAttributes("Quest Complete", analyticsAttributes)

API Reference: Analytics.sendEventWithAttributes

import com.hive.Analytics;
import com.hive.analytics.provider.attributes.AirbridgeSpecific;
import com.hive.analytics.provider.attributes.AnalyticsAttributes;

// สร้าง AnalyticsAttributes
AnalyticsAttributes analyticsAttributes = new AnalyticsAttributes();

// คุณสมบัติเฉพาะสำหรับ Airbridge
AirbridgeSpecific airbridgeSpecific = new AirbridgeSpecific();
airbridgeSpecific.setSemanticAction("Tool");                // การกระทำ
airbridgeSpecific.setSemanticLabel("Hammer");               // ป้ายกำกับ
airbridgeSpecific.setSemanticValue(10.0f);                  // ค่า
airbridgeSpecific.addSemanticAttribute("type", "Warrior");  // คุณสมบัติทางความหมาย
airbridgeSpecific.addSemanticAttribute("score", 20.0f);     // คุณสมบัติทางความหมาย

// เพิ่มคุณสมบัติเฉพาะของ Airbridge
analyticsAttributes.addModuleSpecificAttribute(airbridgeSpecific);

// เพิ่มคุณสมบัติที่กำหนดเอง
analyticsAttributes.addCustomAttribute("key1", "value1");
analyticsAttributes.addCustomAttribute("key2", "value2");

Analytics.sendEventWithAttributes("Quest Complete", analyticsAttributes);

API Reference: HIVEAnalytics:sendEventWithAttributes

#import <HIVEService/HIVEService-Swift.h> 

HiveAnalyticsAttributes* analyticsAttributes = [[HiveAnalyticsAttributes alloc] init];

HiveAirbridgeSpecific* airbridgeSpecific = [[HiveAirbridgeSpecific alloc] init];
[airbridgeSpecific setSemanticAction: @"Tool"];
[airbridgeSpecific setSemanticAction: @"Hammer"];
[airbridgeSpecific setSemanticValue: 10.0f];
[airbridgeSpecific addSemanticAttribute: @"type" value: @"Warrior"];
[airbridgeSpecific addSemanticAttribute: @"score" value: @20.0f];

[analyticsAttributes addModuleSpecificAttribute: airbridgeSpecific];
[analyticsAttributes addCustomAttribute: @"key1" value: @"value1"];
[analyticsAttributes addCustomAttribute: @"key2" value: @"value2"];

[HIVEAnalytics sendEventWithAttributes: @"Quest Complete" attributes: analyticsAttributes];

API Reference: HIVEAnalytics:sendEventWithAttributes

#import HIVEService

// สร้าง AnalyticsAttributes
let analyticsAttributes = AnalyticsAttributes()

// คุณสมบัติเฉพาะสำหรับ Airbridge
let airbridgeSpecific = AirbridgeSpecific()
airbridgeSpecific.setSemanticAction("Tool")
airbridgeSpecific.setSemanticLabel("Hammer")
airbridgeSpecific.setSemanticValue(10.0)
airbridgeSpecific.addSemanticAttribute("type", value: "Warrior")
airbridgeSpecific.addSemanticAttribute("score", value: 20.0)

// เพิ่มแอตทริบิวต์เฉพาะของ Airbridge
analyticsAttributes.addModuleSpecificAttribute(airbridgeSpecific)

// เพิ่มคุณสมบัติที่กำหนดเอง
analyticsAttributes.addCustomAttribute("key1", value: "value1")
analyticsAttributes.addCustomAttribute("key2", value: "value2")

AnalyticsInterface.sendEventWithAttributes("Quest Complete", attributes: analyticsAttributes)

การติดตามเหตุการณ์ด้วยมือด้วย Singular, Appsflyer, Firebase Analytics

  1. รับคีย์ที่จำเป็นจากแต่ละแดชบอร์ดการให้เครดิต ดูคู่มือจากแต่ละแดชบอร์ดการให้เครดิตเพื่อเรียนรู้วิธีการรับคีย์
    • Singular: รับ SDK Key และ SDK SecretKey จากแดชบอร์ด
    • Appsflyer: ไปที่การตั้งค่า AppsFlyer > การตั้งค่าแอปเพื่อรับ Dev key
    • Firebase Analytics: ไม่ต้องใช้คีย์
  2. กำหนดค่า hive_config.xml ตามคู่มือด้านล่าง สำหรับรายละเอียดเพิ่มเติม ดูตัวอย่างโค้ดด้านล่าง หากคุณใช้การให้เครดิต AppsFlyer กับ Hive SDK iOS (Native, Unity, Unreal) คุณต้องตั้งค่า itunseConnectAppId สำหรับ Apple AppID.

    <providers>
            <!-- กำหนดสำหรับ Singular -->
            <!-- ฟิลด์ชื่อของโหนด Singular ถูกกำหนดให้เป็น "Singular." -->
            <!-- ฟิลด์ชื่อของโหนดเหตุการณ์ถูกกำหนดโดยสตูดิโอเกม แต่เมื่อมันถูกตั้งค่าแล้ว มันควรจะเหมือนกันสำหรับฟิลด์ชื่อของการอ้างอิงการตลาดอื่น ๆ ทั้งหมดสำหรับคำขอ sendEvent() -->
            <!-- ฟิลด์ค่าของโหนดเหตุการณ์ถูกกำหนดโดยสตูดิโอเกม -->
            <Singular name="Singular" id="SDK_KEY" key="SDK_SECRET_KEY">
                    <events>
                            <event name="TutorialComplete" value="Tutorial Complete"/>
                            <event name="MissionClear" value="Mission Clear"/>
                    </events>
            </Singular>
    
            <!-- กำหนดค่าสำหรับ AppsFlyer -->
            <!-- ฟิลด์ชื่อของโหนด AppsFlyer ถูกกำหนดเป็น "AppsFlyer." -->
            <!-- อย่ากำหนดฟิลด์ id ของโหนด AppsFlyer. -->
            <!-- ฟิลด์ชื่อของโหนดเหตุการณ์ถูกกำหนดโดยสตูดิโอเกม แต่เมื่อกำหนดแล้ว จะต้องเหมือนกันสำหรับฟิลด์ชื่อของการอ้างอิงการตลาดอื่น ๆ ทั้งหมดสำหรับคำขอ sendEvent() -->
            <!-- ฟิลด์ค่า ของโหนดเหตุการณ์ถูกกำหนดโดยสตูดิโอเกม. -->
            <AppsFlyer name="AppsFlyer" id="unused" key="DEV_KEY" itunseConnectAppId="909923112">
                    <events>
                            <event name="TutorialComplete" value="การสอนเสร็จสิ้น"/>
                            <event name="MissionClear" value="เคลียร์ภารกิจ"/>
                    </events>
            </AppsFlyer>
    
            <!-- กำหนดสำหรับ Firebase Analytics -->
            <!-- ฟิลด์ชื่อของโหนดเหตุการณ์ถูกกำหนดโดยสตูดิโอเกม แต่เมื่อมันถูกตั้งค่าแล้ว มันควรจะเหมือนกันสำหรับฟิลด์ชื่อของการอ้างอิงการตลาดอื่น ๆ สำหรับคำขอ sendEvent() -->
            <!-- ฟิลด์ค่าของโหนดเหตุการณ์ถูกกำหนดโดยสตูดิโอเกม -->
            <firebase>
                    <events>
                        <event name="TutorialComplete" value="TutorialComplete"/>
                        <event name="MissionClear" value="MissionClear"/>
                    </events>
            </firebase>
    </providers>   
    
  3. เรียกใช้ Analytics API sendEvent() เพื่อส่งเหตุการณ์ ใช้ event name ใน hive_config.xml เมื่อคุณส่งเหตุการณ์ name จะถูกใช้เป็นพารามิเตอร์คำขอสำหรับ sendEvent() และ value ที่คุณตั้งค่าจะแสดงผลบนแดชบอร์ดของแต่ละการกำหนดค่า

    • Analytics.sendEvent("TutorialComplete");
    • Analytics.sendEvent("MissionClear");

ส่งเหตุการณ์ผ่าน sendEvent()

แนะนำให้ส่งเหตุการณ์ติดตามไปยังการกำหนดค่าเฉพาะเมื่อกิจกรรมของผู้ใช้ตรงตามเงื่อนไขเฉพาะ เช่น การทำแบบฝึกหัดให้เสร็จสิ้น เรียกใช้วิธี sendEvent() ในคลาส Analytics เพื่อส่งเหตุการณ์ติดตาม ในฐานะพารามิเตอร์แรกของ sendEvent() ให้ป้อนค่าของคุณสมบัติ name จากองค์ประกอบ <event> ซึ่งกำหนดไว้ในไฟล์ hive_config.xml

ต่อไปนี้คือตัวอย่างโค้ดที่ส่งเหตุการณ์ TutorialComplete ไปยังการกำหนดค่าการตลาดเพื่อแจ้งให้ทราบว่าผู้ใช้ได้ทำการเรียนรู้เสร็จสิ้นแล้ว

API Reference: hive.Analytics.sendEvent

using hive;    
    String eventName = "TutorialComplete";    
Analytics.sendEvent(eventName);
#include "HiveAnalytics.h"

FString EventName = TEXT("TutorialComplete");
FHiveAnalytics::SendEvent(EventName);

API Reference: Analytics::sendEvent

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    string eventName = "TutorialComplete";    
Analytics::sendEvent(eventName);

API Reference: Analytics.sendEvent

import com.hive.Analytics    
    val eventName = "TutorialComplete"    
Analytics.sendEvent(eventName)

API Reference: AnalyticsInterface .sendEvent

import HIVEService    
    let eventName = "TutorialComplete"    
AnalyticsInterface.sendEvent(eventName)

API Reference: HIVEAnalytics:sendEvent

#import <HIVEService/HIVEService-Swift.h>    
    NSString eventName = @"TutorialComplete";    
[HIVEAnalytics sendEvent: eventName];

API Reference: AnalyticsInterface.sendEvent

#import HIVEService   
    let eventName = "TutorialComplete"
AnalyticsInterface.sendEvent(eventName)

การใช้การวัดอุปกรณ์ Google Ads ในสภาพแวดล้อม Firebase

ในการวัดการแปลงบนอุปกรณ์ที่ให้โดย Google Ads ในสภาพแวดล้อม Firebase คุณต้องนำไปใช้ Firebase Google ODM Solution โซลูชันนี้ต้องการที่อยู่อีเมลหรือหมายเลขโทรศัพท์ที่ผู้ใช้ได้ให้ความยินยอมในการให้ ในระหว่างการนำไปใช้โซลูชันนี้ หากมีการนำ Firebase Authentication หรือสภาพแวดล้อมการตรวจสอบสิทธิ์แยกต่างหากที่นักพัฒนาแนะนำมาใช้ SDK Hive จะไม่เก็บที่อยู่อีเมลและจะส่งต่อที่อยู่อีเมลใด ๆ ที่ได้รับในคำตอบหลังจากการตรวจสอบสิทธิ์ไปยัง Firebase API โดยตรง

Note

คู่มือนี้มีไว้สำหรับแอป iOS เท่านั้น แอป Android ไม่ต้องการกระบวนการแยกต่างหากสำหรับการวัดการแปลงบนอุปกรณ์ในสภาพแวดล้อม Firebase.

วิธีการดำเนินการ

ตลอดทั้งกระบวนการด้านล่างนี้ คุณต้องมั่นใจว่าข้อมูลส่วนบุคคลสำหรับการระบุตัวตนจะต้องไม่รั่วไหลจากอุปกรณ์ของผู้ใช้ไปยังภายนอก

  1. ดาวน์โหลด Google Firebase ODM Unity Plugin และเพิ่มลงในโปรเจกต์ Unity ของคุณ
  2. นำไปใช้การตรวจสอบสิทธิ์เพื่อรับที่อยู่อีเมล IdP หรือหมายเลขโทรศัพท์หลังจากเข้าสู่ระบบ
  3. ทำให้ที่อยู่อีเมลหรือหมายเลขโทรศัพท์เป็นมาตรฐาน ตามวิธีที่กำหนดโดย Firebase.
  4. นำไปใช้การส่งที่อยู่อีเมล/หมายเลขโทรศัพท์ที่เป็นมาตรฐานไปยัง Firebase หรืออีกทางหนึ่ง นำไปใช้การส่งค่าที่แฮชของที่อยู่อีเมล/หมายเลขโทรศัพท์ที่เป็นมาตรฐานไปยัง Firebase ดู ตัวอย่างโค้ด ด้านล่าง
Note

API ของปลั๊กอินสามารถเรียกใช้ได้ตามลำดับ แต่ การเรียกใช้ครั้งถัดไปจะถูกมองข้ามหลังจากถูกเรียกใช้เพียงครั้งเดียวต่อผู้ใช้

ตัวอย่างโค้ด

ด้านล่างคือตัวอย่างโค้ดเมื่อใช้ปลั๊กอิน Unity.

ตัวอย่างโค้ดที่ใช้ค่าที่ถูกแฮช

using hive;
// Sending the hashed & normalized email address
GoogleODM.setHashedEmailAddress(ComputeSha256Hash("abc@abc.com"));
using hive;
// ส่งข้อมูลหมายเลขโทรศัพท์ที่ถูกแฮชและปรับให้เป็นมาตรฐาน
GoogleODM.setHashedPhoneNumber(ComputeSha256Hash("+821012345678"));

ตัวอย่างโค้ดที่ใช้ค่าธรรมดา

using hive;
// Sending the normalized email address
GoogleODM.setEmailAddress("abc@abc.com");
using hive;
// Sending the normalized phone number information
GoogleODM.setPhoneNumber("+821012345678");