การได้มาซึ่งผู้ใช้?¶
คุณสามารถดึงดูดผู้ใช้ใหม่ได้โดยให้ผู้ใช้แชร์ URL เชิญหรือ QR Code ของพวกเขาบน SNS ของพวกเขาด้วยฟีเจอร์เชิญที่เสนอโดย Hive SDK รางวัลจะมอบให้ทั้งผู้ที่เชิญเพื่อนของเขาหรือเธอและผู้ที่ถูกเชิญเมื่อผู้ใช้ที่ถูกเชิญติดตั้งเกมและตรงตามเงื่อนไขบางประการ (เงื่อนไขและรางวัลสามารถตั้งค่าได้ที่ Hive Console) เช่น การไปถึงระดับที่กำหนด
เป้าหมายของการเชิญไม่จำกัดเฉพาะผู้ใช้ Hive เท่านั้น จะมีการออก URL เชิญเฉพาะและ QR Code สำหรับแต่ละผู้ใช้เพื่อระบุผู้ใช้ที่เชิญผู้อื่น
หากผู้ใช้ iOS เข้าร่วมผ่าน URL เชิญ หน้าข้อความแจ้งต่อไปนี้จะถูกเปิดเผยเพื่อป้องกันการสูญเสียการจับคู่
UA ควรให้ผู้ใช้มีเป้าหมายที่สามารถทำได้ง่ายและให้การชดเชยที่เหมาะสมเพื่อเพิ่มความสนใจและการมีส่วนร่วมของพวกเขา。
คุณสมบัติ UA¶
- ออกและแชร์ URL/QR code ของเกม
- ค่าใช้จ่ายต่อการติดตั้ง (CPI) ซึ่งให้รางวัลทั้งผู้ใช้และเพื่อนที่ได้รับเชิญหากเพื่อนติดตั้งเกม
- ค่าใช้จ่ายต่อการดำเนินการ (CPA) ซึ่งให้รางวัลทั้งผู้ใช้และเพื่อนที่ได้รับเชิญหากเพื่อนทำภารกิจสำเร็จในขณะเล่นเกม
กระบวนการเชิญ UA¶
เพื่อให้รางวัล คุณต้องดำเนินการ ITEM.
การลงทะเบียนแคมเปญการได้มาซึ่งผู้ใช้¶
คุณสามารถลงทะเบียนแคมเปญ UA บน Hive Console ซึ่งมีแคมเปญสองประเภท
- แคมเปญความสำเร็จตามจำนวน - หากเพื่อนที่ถูกเชิญบรรลุเป้าหมายของแคมเปญ ผู้ใช้และเพื่อนใหม่จะได้รับรางวัล
- แคมเปญความสำเร็จตามภารกิจ - หากจำนวนเพื่อนที่ทำภารกิจสำเร็จตรงตามจำนวนที่ตั้งไว้ ผู้ใช้และเพื่อนใหม่จะได้รับรางวัล
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการกำหนดค่าการรณรงค์ โปรดดูที่ Hive Console Promotion.
การดำเนินการเพื่อการได้มาซึ่งผู้ใช้¶
ดำเนินการเชิญชวนและ UI แคมเปญสำหรับ UA ในเกม และกระตุ้นให้ผู้ใช้ติดตั้งแอป
การรับข้อมูลแคมเปญและ URL/QR Code สำหรับการเชิญ¶
ในการรับ URL/QR code การเชิญและข้อมูลแคมเปญ ให้เรียกใช้วิธีการ getAppInvitationData() ในคลาส Promotion คุณสามารถสร้างหน้าเชิญหรือหน้าจอแคมเปญตามข้อมูลจาก Hive SDK.
ต่อไปนี้คือตัวอย่างโค้ดเพื่อขอข้อมูล URL/QR code และข้อมูลแคมเปญจาก Hive SDK.
API Reference: hive.Promotion.getAppInvitationData
API Reference: Promotion::getAppInvitationData
API Reference: Promotion.getAppInvitationData
API Reference: com.hive.Promotion.getAppInvitationData
API Reference: PromotionInterface .getAppInvitationData
API Reference: HIVEPromotion:getAppInvitationData
หลังจากเรียกใช้เมธอด getAppInvitationData() ข้อมูลจะถูกส่งผ่านวัตถุ AppInivitationData
การประกอบของวัตถุ AppInvitationData¶
| ชื่อฟิลด์ | คำอธิบาย | ประเภท | 
|---|---|---|
| qrcode | รูปภาพ QR Code สำหรับเชิญชวนเข้าร่วมเกม (บันทึกรูปภาพ bitmap เป็นประเภท HEXA string) | String | 
| inviteMessage | ข้อความเชิญชวนเข้าร่วมเกม | String | 
| inviteCommonLink | ลิงก์เชิญชวนเข้าร่วมเกม | String | 
| inviteHivemsgLink | ลิงก์เชิญชวนเข้าร่วมเกมโดย Hive ข้อความ | String | 
| eachCampaignList | รายการแคมเปญเพื่อให้รางวัลเมื่อแคมเปญเสร็จสิ้น | AppInvitationCampaign list | 
| stageCampaignList | รายการแคมเปญเพื่อให้รางวัลเมื่อผู้ใช้บรรลุเป้าหมายการเชิญชวน | AppInvitationCampaignStage list | 
แบ่งปันไฟล์มีเดียผ่านโซเชียลมีเดีย¶
Hive SDK มีฟังก์ชันการแชร์ผ่านโซเชียลมีเดีย ซึ่งไม่สามารถใช้ได้กับ ข้อมูลแคมเปญที่ได้รับและ URL/QR Code การเชิญ. ใช้เมธอด showUAShare() ในคลาส Promotion ที่จัดเตรียมโดย Hive SDK v4.11.7 กับ SNS ต่อไปนี้.
- คา카오 ทอล์ค
- ไลน์
- เฟซบุ๊ก
- เฟซบุ๊ก เมสเซนเจอร์
- วอตส์แอพ
- วีแชท
ด้วย Hive SDK v4.11.2 และเวอร์ชันที่ใหม่กว่าแต่ก่อนหน้า v4.11.7 ฟังก์ชันนี้สามารถใช้งานได้โดยใช้วิธีการ shareText() และ shareMedia() ในคลาส PlatformHelper 
Warning
- สามารถใช้งาน Promotion API กับโซเชียลมีเดียอื่น ๆ นอกเหนือจากที่กล่าวถึงข้างต้นได้ อย่างไรก็ตาม Hive SDK ไม่สามารถรับประกันการใช้งานได้ ต้องมั่นใจว่าทดสอบก่อนการใช้งานโซเชียลมีเดียประเภทอื่น ๆ
- Facebook ไม่รองรับการแชร์ข้อความสั้น แต่รองรับเฉพาะประเภท URL ของเว็บเท่านั้น
- ผู้ใช้ไม่สามารถแชร์สื่อได้ทันทีเมื่อใช้ Facebook หรือ LINE ต้องดำเนินการเพิ่มเติม โดยการกดปุ่มลงทะเบียน/ส่ง
การแชร์ไฟล์สื่อจะสามารถทำได้เฉพาะเมื่อไฟล์ถูกบันทึกไว้ในอุปกรณ์ของผู้ใช้เท่านั้น หากต้องการแชร์ URL ให้ใช้ฟังก์ชันการแชร์ข้อความหรือดาวน์โหลดไฟล์จาก URL ด้านล่างนี้คือตัวอย่างโค้ดในการทำการแชร์ไฟล์ผ่านโซเชียลมีเดีย
API Reference: hive .Promotion.showUAShare
#include "HivePromotion.h"
FString InviteMessage = TEXT("InviteMessage"); // AppInvitationData.InviteMessage;
FString InviteLink = TEXT("InviteLink"); // AppInvitationData.InviteCommonLink;
FHivePromotion::ShowUAShare(InviteMessage, InviteLink, FHivePromotionOnUAShareDelegate::CreateLambda([this](const FHiveResultAPI& Result) {
        if (Result.IsSuccess()) {
                // API call success
        }
}));
API Reference: Promotion ::showUAShare
#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    // ข้อความเชิญ    
    string inviteMessage = appInvitationData.inviteMessage.c_str();    
    // ลิงก์เชิญ    
    string inviteCommonLink = appInvitationData.inviteCommonLink.c_str();    
    Promotion::showUAShare(inviteMessage, inviteCommonLink, [=](ResultAPI const &result) {    
        if (result.isSuccess()) {    
        // การเรียกสำเร็จ    
        }    
});
API Reference: Promotion.showUAShare
import com.hive.Promotion    
    import com.hive.ResultAPI    
    // ข้อความเชิญชวน    
    val invitationMessage = appInvitationData?.inviteMessage ?: ""    
    // ลิงก์เชิญชวน    
    val inviteCommonLink = appInvitationData?.inviteCommonLink ?: ""    
    Promotion.showUAShare(invitationMessage, inviteCommonLink, object: Promotion.PromotionShareListener{    
         override fun onPromotionShare(result: ResultAPI) {    
             if (result.isSuccess) {    
                 // เรียกใช้สำเร็จ    
             }    
         }    
})
API Reference: com .hive.Promotion.showUAShare
import com.hive.Promotion;    
    import com.hive.ResultAPI;    
    // ข้อความเชิญชวน    
    String inviteMessage = appInvitationData.getInviteMessage();    
    // ลิงก์เชิญชวน    
    String inviteCommonLink = appInvitationData.getInviteCommonLink();    
    Promotion.INSTANCE.showUAShare(inviteMessage, inviteCommonLink, result -> {    
         if (result.isSuccess()) {    
             // การโทรสำเร็จ    
         }    
});
API Reference: PromotionInterface.showUAShare
API Reference: HIVEPromotion ::showUAShare:inviteLink:handler:
#import <HIVEService/HIVEService-Swift.h>    
    // ข้อความเชิญ    
    NSString *inviteMessage = appInvitationData.inviteMessage;    
    // ลิงก์เชิญ    
    NSString *inviteCommonLink = appInvitationData.inviteCommonLink;    
    [HIVEPromotion showUAShare: inviteMessage inviteLink: inviteCommonLink handler: ^(HIVEResultAPI *result) {    
         if ([result isSuccess]) {    
            // call successful    
            }    
}];
การออกแบบหน้าจอเชิญ¶
หน้าจอเชิญชวนจะแสดงให้ผู้ใช้เชิญเพื่อนเข้าร่วมเกม ใช้ qrcode หรือ inviteCommonLink จากวัตถุ AppInvitationData เพื่อออกแบบหน้าจอเชิญชวน คุณสามารถนำเสนอหน้าจอเชิญชวนเกมในเกมโดยใช้ qrcode หรือ inviteCommonLink ของวัตถุ AppInvitationData ที่ถูกส่งเป็นผลลัพธ์จากการเรียกใช้วิธีการ getAppInvitationData() หน้าชื่อเชิญไม่มีขีดจำกัด แต่ข้อมูลด้านล่างควรระบุให้ชัดเจน
- แคมเปญที่มีคำอธิบายดังต่อไปนี้; เป้าหมายที่การเชิญต้องบรรลุ, คำอธิบายของเป้าหมาย, รางวัลจากการบรรลุเป้าหมายนั้น, จำนวนครั้งที่การเชิญได้ถูกทำเสร็จแล้ว, และจำนวนการเชิญที่จำเป็นต้องทำเพื่อบรรลุเป้าหมาย.
- การเชิญที่มีคำอธิบายดังต่อไปนี้; รายชื่อเพื่อนที่สามารถเชิญได้และระบุวิธีหรือขั้นตอนในการส่งการเชิญจริง.
แคมเปญและคำเชิญอาจประกอบด้วยหน้าจอที่แตกต่างกันขึ้นอยู่กับแผนเกม หรืออาจถูกรวมเข้าด้วยกันในหน้าจอเดียวกัน
แนะนำให้แสดง URL การเชิญตามที่แสดงในหน้าจอตัวอย่างด้านบนและออกแบบ UI ในเกมเพื่อให้ผู้ใช้สามารถคัดลอก URL ไปยังคลิปบอร์ดได้
การออกแบบหน้าจอแคมเปญ¶
AppInvitationData คลาสกำหนดตัวแปร eachCampaignList และ stageCampaignList ชนิดข้อมูลของตัวแปร eachCampaignList คือคลาส AppInvitationCampaign และชนิดข้อมูลของ stageCampaignList คือ AppInvitationCampaignState แต่ละตัวมีข้อมูลแคมเปญและข้อมูลความสำเร็จของแคมเปญ หน้าจอแคมเปญประกอบด้วยข้อมูลดังต่อไปนี้ 
การประกอบของวัตถุ AppInvitationCampaign¶
| หมายเลข | ชื่อฟิลด์ | คำอธิบาย | ประเภท | 
|---|---|---|---|
| 1 | title | ชื่อแคมเปญ | สตริง | 
| 2 | description | คำอธิบายแคมเปญ | สตริง | 
| 3 | imgUrl | URL รูปภาพของไอคอนแคมเปญ | สตริง | 
| item | ข้อมูลรางวัล (‘key’ และ ‘value’ ประเภทข้อมูลด้วย JSON หรือ HashMap รูปแบบ. ’key’ มีความหลากหลายขึ้นอยู่กับการตั้งค่าแคมเปญ) | Map | |
| 4 | count | จำนวนการบรรลุแคมเปญ | จำนวนเต็ม | 
| 5 | limit | จำนวนสูงสุดของเป้าหมายแคมเปญ | จำนวนเต็ม | 
| 6 | goalCount | ข้อมูลการบรรลุผล (จำนวนการบรรลุผลทั้งหมดในทุกระดับ) | จำนวนเต็ม | 
| - | order | ลำดับที่แคมเปญกำลังเปิดเผย | จำนวนเต็ม | 
| - | campaignId | รหัสแคมเปญ (รหัสแคมเปญที่ไม่ซ้ำกันที่ออกโดย Hive เซิร์ฟเวอร์) | จำนวนเต็ม | 
การประกอบของวัตถุ AppInvitationCampaignStage¶
| หมายเลข | ชื่อฟิลด์ | คำอธิบาย | ประเภท | 
|---|---|---|---|
| 1 | title | ชื่อแคมเปญ | String | 
| 2 | description | คำอธิบายแคมเปญ | String | 
| 3 | imgUrl | URL รูปภาพของไอคอนแคมเปญ | String | 
| item | ข้อมูลรางวัล (‘key’ และ ‘value’ ประเภทข้อมูลในรูปแบบ JSON หรือ HashMap. ’key’ จะแตกต่างกันขึ้นอยู่กับการตั้งค่าแคมเปญ) | Map | |
| 4 | count | จำนวนที่บรรลุแคมเปญ | Integer | 
| 5 | limit | จำนวนสูงสุดของเป้าหมายแคมเปญ | Integer | 
| 6 | goalCount | ข้อมูลการบรรลุ (จำนวนที่บรรลุทุกระดับ) | Integer | 
| goalTotal | ข้อมูลการบรรลุ (จำนวนที่ต้องการในการบรรลุทุกระดับเพื่อรับรางวัล) | Integer | |
| - | order | ลำดับที่แคมเปญกำลังเปิดเผย | Integer | 
| - | campaignId | รหัสแคมเปญ (รหัสแคมเปญที่ไม่ซ้ำกันที่ออกโดย Hive Server) | Integer | 
ตรวจสอบข้อมูลผู้ส่ง UA¶
ข้อมูลของผู้ส่งการเข้าถึงผู้ใช้ ตอนนี้สามารถใช้ได้ใน API ของลูกค้าเช่นกัน ติดตั้งและเรียกใช้แอปโดยคลิกที่ลิงก์ UA ที่ผู้ใช้ใหม่ได้รับก่อน จากนั้นดำเนินการเริ่มต้น SDK และการเข้าสู่ระบบ ถัดไป ให้เรียกใช้วิธี setEngagementReady(true) ในคลาส Promotion หลังจากนั้น คุณสามารถยืนยันข้อมูลของผู้ส่ง UA ผ่านวัตถุ AppInvitationSenderInfo โดยเรียกใช้วิธี getAppInvitationSenderInfo
ต่อไปนี้คือตัวอย่างโค้ดเพื่อตรวจสอบข้อมูลผู้ส่ง UA
API Reference: Promotion .getAppInvitationSenderInfo
```c++
include "HivePromotion.h"¶
FHivePromotion::GetAppInvitationSenderInfo(FHivePromotionOnAppInvitationSenderInfoDelegate::CreateLambda(this { if (Result.IsSuccess()) { //Successful call and check inviter information 
 } }));
API Reference: Promotion ::getAppInvitationSenderInfo
#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    Promotion::getAppInvitationSenderInfo([this](ResultAPI result, AppInvitationSenderInfo senderInfo) {    
        if (!result.isSuccess()) {    
        return;    
        }    
        if (senderInfo != NULL && !senderInfo.vid.empty()) {    
        // Successful call and check inviter information    
        }    
});
API Reference: Promotion.getAppInvitationSenderInfo
import com.hive.Promotion    
    import com.hive.ResultAPI    
    Promotion.getAppInvitationSenderInfo(object : Promotion.AppInvitationSenderInfoListener {    
         override fun onAppInvitationSenderInfo(result: ResultAPI, appInvitationSenderInfo: Promotion.AppInvitationSenderInfo?) {    
             if (!result.isSuccess) {    
                 return    
             }    
             if (appInvitationSenderInfo != null && appInvitationSenderInfo.senderVid.isNotEmpty()) {    
                 // Successful call and check inviter information    
             }    
         }    
})
API Reference: Promotion .INSTANCE.getAppInvitationSenderInfo
import com.hive.Promotion;    
    import com.hive.ResultAPI;    
    Promotion.INSTANCE.getAppInvitationSenderInfo((result, appInvitationSenderInfo) -> {    
         if (!result.isSuccess()) {    
             return;    
         }    
         if (appInvitationSenderInfo != null && !(appInvitationSenderInfo.getSenderVid().isEmpty())) {    
             // Successful call and check inviter information    
         }    
});
API Reference: PromotionInterface .getAppInvitationSenderInfo
API Reference: HIVEPromotion getAppInvitationSenderInfo
#import <HIVEService/HIVEService-Swift.h>    
    [HIVEPromotion getAppInvitationSenderInfo: ^(HIVEResultAPI *result, HiveAppInvitationSenderInfo *senderInfo) {    
         if (![result isSuccess]) {    
             return;    
         }    
        if (senderInfo != nil && [senderInfo.vid length] > 0) {    
        // Successful call and check inviter information    
        }    
}];
การประกอบของวัตถุ AppInvitationSenderInfo¶
| หมายเลข | ชื่อฟิลด์ | คำอธิบาย | ประเภท | 
|---|---|---|---|
| 1 | vid | vid ของผู้ส่ง | สตริง | 
การแจ้งเตือนความสำเร็จ CPA¶
เมื่อเพื่อนที่ได้รับเชิญติดตั้งเกมหรือคุณบรรลุเป้าหมายของแคมเปญ เกมจะต้องแจ้งให้ Hive เซิร์ฟเวอร์ทราบเกี่ยวกับการบรรลุ CPA เพื่อที่จะได้รับรางวัล อย่าลืมทำงานต่อไปนี้ให้เสร็จก่อนที่จะมอบรางวัล
หากทั้งสองงานเสร็จสมบูรณ์ ให้เรียก CPA Achievement Notice API เมื่อ CPA ถูกบรรลุ





