ฟังก์ชันขั้นสูงให้ส่วนที่กำหนดเอง; มุมมองที่กำหนดเองที่ช่วยให้คุณแสดงหน้า HTML ที่คุณต้องการ, กระดานกำหนดเองที่สามารถแสดงกระดานข่าวที่ปรับแต่งได้, แบนเนอร์จุดและมุมมองโดยตรงที่สามารถแสดงแบนเนอร์เฉพาะที่ลงทะเบียนใน Hive คอนโซล ณ จุดที่ต้องการ.
มุมมองที่กำหนดเอง¶
Custom View เป็นฟังก์ชันที่เปิดเผย URL ภายนอกหรือเนื้อหาที่ป้อนเข้าสำหรับการแสดงผลในเว็บด้วยปุ่มแยกในเกม มีการแสดงผลแบบกำหนดเองหนึ่งรายการและมากกว่านั้นในเกม ดังนั้นจึงสามารถใช้ในหลายวิธีภายใต้สถานการณ์ที่หลากหลาย
การลงทะเบียน¶
Hive คอนโซลมีเครื่องมือสำหรับสร้างและจัดเรียงมุมมองที่กำหนดเอง คุณสามารถลงทะเบียนลิงก์ภายนอกผ่าน Hive คอนโซลในลักษณะเดียวกับการตั้งค่ามุมมองที่กำหนดเองทั่วไป สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างและลงทะเบียนมุมมองที่กำหนดเอง โปรดดูที่ Hive คอนโซลโปรโมชั่น.
การสร้าง¶
ในการแสดง Custom View ที่ลงทะเบียนใน Hive Console หรือสำหรับหน้าเว็บภายนอก ให้เรียกใช้วิธีการ showCustomContents()
ของคลาส Promotion ตามคำอธิบายต่อไปนี้
- ตั้งค่า customType เป็นพารามิเตอร์
PromotionCustomType.VIEW
。 - ตั้งค่าพารามิเตอร์ contentsKey เป็น Custom View ID ใน Hive Console > Promotion > Campaign Settings > Custom View Tab > Management Name。
API Reference: hive.Promotion.showCustomContents
using hive;
PromotionCustomType customType = PromotionCustomType.VIEW;
String contentsKey = "12345";
Promotion.showCustomContents(customType, contentsKey, (ResultAPI result, PromotionEventType viewEventType) => {
if (!result.isSuccess()) {
return;
}
// call successful
switch (viewEventType) {
case OPEN:
// Open promotion view
break;
case CLOSE:
// Close promotion view
break;
}
});
#include "HivePromotion.h"
EHivePromotionCustomType PromotionCustomType = EHivePromotionCustomType::VIEW;
FString ContentsKey = TEXT("12345");
FHivePromotion::ShowCustomContents(PromotionCustomType, ContentsKey, FHivePromotionViewDelegate::CreateLambda([this](const FHiveResultAPI& Result, const EHivePromotionEventType& PromotionEventType) {
if (!Result.IsSuccess()) {
return;
}
// API เรียกสำเร็จ
switch (PromotionEventType) {
case EHivePromotionEventType::OPEN:
// โปรโมชันเปิด
break;
case EHivePromotionEventType::CLOSE:
// โปรโมชันปิด
break;
default:
// เกิดเหตุการณ์อื่น
break;
}
}));
API Reference: Promotion::showCustomContents
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;
PromotionCustomType customType = PromotionCustomType::VIEW;
string contentsKey = "12345";
Promotion::showCustomContents(customType, contentsKey, [=](ResultAPI result, PromotionEventType viewEventType) {
if (!result.isSuccess()) {
return;
}
// call successful
switch (viewEventType) {
case OPEN:
// Open promotion view
break;
case CLOSE:
// Close promotion view
break;
}
});
API Reference: Promotion.showCustomContents
import com.hive.Promotion
import com.hive.ResultAPI
val promotionCustomType = Promotion.PromotionCustomType.VIEW
val contentsKey = "12345"
Promotion.showCustomContents(promotionCustomType, contentsKey, object : Promotion.PromotionViewListener {
override fun onPromotionView(result: ResultAPI, promotionEventType: Promotion.PromotionViewResultType) {
if (!result.isSuccess) {
return
}
// call successful
when (promotionEventType) {
Promotion.PromotionViewResultType.OPENED -> {
// Open promotion view
}
Promotion.PromotionViewResultType.CLOSED -> {
// Close promotion view
}
}
}
})
API Reference: Promotion.INSTANCE.showCustomContents
import com.hive.Promotion;
import com.hive.ResultAPI;
Promotion.PromotionCustomType promotionCustomType = Promotion.PromotionCustomType.VIEW;
String contentsKey = "12345";
Promotion.INSTANCE.showCustomContents(promotionCustomType, contentsKey, (result, viewResultType) -> {
if (!result.isSuccess()) {
return;
}
// call successful
switch (viewResultType) {
case OPENED:
// Open promotion view
break;
case CLOSED:
// Close promotion view
break;
}
});
เอกสาร API: PromotionInterface.showCustomContents
import HIVEService
let type = PromotionCustomType.view
let contentsKey = "12345"
PromotionInterface.showCustomContents(type, contents: contentsKey) { result, viewResultType in
if !result.isSuccess() {
return
}
// call successful
switch viewResultType {
case .open:
// Open promotion view
case .close:
// Close promotion view
}
}
API Reference: HivePromotion:showCustomContents
#import <HIVEService/HIVEService-Swift.h>
HIVEPromotionCustomType type = HIVEPromotionCustomTypeVIEW;
NSString *contentsKey = @"12345";
[HIVEPromotion showCustomContents: type contents: contentsKey handler: ^(HIVEResultAPI *result, HIVEPromotionViewResultType viewResultType) {
if (![result isSuccess]) {
return;
}
// call successful
switch (viewResultType) {
case HIVEPromotionViewResultTypeOpen:
// Open promotion view
break;
case HIVEPromotionViewResultTypeClose:
// Close promotion view
break;
}
}];
กระดานที่กำหนดเอง¶
แตกต่างจากประกาศส่งเสริมทั่วไป, Custom Board สามารถแสดงรายการบอร์ดประกาศสำหรับวัตถุประสงค์ต่างๆ ภายในเกมได้.
การลงทะเบียน¶
สำหรับข้อมูลเพิ่มเติมในการสร้างและลงทะเบียน Custom Board โปรดดูที่ Hive คู่มือการส่งเสริมคอนโซล
การสร้าง¶
ในการแสดงบอร์ดที่กำหนดเอง ให้ตั้งค่าพารามิเตอร์ตามคำอธิบายด้านล่างนี้ จากนั้นเรียกใช้วิธี showCustomContents()
ของคลาส Promotion
- ตั้งค่า customType เป็นพารามิเตอร์
PromotionCustomType.BOARD
。 - ตั้งค่า contentsKey เป็นพารามิเตอร์ Board Key ใน Hive Console > Promotion > Custom Board。
ต่อไปนี้คือตัวอย่างโค้ดเพื่อแสดงบอร์ดที่กำหนดเอง.
API Reference: hive.Promotion.showCustomContents
using hive;
PromotionCustomType customType = PromotionCustomType.BOARD;
String contentsKey = "12345";
Promotion.showCustomContents(customType, contentsKey, (ResultAPI result, PromotionEventType viewEventType) => {
if (!result.isSuccess()) {
return;
}
// call successful
switch (viewEventType) {
case OPEN:
// Open promotion view
break;
case CLOSE:
// Close promotion view
break;
}
});
#include "HivePromotion.h"
EHivePromotionCustomType PromotionCustomType = EHivePromotionCustomType::BOARD;
FString ContentsKey = TEXT("12345");
FHivePromotion::ShowCustomContents(PromotionCustomType, ContentsKey, FHivePromotionViewDelegate::CreateLambda([this](const FHiveResultAPI& Result, const EHivePromotionEventType& PromotionEventType) {
if (!Result.IsSuccess()) {
return;
}
// API call successful
switch (PromotionEventType) {
case EHivePromotionEventType::OPEN:
// เปิดมุมมองโปรโมชั่น
break;
case EHivePromotionEventType::CLOSE:
// ปิดมุมมองโปรโมชั่น
break;
default:
// 기타 이벤트 발생
break;
}
}));
API Reference: Promotion::showCustomContents
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;
PromotionCustomType customType = PromotionCustomType::BOARD;
string contentsKey = "12345";
Promotion::showCustomContents(customType, contentsKey, [=](ResultAPI result, PromotionEventType viewEventType) {
if (!result.isSuccess()) {
return;
}
// call successfull
switch (viewEventType) {
case OPEN:
// Open promotion view
break;
case CLOSE:
// Close promotion view
break;
}
});
API Reference: Promotion.showCustomContents
import com.hive.Promotion
import com.hive.ResultAPI
val promotionCustomType = Promotion.PromotionCustomType.BOARD
val contentsKey = "12345"
Promotion.showCustomContents(promotionCustomType, contentsKey, object : Promotion.PromotionViewListener {
override fun onPromotionView(result: ResultAPI, promotionEventType: Promotion.PromotionViewResultType) {
if (!result.isSuccess) {
return
}
// call successful
when (promotionEventType) {
Promotion.PromotionViewResultType.OPENED -> {
// Open promotion view
}
Promotion.PromotionViewResultType.CLOSED -> {
// Close promotion view
}
}
}
})
API Reference: com.hive.Promotion.showCustomContents
import com.hive.Promotion;
import com.hive.ResultAPI;
Promotion.PromotionCustomType promotionCustomType = Promotion.PromotionCustomType.BOARD;
String content_key = "12345";
Promotion.INSTANCE.showCustomContents(promotionCustomType, content_key, (result, viewResultType) -> {
if (!result.isSuccess()) {
return;
}
// call successful
switch (viewResultType) {
case OPENED:
// Open promotion view
break;
case CLOSED:
// Close promotion view
break;
}
});
เอกสาร API: PromotionInterface.showCustomContents
import HIVEService
let type = PromotionCustomType.board
let contentsKey = "12345"
PromotionInterface.showCustomContents(type, contents: contentsKey) { result, viewResultType in
if !result.isSuccess() {
return
}
// call successful
switch viewResultType {
case .open:
// Open promotion view
case .close:
// Close promotion view
}
}
API Reference: HivePromotion:showCustomContents
#import <HIVEService/HIVEService-Swift.h>
HIVEPromotionCustomType type = HIVEPromotionCustomTypeBOARD;
NSString *contentsKey = @"12345";
[HIVEPromotion showCustomContents: type contents: contentsKey handler: ^(HIVEResultAPI *result, HIVEPromotionViewResultType viewResultType) {
if (![result isSuccess]) {
return;
}
// call successful
switch (viewResultType) {
case HIVEPromotionViewResultTypeOpen:
// Open promotion view
break;
case HIVEPromotionViewResultTypeClose:
// Close promotion view
break;
}
}];
แบนเนอร์จุด¶
Spot Banner ช่วยให้คุณสามารถแสดงแบนเนอร์แบบเต็มหน้าจอในสถานที่หรือเวลาที่ต้องการในเกม คุณสามารถลงทะเบียนแบนเนอร์จุดที่ Hive Console > Promotion > Campaign Settings > Spot Banner
ในการแสดงแบนเนอร์ Spot ให้ตั้งค่าพารามิเตอร์ตามคำอธิบายด้านล่างนี้ จากนั้นเรียกใช้วิธี showCustomContents()
ของคลาส Promotion
- ตั้งค่า customType เป็นพารามิเตอร์
PromotionCustomType.SPOT
。 - ตั้งค่าพารามิเตอร์ contentsKey เป็น Spot Banner ID ใน Hive Console > Promotion > Campaign Settings > Spot Banner Tab > Management Name ฟีเจอร์นี้ มีให้ใช้งานในเกมที่มี SDK v4。
ต่อไปนี้คือตัวอย่างโค้ดในการสร้าง Spot Banner.
API Reference: hive.Promotion.showCustomContents
using hive;
PromotionCustomType customType = PromotionCustomType.SPOT;
String contentsKey = "12345";
Promotion.showCustomContents(customType, contentsKey, (ResultAPI result, PromotionEventType viewEventType) => {
if (!result.isSuccess()) {
return;
}
// call successful
switch (viewEventType) {
case OPEN:
// Open promotion view
break;
case CLOSE:
// Close promotion view
break;
}
});
#include "HivePromotion.h"
EHivePromotionCustomType PromotionCustomType = EHivePromotionCustomType::SPOT;
FString ContentsKey = TEXT("12345");
FHivePromotion::ShowCustomContents(PromotionCustomType, ContentsKey, FHivePromotionViewDelegate::CreateLambda([this](const FHiveResultAPI& Result, const EHivePromotionEventType& PromotionEventType) {
if (!Result.IsSuccess()) {
return;
}
// การเรียก API สำเร็จ
switch (PromotionEventType) {
case EHivePromotionEventType::OPEN:
// เปิดมุมมองโปรโมชั่น
case EHivePromotionEventType::CLOSE:
// ปิดมุมมองโปรโมชั่น
break;
default:
// ปิดมุมมองโปรโมชั่น
break;
}
}));
API Reference: Promotion::showCustomContents
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;
PromotionCustomType customType = PromotionCustomType::SPOT;
string contentsKey = "12345";
Promotion::showCustomContents(customType, contentsKey, [=](ResultAPI result, PromotionEventType viewEventType) {
if (!result.isSuccess()) {
return;
}
// call successful
switch (viewEventType) {
case OPEN:
// Open promotion view
break;
case CLOSE:
// Close promotion view
break;
}
});
API Reference: Promotion.showCustomContents
import com.hive.Promotion
import com.hive.ResultAPI
val promotionCustomType = Promotion.PromotionCustomType.SPOT
val contentsKey = "12345"
Promotion.showCustomContents(promotionCustomType, contentsKey, object : Promotion.PromotionViewListener {
override fun onPromotionView(result: ResultAPI, promotionEventType: Promotion.PromotionViewResultType) {
if (!result.isSuccess) {
return
}
// call successful
when (promotionEventType) {
Promotion.PromotionViewResultType.OPENED -> {
// Open promotion view
}
Promotion.PromotionViewResultType.CLOSED -> {
// Close promotion view
}
}
}
})
API Reference: com.hive.Promotion.showCustomContents
import com.hive.Promotion;
import com.hive.ResultAPI;
Promotion.PromotionCustomType promotionCustomType = Promotion.PromotionCustomType.SPOT;
String content_key = "12345";
Promotion.INSTANCE.showCustomContents(promotionCustomType, content_key, (result, viewResultType) -> {
if (!result.isSuccess()) {
return;
}
// call successful
switch (viewResultType) {
case OPENED:
// Open promotion view
break;
case CLOSED:
// Close promotion view
break;
}
});
API Reference: PromotionInterface.showCustomContents
import HIVEService
let type = PromotionCustomType.spot
let contentsKey = "12345"
PromotionInterface.showCustomContents(type, contents: contentsKey) { result, viewResultType in
if !result.isSuccess() {
return
}
// call successful
switch viewResultType {
case .open:
// Open promotion view
case .close:
// Close promotion view
}
}
API Reference: HivePromotion:showCustomContents
#import <HIVEService/HIVEService-Swift.h>
HIVEPromotionCustomType type = HIVEPromotionCustomTypeSPOT;
NSString *contentsKey = @"12345";
[HIVEPromotion showCustomContents: type contents: contentsKey handler: ^(HIVEResultAPI *result, HIVEPromotionViewResultType viewResultType) {
if (![result isSuccess]) {
return;
}
// call successful
switch (viewResultType) {
case HIVEPromotionViewResultTypeOpen:
// Open promotion view
break;
case HIVEPromotionViewResultTypeClose:
// Close promotion view
break;
}
}];
[su_divider text="⇡ ไปที่ด้านบน" divider_color="#65737e" link_color="#65737e" size="1"]
การดูโดยตรง¶
Direct View เป็นฟังก์ชันที่เรียกหมายเลขแคมเปญที่ลงทะเบียนใน Hive Console จากเกมและแสดงผลโดยตรง เมื่อคุณเรียก ID แคมเปญที่ลงทะเบียนใน Hive Console ในเกม เนื้อหาที่เกี่ยวข้องจะแสดงเป็นกรอบหรือเต็มหน้าจอ ตั้งแต่ Hive SDK 4.16.0 คุณสามารถแสดงผลในแบบเต็มหน้าจอหรือแบบกรอบขึ้นอยู่กับประเภทการแสดงผลที่ตั้งค่าใน Promotion > Campaign Settings ใน Hive Console.
ในการแสดงผล Direct View ให้ตั้งค่าพารามิเตอร์ตามคำอธิบายด้านล่างนี้ จากนั้นเรียกใช้วิธีการ showCustomContents()
ในคลาส Promotion
- ตั้งค่า customType เป็นพารามิเตอร์
PromotionCustomType.DIRECT
. ตั้งค่าพารามิเตอร์ contentsKey เป็น หมายเลขแคมเปญ ใน Hive Console > Promotion > Campaign Settings > Normal Banner Tab*.
ต่อไปนี้คือตัวอย่างโค้ดในการสร้าง Direct View.
API Reference: hive.Promotion.showCustomContents
using hive;
PromotionCustomType customType = PromotionCustomType.DIRECT;
String contentsKey = "12345";
Promotion.showCustomContents(customType, contentsKey, (ResultAPI result, PromotionEventType viewEventType) => {
if (!result.isSuccess()) {
return;
}
// call success
switch (viewEventType) {
case OPEN:
// Open promotion view
break;
case CLOSE:
// Close promotion view
break;
}
});
#include "HivePromotion.h"
EHivePromotionCustomType PromotionCustomType = EHivePromotionCustomType::DIRECT;
FString ContentsKey = TEXT("12345");
FHivePromotion::ShowCustomContents(PromotionCustomType, ContentsKey, FHivePromotionViewDelegate::CreateLambda([this](const FHiveResultAPI& Result, const EHivePromotionEventType& PromotionEventType) {
if (!Result.IsSuccess()) {
return;
}
// API call success
switch (PromotionEventType) {
case EHivePromotionEventType::OPEN:
// เปิดมุมมองโปรโมชั่น
break;
case EHivePromotionEventType::CLOSE:
// ปิดมุมมองโปรโมชั่น
break;
default:
// 기타 이벤트 발생
break;
}
}));
API Reference: Promotion::showCustomContents
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;
PromotionCustomType customType = PromotionCustomType::DIRECT;
string contentsKey = "12345";
Promotion::showCustomContents(customType, contentsKey, [=](ResultAPI result, PromotionEventType viewEventType) {
if (!result.isSuccess()) {
return;
}
// call successful
switch (viewEventType) {
case OPEN:
// Open promotion view
break;
case CLOSE:
// Close promotion view
break;
}
});
API Reference: Promotion.showCustomContents
import com.hive.Promotion
import com.hive.ResultAPI
val promotionCustomType = Promotion.PromotionCustomType.DIRECT
val contentsKey = "12345"
Promotion.showCustomContents(promotionCustomType, contentsKey, object : Promotion.PromotionViewListener {
override fun onPromotionView(result: ResultAPI, promotionEventType: Promotion.PromotionViewResultType) {
if (!result.isSuccess) {
return
}
// call successful
when (promotionEventType) {
Promotion.PromotionViewResultType.OPENED -> {
// Open promotion view
}
Promotion.PromotionViewResultType.CLOSED -> {
// Close promotion view
}
}
}
})
API Reference: com.hive.Promotion.showCustomContents
import com.hive.Promotion;
import com.hive.ResultAPI;
Promotion.PromotionCustomType promotionCustomType = Promotion.PromotionCustomType.DIRECT;
String content_key = "12345";
Promotion.INSTANCE.showCustomContents(promotionCustomType, content_key, (result, viewResultType) -> {
if (!result.isSuccess()) {
return;
}
// call successful
switch (viewResultType) {
case OPENED:
// Open promotion view
break;
case CLOSED:
// Close promotion view
break;
}
});
API Reference: PromotionInterface.showCustomContents
import HIVEService
let type = PromotionCustomType.direct
let contentsKey = "12345"
PromotionInterface.showCustomContents(type, contents : contentsKey) {
result,
viewResultType in
if !result.isSuccess() {
return
}
// call successful
switch viewResultType {
case.open:
// Open promotion view
case.close:
// Close promotion view
}
}
API Reference: HivePromotion:showCustomContents
#import <HIVEService /HIVEService-Swift.h>
HIVEPromotionCustomType type = HIVEPromotionCustomTypeDIRECT;
NSString *contentsKey = @"12345";
[HIVEPromotion showCustomContents: type contents: contentsKey handler: ^(HIVEResultAPI *result,
HIVEPromotionViewResultType viewResultType) {
if (![result isSuccess]) {
return;
}
// call successful
switch (viewResultType) {
case HIVEPromotionViewResultTypeOpen:
// Open promotion view
break;
case HIVEPromotionViewResultTypeClose:
// Close promotion view
break;
}
}];
สร้างแบนเนอร์ของคุณเอง¶
SDK ของ Hive มีการเปิดเผยแคมเปญที่ต้องการเป็นแบนเนอร์ผ่านวิธีการ showPromotion
อย่างไรก็ตาม คุณอาจต้องการเปิดเผยแบนเนอร์ (แบนเนอร์เลื่อน) ที่ไม่ได้จัดเตรียมโดย SDK ของ Hive หรือคุณอาจต้องการปรับแต่งและเปิดเผยแบนเนอร์ที่จัดเตรียมโดย SDK ของ Hive ตามที่คุณต้องการ ในการ implement แบนเนอร์ของคุณเอง คุณต้องทำตามขั้นตอนด้านล่าง
- ลงทะเบียนข้อมูล (ภาพแบนเนอร์ ลิงก์ ฯลฯ) ของแบนเนอร์ที่จะนำไปใช้และแสดงใน Hive Console.
- เรียกใช้ getBannerInfo() ของ Hive SDK เพื่อรับข้อมูลที่จำเป็นในการนำแบนเนอร์ไปใช้จาก Hive Server.
- ตามข้อมูลที่ได้รับ ให้ดำเนินการแบนเนอร์และแสดงในเกม.
Note
SDK ของ Hive ให้ ข้อมูลที่จำเป็นในการติดตั้งแบนเนอร์ ซึ่งช่วยให้คุณปรับแต่งแบนเนอร์ทั้งหมดและเปิดเผยโดยตรงในเกม
แบนเนอร์เลื่อน¶
แบนเนอร์เลื่อนคือแบนเนอร์ที่มีเนื้อหาที่ไหลไปมา เพื่อเปิดเผยแบนเนอร์เลื่อน สตูดิโอเกมต้องดำเนินการและเปิดเผยด้วยตนเอง
รับข้อมูลแบนเนอร์¶
getBannerInfo
เป็นฟังก์ชันที่ใช้ในการดึงข้อมูลที่จำเป็นสำหรับการแสดงแบนเนอร์ในมาตรฐานที่ต้องการเมื่อสตูดิโอเกมต้องการที่จะนำแบนเนอร์ไปใช้โดยตรง เมื่อ API นี้ดึงข้อมูลสำหรับการตั้งค่าแบนเนอร์จาก Hive Server เกมของคุณสามารถใช้ข้อมูลนี้เพื่อแสดงแบนเนอร์ได้ตามที่คุณต้องการ ในการเรียกใช้ API นี้, ต้องมีการเริ่มต้น Authentication v1 หรือ Authentication v4 หากไม่ได้เริ่มต้น อาจเกิดปัญหาในการรับข้อมูล
Note
คุณสามารถแปลงค่า pid (จำนวนเต็ม) ที่ได้รับเมื่อคลิกแบนเนอร์เป็น contentsKey (สตริง) และส่งเป็นอาร์กิวเมนต์ไปยังคลาส Promotion เมธอด showCustomContents()
เพื่อแสดงในรูปแบบ direct view
ตัวอย่างการขอ API¶
API Reference: hive .Promotion.getBannerInfo
using hive;
/*
ALL,
EVENT,
NOTICE,
CROSS (Cross Banner)
*/
PromotionCampaignType campaignType = PromotionCampaignType.EVENT;
/*
SMALL (band banner),
GREAT (Great Banner),
ROLLING (rolling banner)
*/
PromotionBannerType bannerType = PromotionBannerType.ROLLING;
Promotion.getBannerInfo(campaignType, bannerType, (ResultAPI result, List bannerInfoList) => {
if (result.isSuccess()) {
// call successful
}
});
// Banner type and campaign type can also be called through strings instead of enumeration.
/*
"all" (all),
"event" (event),
"notice" (notice),
"cross" (Cross Great Banner)
*/
String campaignType = "event";
/*
"small" (band banner),
"great" (great banner),
"rolling" (rolling banner)
*/
String bannerType = "rolling";
Promotion.getBannerInfoString(campaignType, bannerType, (ResultAPI result, List bannerInfoList) => {
if (result.isSuccess()) {
// call successful
}
});
```c++
include "HivePromotion.h"¶
/*
"ทั้งหมด" (all),
"เหตุการณ์" (event),
"ประกาศ" (notice),
"ข้าม" (Cross Great Banner)
*/
EHivePromotionCampaignType CampaignType = EHivePromotionCampaignType::EVENT;
/*
"เล็ก" (แบนเนอร์ขนาดเล็ก),
"ใหญ่" (แบนเนอร์ขนาดใหญ่),
"เลื่อน" (แบนเนอร์เลื่อน)
*/
EHivePromotionBannerType BannerType = EHivePromotionBannerType::ROLLING;
FHivePromotion::GetBannerInfo(CampaignType, BannerType, FHivePromotionOnBannerInfoDelegate::CreateLambda(this { if (Result.IsSuccess()) { // call success } }));
// ประเภทแบนเนอร์และประเภทแคมเปญสามารถเรียกผ่านสตริงแทนการนับได้เช่นกัน。
/*
"ทั้งหมด" (all),
"เหตุการณ์" (event),
"ประกาศ" (notice),
"ข้าม" (Cross Great Banner)
/
FString CampaignType = TEXT("event"); /
"เล็ก" (band banner),
"ใหญ่" (great banner),
"เลื่อน" (rolling banner)
*/ FString BannerType = TEXT("rolling");
FHivePromotion::GetBannerInfoString(CampaignType, BannerType, FHivePromotionOnBannerInfoDelegate::CreateLambda([this](const FHiveResultAPI& Result, const TArray<FHivePromotionBannerInfo>& PromotionBannerInfoList) {
if (Result.IsSuccess()) {
// API call success
}
}));
```
API Reference: Promotion ::getBannerInfo
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;
/*
ALL,
EVENT,
NOTICE,
CROSS (Cross Banner)
*/
PromotionCampaignType campaignType = PromotionCampaignType::EVENT;
/*
SMALL (band banner),
GREAT (Great Banner),
ROLLING (rolling banner)
*/
PromotionBannerType bannerType = PromotionBannerType::ROLLING;
Promotion::getBannerInfo(campaignType, bannerType, [=](ResultAPI result, vector bannerInfos) {
if (result.isSuccess()) {
// call successful
}
});
// ประเภทแบนเนอร์และประเภทแคมเปญสามารถเรียกผ่านสตริงแทนการใช้การระบุได้
/*
"all" (ทั้งหมด),
"event" (เหตุการณ์),
"notice" (ประกาศ),
"cross" (แบนเนอร์ข้ามใหญ่)
*/
string campaignType = "event";
/*
"small" (แบนเนอร์แบนด์),
"great" (แบนเนอร์ใหญ่),
"rolling" (แบนเนอร์เลื่อน)
*/
string bannerType = "rolling";
Promotion::getBannerInfoString(campaignType, bannerType, [=](ResultAPI result, vector bannerInfos) {
if (result.isSuccess()) {
// call successful
}
});
API Reference: Promotion.getBannerInfo
import com.hive.Promotion
import com.hive.ResultAPI
/*
ALL,
EVENT,
NOTICE,
CROSS (Cross Banner)
*/
val campaignType = Promotion.PromotionCampaignType.EVENT
/*
SMALL (band banner),
GREAT (Great Banner),
ROLLING (rolling banner)
*/
val bannerType = Promotion
.PromotionBannerType
.ROLLING
Promotion
.getBannerInfo(
campaignType,
bannerType,
object : Promotion.PromotionBannerInfoListener {
override fun onReceiveInfo(
result : ResultAPI,
bannerInfoList : ArrayList <Promotion.PromotionBanner>?
) {
if (result.isSuccess) {
// call successful
}
}
}
)
// Banner type and campaign type can also be called through strings instead of
// enumeration.
/*
"all" (all),
"event" (event),
"notice" (notice),
"cross" (Cross Great Banner)
*/
val campaignType = "event"
/*
"small" (band banner),
"great" (great banner),
"rolling" (rolling banner)
*/
val bannerType = "rolling"
Promotion.getBannerInfoString(
campaignType,
bannerType,
object : Promotion.PromotionBannerInfoListener {
override fun onReceiveInfo(
result : ResultAPI,
bannerInfoList : ArrayList <Promotion.PromotionBanner>?
) {
if (result.isSuccess) {
// call successful
}
}
}
)
API Reference: Promotion .INSTANCE.getBannerInfo
import com.hive.Promotion;
import com.hive.ResultAPI;
/*
ALL,
EVENT,
NOTICE,
CROSS (Cross Banner)
*/
Promotion.PromotionCampaignType campaignType = Promotion.PromotionCampaignType.EVENT;
/*
SMALL (band banner),
GREAT (Great Banner),
ROLLING (rolling banner)
*/
Promotion.PromotionBannerType bannerType = Promotion.PromotionBannerType.ROLLING;
Promotion.INSTANCE.getBannerInfo(campaignType, bannerType, (result, bannerInfoList) -> {
if(result.isSuccess()) {
// call successful
}
});
// Banner type and campaign type can also be called through strings instead of enumeration.
/*
"all" (all),
"event" (event),
"notice" (notice),
"cross" (Cross Great Banner)
*/
String campaignType = "event";
/*
"small" (band banner),
"great" (great banner),
"rolling" (rolling banner)
*/
String bannerType = "rolling";
Promotion.INSTANCE.getBannerInfo(campaignType, bannerType, (result, bannerInfoList) -> {
if(result.isSuccess()) {
// call successful
}
});
API Reference: PromotionInterface.getBannerInfo
import HIVEService
/*
all (ทั้งหมด),
event(เหตุการณ์),
notice,
cross (แบนเนอร์ข้าม)
*/
let campaignType = PromotionCampaignType.event
/*
small (แบนเนอร์ขนาดเล็ก),
great(แบนเนอร์ขนาดใหญ่),
rolling(แบนเนอร์เลื่อน)
*/
let bannerType = PromotionBannerType.rolling
PromotionInterface.getBannerInfo(campaignType, bannerType: bannerType) { result, bannerInfoList in {
if result.isSuccess() {
// call successful
}
}
// ประเภทแบนเนอร์และประเภทแคมเปญสามารถเรียกผ่านสตริงแทนการระบุได้
/*
"ทั้งหมด" (all),
"เหตุการณ์" (event),
"ประกาศ" (notice),
"ข้าม" (Cross Great Banner)
*/
let campaignType = "event"
/*
"เล็ก" (band banner),
"ใหญ่" (great banner),
"เลื่อน" (rolling banner)
*/
let bannerType = "rolling"
PromotionInterface.getBannerInfoString(campaignType, bannerString: bannerType) { result, bannerInfoList in {
if result.isSuccess() {
// API call successful
}
}
API Reference: HIVEPromotion getBannerInfo
#import <HIVEService/HIVEService-Swift.h>
/*
HIVEPromotionCampaignTypeAll (ทั้งหมด);
HIVEPromotionCampaignTypeEvent(event);
HIVEPromotionCampaignTypeNotice(ประกาศ);
HIVEPromotionCampaignTypeCross (แบนเนอร์ข้าม)
*/
HIVEPromotionCampaignType campaignType = HIVEPromotionCampaignTypeEvent;
/*
HIVEPromotionBannerTypeSmall (แบนเนอร์แบนด์),
HIVEPromotionBannerTypeGreat(แบนเนอร์ใหญ่),
HIVEPromotionBannerTypeRolling
*/
HIVEPromotionBannerType bannerType = kHIVEPromotionBannerTypeRolling;
[HIVEPromotion getBannerInfo: campaignType bannerType: bannerType handler: ^(HIVEResultAPI *result, NSArray *bannerInfos) {
if ([result isSuccess]) {
// เรียกสำเร็จแล้ว
}
}];
// ประเภทแบนเนอร์และประเภทแคมเปญสามารถเรียกผ่านสตริงแทนการระบุได้
/*
"ทั้งหมด" (all),
"เหตุการณ์" (event),
"ประกาศ" (notice),
"ข้าม" (Cross Great Banner)
*/
NSString *campaignType = @"event";
/*
"เล็ก" (band banner),
"ใหญ่" (great banner),
"เลื่อน" (rolling banner)
*/
NSString *bannerType = @"rolling";
[HIVEPromotion getBannerInfoString: campaignType, bannerString: bannerType, handler: ^(HIVEResultAPI *result, NSArray<HIVEPromotionBanner *> *bannerInfos) {
if ([result isSuccess]) {
// call successful
}
}];
API response: PromotionBannerInfo¶
ในคำตอบของ API ข้อมูลแบนเนอร์ที่จำเป็นในการนำไปใช้แบนเนอร์อยู่ในวัตถุ PromotionBannerInfo (อาร์เรย์) สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ตารางด้านล่าง
ชื่อฟิลด์ | ประเภท | คำอธิบาย |
---|---|---|
pid | จำนวนเต็ม | รหัสแคมเปญส่งเสริมการขาย |
imageUrl | สตริง | URL ของภาพแบนเนอร์แคมเปญ |
linkUrl | สตริง | URL ที่เปิดเมื่อผู้ใช้คลิกแบนเนอร์แคมเปญ |
displayStartDate | สตริง | เวลาเริ่มต้นของแคมเปญ |
displayEndDate | สตริง | เวลาสิ้นสุดของแคมเปญ |
utcStartDate | จำนวนเต็ม | เวลาเริ่มต้นของแคมเปญ (Unix timestamp) |
utcEndDate | จำนวนเต็ม | เวลาสิ้นสุดของแคมเปญ (Unix timestamp) |
typeLink | สตริง | ประเภทการเปิดหน้าต่างเมื่อผู้ใช้คลิกแบนเนอร์แคมเปญ เลือกเมื่อทำการลงทะเบียนแคมเปญ * webview: เปิดลิงก์ภายใน * webbrowser: เปิดลิงก์ภายนอก * market: เปิดหน้าตลาด (App Store) * notice: เปิดหน้าประกาศ * text: เปิดประกาศข้อความส่งเสริมการขาย * none: อยู่บนหน้า |
typeBanner | สตริง | ประเภทของแบนเนอร์แคมเปญ * great: แบนเนอร์เต็มหน้าจอ * small: แบนเนอร์ปกติ * rolling: แบนเนอร์เลื่อน |
typeCampaign | สตริง | ประเภทแคมเปญของการส่งเสริม * all: ทั้งหมด * event: เหตุการณ์ * notice: ประกาศ * cross: แบนเนอร์เต็มหน้าจอข้าม |
interworkData | สตริง | ข้อมูล JSON ที่มี API และพารามิเตอร์เพื่อพาผู้ใช้ไปยังตำแหน่งเฉพาะในเกม ข้อมูลนี้อยู่ในรูปแบบสตริง ตัวอย่างเช่น หากผู้ใช้คลิกแบนเนอร์เลื่อนเหตุการณ์ที่กำหนดเอง คุณสามารถนำผู้ใช้นี้ไปยังหน้าจอการซื้อสำหรับรายการเหตุการณ์เฉพาะ |
การค้นหาข้อมูลแคมเปญ¶
Hive SDK มีฟังก์ชันในการค้นหาข้อมูลแคมเปญที่ลงทะเบียนไว้ใน Hive Console ฟังก์ชันนี้มีประโยชน์เมื่อคุณแสดงเนื้อหาของแคมเปญที่ลงทะเบียนไว้ใน Hive Console ในเกมโดยตรง แทนที่จะใช้ Promotion View ประเภทแคมเปญที่สามารถค้นหาได้ ได้แก่ Custom View, Custom Board, Spot Banner และ Direct View เมธอด showCustomContents()
ของคลาส Promotion สามารถอธิบายประเภททั้งสี่นี้ได้
แบบฟอร์มข้อมูล¶
Hive SDK คืนข้อมูลโปรโมชั่นด้วยอาร์เรย์ของวัตถุ PromotionViewInfo
เนื่องจากแบนเนอร์จุดมีให้รวมแบนเนอร์หลายรายการเช่นแบนเนอร์เต็มหน้าจอ แม้ว่ามุมมองที่กำหนดเอง, กระดานที่กำหนดเอง และมุมมองโดยตรงจะรวมเป็นรูปแบบเดียว Hive จะคืนข้อมูลของแคมเปญทั้งหมดในรูปแบบอาร์เรย์
ตารางด้านล่างเป็นการประกอบของวัตถุ PromotionViewInfo
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
url | สตริง | URL ของหน้าเพจที่จะโหลดโดย WebView |
postString | สตริง | สตริง POST ที่จำเป็นสำหรับการโหลด WebView |
การค้นหาข้อมูล¶
ในการค้นหาข้อมูลแคมเปญที่ลงทะเบียนใน Hive Console ให้ตั้งค่า ID ที่ไม่ซ้ำกันของโปรโมชั่นเป็นพารามิเตอร์แรกในการเรียกใช้วิธีการ getViewInfo()
ของคลาส Promotion จากนั้นส่งคืนวิธีการ callback ที่รับข้อมูลแคมเปญ ด้านล่างนี้เป็นตัวอย่างโค้ดในการขอแคมเปญที่มี ID ที่ไม่ซ้ำกัน 310000 ตัวอย่างสำหรับ Android และ iOS จะมีโค้ดที่แสดงข้อมูลจาก Hive SDK โดยตรงบน WebView
API Reference: hive.Promotion.getViewInfo
#include "HivePromotion.h"
EHivePromotionCustomType PromotionCustomType = EHivePromotionCustomType::VIEW;
FString ContentsKey = TEXT("123456");
FHivePromotion::GetViewInfo(PromotionCustomType,
ContentsKey,
FHivePromotionOnViewInfoDelegate::CreateLambda([this](const FHiveResultAPI& Result, const TArray<FHivePromotionViewInfo>& PromotionViewInfoList) {
if (Result.IsSuccess()) {
// API call success
}
}));
API Reference: Promotion::getViewInfo
#include <HIVE_SDK_Plugin/HIVE_CPP.h> using namespace std;
using namespace hive;
PromotionCustomType customType = PromotionCustomType::VIEW;
string contentsKey = "123456";
Promotion::getViewInfo(
customType,
contentsKey,
[=](ResultAPI result, vector promotionViewInfo) {
if (result.isSuccess()) {
// call successful
}
}
);
API Reference: Promotion.getViewInfo
import com.hive.Promotion
import com.hive.ResultAPI
val customType = Promotion.PromotionCustomType.VIEW
val contentsKey = "123456"
Promotion.getViewInfo(customType, contentsKey, object : Promotion.PromotionViewInfoListener {
override fun onReceiveInfo(result: ResultAPI, viewInfo: ArrayList<Promotion.PromotionViewInfo>?) {
if (result.isSuccess) {
// call successful
}
}
})
API Reference: com.hive.Promotion.getViewInfo
import com.hive.Promotion;
import com.hive.ResultAPI;
Promotion.PromotionCustomType promotionCustomType = Promotion.PromotionCustomType.VIEW;
String contentsKey = "123456";
Promotion.INSTANCE.getViewInfo(promotionCustomType, contentsKey, (result, viewInfo) -> {
if (result.isSuccess()) {
// call successful
}
});
API Reference: PromotionInterface.getViewInfo
API Reference: HIVEPromotion:getViewInfo
#import <HIVEService/HIVEService-Swift.h>
HIVEPromotionCustomType promotionType = HIVEPromotionCustomTypeVIEW;
NSString *contentsKey = @"123456";
[HIVEPromotion getViewInfo: promotionType contents: contentsKey handler: ^(HIVEResultAPI *result, NSArray<HIVEPromotionViewInfo *> *infos) {
if ([result isSuccess]) {
// call successful
}
}];
ส่งข้อมูลเพิ่มเติมไปยังเซิร์ฟเวอร์โปรโมชั่น¶
ข้อมูลเพิ่มเติมที่นี่คือข้อมูลที่กำหนดโดยบริษัทเกมของคุณ บริษัทเกมสามารถส่งข้อมูลเพิ่มเติมไปยังเซิร์ฟเวอร์โปรโมชันและใช้มันสำหรับบริการต่างๆ ตามความร่วมมือระหว่างบริษัทเกมและแพลตฟอร์ม Com2uS ตัวอย่างเช่น คุณสามารถกำหนดข้อมูลระดับตัวละครของผู้เล่นเกมของคุณใน additionalInfo
ดังนี้
หลังจากส่ง additionalInfo
ข้างต้นไปยังเซิร์ฟเวอร์โปรโมชั่นโดยใช้วิธีการ setAdditionalInfo
โปรดทำงานร่วมกับ Com2uS Platform เกี่ยวกับรายละเอียดการใช้งาน ตัวอย่างเช่น เมื่อเปิดเผยหน้ากิจกรรมเฉพาะ (การดูโดยตรง, การดูแบบกำหนดเอง เป็นต้น) แบนเนอร์กิจกรรมที่มีกรอบสีทองสามารถแสดงให้ผู้ใช้ที่มีตัวละครเกมที่มีระดับสูงกว่า 50 คุณยังสามารถใช้มันเป็นฟังก์ชันในการเพิ่มภาพกล่องของขวัญลงในแบนเนอร์ข่าวโดยการป้อนหมายเลขแคมเปญใน additionalInfo
。
ต่อไปนี้คือตัวอย่างโค้ดที่ส่งผ่าน additionalInfo
API Reference: hive.Promotion.setAdditionalInfo
using hive;
// Escape string processing according to the JSON Object version in the Unity package (must include backslash)
//Under Hive SDK 4.16.2
string additionalInfo = "{\\\"myData\\\":\\\"123\\\"}";
// Hive SDK 4.16.2 or later
string additionalInfo = "{\"myData\":\"123\"};
Promotion.setAdditionalInfo(additionalInfo)
API Reference: Promotion::setAdditionalInfo
API Reference: Promotion.setAdditionalInfo
API Reference: Promotion .INSTANCE.setAdditionalInfo
API Reference: PromotionInterface .setAdditionalInfo
API Reference: HIVEPromotion::setAdditionalInfo
ข้อมูลเพิ่มเติมสามารถใช้สำหรับคุณสมบัติการส่งเสริมการขายทั้งหมดของ Hive SDK ดังนั้น ก่อนที่จะดำเนินการคุณสมบัติการส่งเสริมการขายใด ๆ เราขอแนะนำให้คุณเรียกใช้ setAdditionalInfo
ก่อนหลังจากกำหนดข้อมูลเพิ่มเติมและวิธีการที่จะใช้
การแสดงเหตุการณ์โดยไม่มีแถบชื่อเรื่อง¶
คุณสามารถลบ Hive แถบชื่อเรื่องในหน้ากิจกรรมที่เชื่อมโยงจากแบนเนอร์ระหว่างหน้าจอ, แบนเนอร์จุด, หน้าข่าว, หรือการดูโดยตรง เพื่อแสดงหน้ากิจกรรมโดยไม่มี Hive แถบชื่อเรื่อง ให้เรียกใช้วิธี setAdditionalInfo
ของคลาส Promotion ก่อนที่จะเรียกใช้วิธี showCustomContents()
เพื่อกำหนดฟิลด์หัวเรื่องเป็น Off
คุณสามารถลบ Hive แถบชื่อเรื่องจากหน้าที่เปิดเผยได้โดยการจัดระเบียบ additionalInfo และส่งไปยัง Hive เซิร์ฟเวอร์ ซึ่งอธิบายไว้ด้านล่าง
ต่อไปนี้คือตัวอย่างโค้ดเพื่อปล่อยแถบชื่อเรื่อง
API Reference: hive.Promotion.setAdditionalInfo
API Reference: Promotion::setAdditionalInfo
API Reference: Promotion.setAdditionalInfo
API Reference: Promotion.INSTANCE.setAdditionalInfo
API Reference: PromotionInterface .setAdditionalInfo
API Reference: HIVEPromotion setAdditionalInfo
การเล่นคลิปวิดีโอบนโปรโมชั่น¶
แสดงคลิปวิดีโอบนการโปรโมทเกมของคุณด้วย Hive SDK v4.7.0 ขึ้นไป หากผู้ใช้คลิกที่ลิงก์เล่น วิดีโอแบบเต็มหน้าจอจะแสดงขึ้น เพื่อทำเช่นนี้ ให้แน่ใจว่าคุณได้เขียนฟังก์ชันที่ลดเสียงก่อนเล่นวิดีโอ และเพิ่มเสียงหลังจากเล่นเสร็จ
- สถานะก่อนและหลังการแสดงคลิปวิดีโอจะถูกส่งไปยังตัวจัดการของ API ที่ดำเนินการส่งเสริมการขาย StartPlayback, FinishPlayback จะถูกส่งไปยัง
PromotionViewResultType
; และ kPromotionStartPlayback, kPromotionFinishPlayback จะถูกส่งไปยังส่วนของรหัส API ผลลัพธ์- WebKit.framework และ libz.tbd เป็นสิ่งใหม่ที่เพิ่มเข้ามาในเฟรมเวิร์กที่เพิ่มเข้ามาใน iOS Xcode.
ต่อไปนี้คือตัวอย่างโค้ดในการควบคุมระดับเสียงเกมเพื่อเล่นคลิปวิดีโอบนหน้าโปรโมชัน
เอกสารอ้างอิง API: onPromotionView
using hive;
public void onPromotionViewCB(
ResultAPI result,
PromotionEventType viewEventType
) {
if (!result.isSuccess()) {
return;
}
// call successful
switch (viewEventType) {
case OPEN:
// Open promotion view
break;
case CLOSE:
// Close promotion view
break;
case START_PLAYBACK:
// TODO: Mute game sound
break;
case FINISH_PLAYBACK:
// TODO: Resume game sound
break;
}
}
auto PromotionViewDelegate = FHivePromotionViewDelegate::CreateLambda([this](const FHiveResultAPI& Result, const EHivePromotionEventType& PromotionEventType) {
if (!Result.IsSuccess()) {
return;
}
// การเรียก API สำเร็จ
switch (PromotionEventType) {
case EHivePromotionEventType::OPEN:
// เปิดมุมมองโปรโมชั่น
break;
case EHivePromotionEventType::CLOSE:
// ปิดมุมมองโปรโมชั่น
break;
case EHivePromotionEventType::START_PLAYBACK:
// TODO: ปิดเสียงเกม
break;
case EHivePromotionEventType::FINISH_PLAYBACK:
// TODO: เริ่มเสียงเกมใหม่
break;
default:
// เริ่มเสียงเกม
break;
}
});
API Reference: onPromotionView
#include <HIVE_SDK_Plugin/HIVE_CPP.h> using namespace std;
using namespace hive;
void PromotionTest::onPromotionView(
ResultAPI result,
PromotionEventType viewEventType
) {
if (!result.isSuccess()) {
return;
}
// call successful
switch (viewEventType) {
case OPEN:
// Open promotion view
break;
case CLOSE:
// Close promotion view
break;
case START_PLAYBACK:
// TODO: Mute game sound
break;
case FINISH_PLAYBACK:
// TODO: Resume game sound
break;
}
}
API Reference: onPromotionView
import com.hive.Promotion
import com.hive.ResultAPI
val listener = object: Promotion.PromotionViewListener {
override fun onPromotionView(result: ResultAPI, promotionEventType: Promotion.PromotionViewResultType) {
if (!result.isSuccess) {
return
}
// call successful
when (promotionEventType) {
Promotion.PromotionViewResultType.OPENED -> {
// Open promotion view
}
Promotion.PromotionViewResultType.CLOSED -> {
// Close promotion view
}
Promotion.PromotionViewResultType.START_PLAYBACK -> {
// TODO: Mute game sound
}
Promotion.PromotionViewResultType.FINISH_PLAYBACK -> {
// TODO: Resume game sound
}
else -> {}
}
}
}
API Reference: Promotion .PromotionViewListener
import com.hive.Promotion;
import com.hive.ResultAPI;
Promotion.PromotionViewListener listener = (result, promotionEventType) -> {
if (!result.isSuccess()) {
return;
}
// call successful
switch (promotionEventType) {
case OPENED:
// Open promotion view
break;
case CLOSED:
// Close promotion view
break;
case START_PLAYBACK:
// TODO: Mute game sound
break;
case FINISH_PLAYBACK:
// TODO: Resume game sound
break;
default:
break;
}
};
API Reference: PromotionViewHandler
import HIVEService
let handler = {
(result : ResultAPI, viewResultType : PromotionViewResultType) in if !result.isSuccess() {
return
}
// call successful
switch viewResultType {
case.open:
// Open promotion view
case.close:
// Close promotion view
case.startPlayBack:
// TODO: Mute game sound
case.finishPlayBack:
// TODO: Resume game sound
}
}
API Reference: HIVEPromotionViewHandler
#import <HIVEService/HIVEService-Swift.h>
HIVEPromotionViewHandler handler = ^(HIVEResultAPI* result, HIVEPromotionViewResultType viewResultType) {
if (![result isSuccess]) {
return;
}
// call successful
switch (viewResultType) {
case HIVEPromotionViewResultTypeOpen:
// Open promotion view
break;
case HIVEPromotionViewResultTypeClose:
// Close promotion view
break;
case HIVEPromotionViewResultTypeStartPlayback:
// TODO: Mute game sound
break;
case HIVEPromotionViewResultTypeFinishPlayback:
// TODO: Resume game sound
break;
}
}
};