การได้มาซึ่งผู้ใช้?¶
คุณสามารถดึงดูดผู้ใช้ใหม่ได้โดยให้ผู้ใช้แชร์ 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 ถูกบรรลุ