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

ฟังก์ชันขั้นสูงให้ส่วนที่กำหนดเอง; มุมมองที่กำหนดเองที่ช่วยให้คุณแสดงหน้า 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

using hive;    
    PromotionCustomType customType = PromotionCustomType.VIEW;    
    String contentsKey = "123456";    
    Promotion.getViewInfo(customType, contentsKey, (ResultAPI result, List promotionViewInfoList) => {    
        if (result.isSuccess()) {    
        // call successful    
        }    
});
#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

import HIVEService    
    let promotionType = PromotionCustomType.view    
    let contentsKey = "123456"    
    PromotionInterface.getViewInfo(promotionType, contents : contentsKey) {    
        result,    
        infos in    
        if result.isSuccess() {    
            // call successful    
        }    
}

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 ดังนี้

{
     "account_id": 1000338,
     "account_name": "test_account",
     "player_level": 50
}

หลังจากส่ง 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)
#include "HivePromotion.h"

FString AdditionalInfo = TEXT(\"myData\":\"123\");
FHivePromotion::SetAdditionalInfo(AdditionalInfo);

API Reference: Promotion::setAdditionalInfo

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    string additionalInfo = "{\"myData\":\"123\"};    

Promotion::setAdditionalInfo(additionalInfo);

API Reference: Promotion.setAdditionalInfo

import com.hive.Promotion    
    val additionalInfo = "{\"myData\":\"123\"}"    
Promotion.setAdditionalInfo(additionalInfo)

API Reference: Promotion .INSTANCE.setAdditionalInfo

import com.hive.Promotion;    
    String additionalInfo = "{\"myData\":\"123\"}";    
Promotion.INSTANCE.setAdditionalInfo(additionalInfo);

API Reference: PromotionInterface .setAdditionalInfo

import HIVEService    
    let additionalInfo = "{\"myData\":\"123\"}"    
PromotionInterface.setAdditionalInfo(additionalInfo)

API Reference: HIVEPromotion::setAdditionalInfo

#import <HIVEService/HIVEService-Swift.h>    
    NSString *additionalInfo = @"{\"myData\":\"123\"}";    
[HIVEPromotion setAdditionalInfo: additionalInfo];

ข้อมูลเพิ่มเติมสามารถใช้สำหรับคุณสมบัติการส่งเสริมการขายทั้งหมดของ Hive SDK ดังนั้น ก่อนที่จะดำเนินการคุณสมบัติการส่งเสริมการขายใด ๆ เราขอแนะนำให้คุณเรียกใช้ setAdditionalInfo ก่อนหลังจากกำหนดข้อมูลเพิ่มเติมและวิธีการที่จะใช้

การแสดงเหตุการณ์โดยไม่มีแถบชื่อเรื่อง

คุณสามารถลบ Hive แถบชื่อเรื่องในหน้ากิจกรรมที่เชื่อมโยงจากแบนเนอร์ระหว่างหน้าจอ, แบนเนอร์จุด, หน้าข่าว, หรือการดูโดยตรง เพื่อแสดงหน้ากิจกรรมโดยไม่มี Hive แถบชื่อเรื่อง ให้เรียกใช้วิธี setAdditionalInfo ของคลาส Promotion ก่อนที่จะเรียกใช้วิธี showCustomContents() เพื่อกำหนดฟิลด์หัวเรื่องเป็น Off คุณสามารถลบ Hive แถบชื่อเรื่องจากหน้าที่เปิดเผยได้โดยการจัดระเบียบ additionalInfo และส่งไปยัง Hive เซิร์ฟเวอร์ ซึ่งอธิบายไว้ด้านล่าง

ต่อไปนี้คือตัวอย่างโค้ดเพื่อปล่อยแถบชื่อเรื่อง

API Reference: hive.Promotion.setAdditionalInfo

using hive;    
    //ภายใต้ Hive SDK 4.16.2    
    string additionalInfo = "{\\\"header\\\":\\\"off\\\"}";    
    //  Hive SDK 4.16.2 หรือใหม่กว่า    
    string additionalInfo = "{\"header\":\"off\"}";    

Promotion.setAdditionalInfo(additionalInfo)
#include "HivePromotion.h"

FString AdditionalInfo = TEXT("{\"header\":\"off\"}");
FHivePromotion::SetAdditionalInfo(AdditionalInfo);

API Reference: Promotion::setAdditionalInfo

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    string additionalInfo = "{\"header\":\"off\"}";    

Promotion::setAdditionalInfo(additionalInfo);

API Reference: Promotion.setAdditionalInfo

import com.hive.Promotion    
    val additionalInfo = "{\"header\":\"off\"}"    
Promotion.setAdditionalInfo(additionalInfo)

API Reference: Promotion.INSTANCE.setAdditionalInfo

import com.hive.Promotion;    
    String additionalInfo = "{\"header\":\"off\"}";    
Promotion.INSTANCE.setAdditionalInfo(additionalInfo);

API Reference: PromotionInterface .setAdditionalInfo

import HIVEService    
    let additionalInfo = "{\"header\":\"off\"}"    
PromotionInterface.setAdditionalInfo(additionalInfo)

API Reference: HIVEPromotion setAdditionalInfo

#import <HIVEService/HIVEService-Swift.h>    
    NSString *additionalInfo = @"{\"header\":\"off\"}";    

[HIVEPromotion setAdditionalInfo: additionalInfo];

การเล่นคลิปวิดีโอบนโปรโมชั่น

แสดงคลิปวิดีโอบนการโปรโมทเกมของคุณด้วย 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;    
             }    
         }    
};