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

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

นอกจากการติดตั้ง, เปิด, อัปเดต, และการซื้อ (การซื้อในแอป) ซึ่งถูกติดตามโดยอัตโนมัติโดย 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.
    • รับ App SDK Token และ App Name จากแดชบอร์ด > การตั้งค่า > การจัดการโทเค็น.
  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. ส่งเหตุการณ์โดยการเรียกใช้ 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"

// สร้าง AnalyticsAttributes
FHiveAnalyticsAttributes AnalyticsAttributes;

// คุณลักษณะเฉพาะสำหรับ Airbridge
FHiveAirbridgeSpecific AirbridgeSpecific;
// การกระทำ
AirbridgeSpecific.SetSemanticAction(TEXT("เครื่องมือ"));
// ป้ายชื่อ
AirbridgeSpecific.SetSemanticLabel(TEXT("ค้อน"));
// ค่า
AirbridgeSpecific.SetSemanticValue(10.0f);

// คุณลักษณะเชิงกลยุทธ์
TSharedPtr<FJsonValue> SemanticJsonValue1 = MakeShared<FJsonValueString>(TEXT("Warrior"));
AirbridgeSpecific.AddSemanticAttribute(TEXT("type"), SemanticJsonValue1);
TSharedPtr<FJsonValue> SemanticJsonValue2 = MakeShared<FJsonValueNumber>(20);
AirbridgeSpecific.AddSemanticAttribute(TEXT("score"), SemanticJsonValue2);

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

// เพิ่มคุณสมบัติที่กำหนดเอง
TSharedPtr<FJsonValue> CustomJsonValue1 = MakeShareable(new FJsonValueString("value1"));
AnalyticsAttributes.AddCustomAttribute(TEXT("key1"), CustomJsonValue1);
TSharedPtr<FJsonValue> CustomJsonValue2 = MakeShareable(new FJsonValueString("value2"));
AnalyticsAttributes.AddCustomAttribute(TEXT("key2"), CustomJsonValue2);

FHiveAnalytics::SendEventWithAttributes(strEventName, AnalyticsAttributes);

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;
// ส่งข้อมูลหมายเลขโทรศัพท์ที่ถูกแฮชและปรับให้เป็นมาตรฐาน
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");