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

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

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

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

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

    <providers>
    <!-- (skipped) -->
    <!-- อย่าตั้งค่าฟิลด์ id ของโหนด Adjust. -->
    <!-- ฟิลด์ name ของโหนด Adjust ถูกกำหนดให้เป็น "Adjust." -->
    <!-- ฟิลด์ name ของโหนด event ถูกกำหนดโดยสตูดิโอเกม แต่เมื่อมันถูกตั้งค่าแล้ว มันควรจะเหมือนกันสำหรับฟิลด์ name ของการอ้างอิงการตลาดอื่น ๆ สำหรับคำขอ sendEvent() -->
    <Adjust name="Adjust" id="unused" key="APP_TOKEN" secretId="1" info1="5432112345" info2="334123" info3="555333" info4="111333">
            <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.
    • รับ App SDK Token และ App Name จากแดชบอร์ด > การตั้งค่า > การจัดการโทเค็น.
  2. เพิ่มโทเค็น ชื่อแอป และการตั้งค่าเหตุการณ์ลงใน hive_config.xml โปรดดูที่ ตัวอย่างโค้ด hive_config.xml ด้านล่าง ใน Windows การตั้งค่าโทเค็นและชื่อแอปไม่จำเป็น แต่การตั้งค่า Hive console เป็นสิ่งที่จำเป็น.
  3. Airbridge ให้บริการ SDK Signature เพื่อป้องกันการปลอมแปลงแอป หากต้องการใช้ฟังก์ชันที่เกี่ยวข้อง คุณต้องตรวจสอบเงื่อนไขสัญญากับ Airbridge ก่อน รับคีย์และเพิ่มเป็น secretId และ secret ใน hive_config.xml. สำหรับข้อมูลเพิ่มเติมเกี่ยวกับความปลอดภัยของ SDK signature โปรดดูที่ คู่มือ Airbridge. รองรับเฉพาะ Android และ iOS เท่านั้น ไม่รองรับ Windows.
  4. หากคุณกำลังใช้ Windows, Android และ iOS ร่วมกัน โปรดติดต่อ Airbridge สำหรับการตั้งค่าเริ่มต้น.
  5. ส่งเหตุการณ์โดยการเรียกใช้ Analytics API 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.
  • ค่า: รวบรวมข้อมูลที่ใช้สำหรับการวิเคราะห์รายได้.
  • คุณลักษณะเชิงความหมาย: คุณลักษณะที่กำหนดไว้ล่วงหน้า ของ 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="Tutorial Complete"/>
                            <event name="MissionClear" value="Mission Clear"/>
                    </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;
// Sending the hashed & normalized phone number information
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");