ฟังก์ชันขั้นสูงให้ส่วนที่กำหนดเอง; มุมมองที่กำหนดเองที่ช่วยให้คุณแสดงหน้า 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;    
                }    
}];
สปอตแบนเนอร์¶
คุณสามารถแสดงแบนเนอร์เต็มที่ตำแหน่งหรือเวลาที่ต้องการในเกม ซึ่งเรียกว่าแบนเนอร์จุด เพื่อใช้แบนเนอร์จุด กรุณาลงทะเบียนและตั้งค่าใน Console > Promotion > Campaign Registration > Spot Banner
ในการแสดงแบนเนอร์จุด ให้ตั้งค่าพารามิเตอร์ตามแนวทางต่อไปนี้และเรียกใช้วิธี showCustomContents() ของคลาส Promotion 
-  ตั้งค่าพารามิเตอร์ customTypeเป็นPromotionCustomType.SPOT。
-  เพื่อแสดงแบนเนอร์เต็มปกติ ให้ตั้งค่าพารามิเตอร์ contentsKeyเป็น Console > Promotion > Campaign Settings > Game Settings > Spot Banner Tab > Campaign Management Name > Spot Banner ID。
-  เพื่อแสดงโฆษณาข้ามโปรโมชั่นแบบเต็ม ให้ตั้งค่าพารามิเตอร์ contentsKeyเป็นadคุณสามารถใช้แบนเนอร์จุดเพื่อแสดงโฆษณาข้ามโปรโมชั่นในเวลาที่ต้องการ。
Warning
ฟีเจอร์การแสดงแบนเนอร์และโฆษณาที่ใช้ contentsKey มีให้ใช้งานเฉพาะในแอปที่ได้ใช้ Hive SDK v4.
นี่คือตัวอย่างโค้ดสำหรับการสร้างแบนเนอร์แบบจุด
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="⇡ Go to top" 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;    
             }    
         }    
};




