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

การเริ่มต้น IAP v4

ในการเปิดใช้งาน IAP v4 ให้ขอการเริ่มต้น IAP ก่อนการซื้อ หากคุณขอให้เริ่มต้น IAP เกมไคลเอนต์จะส่งคืนข้อมูลร้านค้าที่มีอยู่ ข้อมูลร้านค้าถูกกำหนดเป็นอีเนัม IAPV4Type และรายละเอียดในฟิลด์มีดังนี้;

ข้อมูลตลาด

ชื่อฟิลด์ คำอธิบาย
APPLE_APPSTORE Apple App Store
GOOGLE_PLAYSTORE Google Play Store
HIVE_LEBI Lebi Store
ONESTORE ONE Store
AMAZON_APPSTORE Amazon App Store (ใช้ได้กับ SDK v4 เท่านั้น)
SAMSUNG_GALAXYSTORE Samsung Galaxy Store
HUAWEI_APPGALLERY Huawei App Gallery
HIVESTORE PG Payment (สำหรับ Windows, Unity เท่านั้น)

ตลาดสกุลเงินอ่อนในเกมควรจะเปิดให้ผู้ใช้ที่สนุกกับการเล่นเกมแม้หลังจากที่เกมหยุดให้บริการดาวน์โหลด ดังนั้น สตูดิโอเกมแต่ละแห่งจึงจำเป็นต้อง เขียนโค้ดตลาดสกุลเงินแข็งและตลาดสกุลเงินอ่อนแยกกัน ค่าผลลัพธ์ที่ส่งโดยการเริ่มต้น IAP v4 ไม่ได้ใช้สำหรับการเข้าถึงตลาดในเกม ดังนั้นอย่าใช้ค่าผลลัพธ์ในวิธีที่แตกต่างกัน Implement marketConnect() ในคลาส IAPV4 เพื่อเริ่มต้น IAP v4.

เริ่มต้น IAPv4

ต่อไปนี้คือตัวอย่างโค้ดเพื่อเริ่มต้น IAP v4.

เอกสาร API: hive.IAPV4.marketConnect

using hive;    
    IAPV4.marketConnect((ResultAPI result, List marketIdList) => {    
         if (result.isSuccess()) {    
            // call successful    
        }    
});
#include "HiveIAPV4.h"

FHiveIAPV4::MarketConnect(FHiveIAPV4OnMarketConnectDelegate::CreateLambda([this](const FHiveResultAPI& Result, const TArray<EHiveIAPV4Type>& MarketIds) {
        if (Result.IsSuccess()) {
                // call successful 
        }
}));

API Reference: IAPV4::marketConnect

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    IAPV4::marketConnect([=](ResultAPI const & result, vector const & marketIdList) {    
         if (result.isSuccess()) {    
            // call successful    
         }    
});

API Reference: IAPV4.marketConnect

import com.hive.IAPV4    
    import com.hive.ResultAPI    
    IAPV4.marketConnect(object : IAPV4.IAPV4MarketInfoListener {    
         override fun onIAPV4MarketInfo(result: ResultAPI, iapV4TypeList: ArrayList<IAPV4.IAPV4Type>?) {    
             if (result.isSuccess) {    
                 // call successful    
             }    
         }    
})

API Reference: com.hive.IAPV4.marketConnect

import com.hive.IAPV4;    
    import com.hive.ResultAPI;    
    IAPV4.INSTANCE.marketConnect((result, iapV4TypeList) -> {    
         if (result.isSuccess()) {    
             // call successful    
         }    
});

API Reference: IAPV4Interface .marketConnect

import HIVEService    
    IAPV4Interface.marketConnect() { result, marketIdList in    
        if result.isSuccess() {    
        // call successful    
        }    
}

API Reference: HIVEIAPV4::marketConnect

#import <HIVEService/HIVEService-Swift.h>    
    [HIVEIAPV4 marketConnect: ^(HIVEResultAPI *result, NSArray<NSNumber *> *marketIdList) {    
         if ([result isSuccess]) {    
            // call successful    
         }    
}];
Warning

การไม่เรียกใช้วิธี marketConnect() จะทำให้ไม่สามารถค้นหารายการผลิตภัณฑ์หรือซื้อผลิตภัณฑ์ได้ ปัญหานี้เกิดขึ้นจากสาเหตุหนึ่งในต่อไปนี้:

  • ในกรณีที่การเข้าสู่ระบบบัญชีไปยังเทอร์มินัลประมวลผลผิดปกติ
  • ในกรณีที่มีการเข้าสู่ระบบผิดปกติในตลาด เช่น Google Play Store, Apple App Store และอื่นๆ
  • ในกรณีที่มีการจัดการการตั้งค่าตลาดผิดปกติใน Hive Console ตาม AppID จำเป็นต้องให้ไคลเอนต์เกมดำเนินการตอบสนองโดยตรงสำหรับการคืนค่าความล้มเหลวของ Result API เช่น ลองใหม่จนกว่าจะได้รับการตอบกลับที่สำเร็จ หรือ แสดงป๊อปอัพข้อผิดพลาด (เช่น ตลาดไม่พร้อมใช้งาน) ให้กับผู้ใช้ สำหรับรายละเอียดของรหัส Result API โปรดดูที่ Result API Code - IAP v4.

หมายเหตุสำหรับการเริ่มต้น

จาก Hive SDK v4 Unity Windows 23.0.0 รองรับแอป Windows สำหรับ Google Play และสามารถใช้ตลาด GOOGLE\_PLAYSTORE ได้ ในกรณีนี้ โปรดทราบสิ่งต่อไปนี้ระหว่างการพัฒนา:

  • การเริ่มต้น (IAPV4.marketConnect) จะต้องดำเนินการหลังจากการ เข้าสู่ระบบ IdP ด้วย AuthV4 เท่านั้น
  • เมื่อเรียกใช้ IAPV4.marketConnect เป็นครั้งแรก หน้าจอเข้าสู่ระบบบัญชี Google สำหรับการชำระเงินผลิตภัณฑ์ ซึ่งอนุญาตให้ผู้ใช้แอปเลือกบัญชี Google สำหรับการชำระเงินในตลาด จะปรากฏขึ้น กระบวนการเข้าสู่ระบบนี้ไม่ใช่ฟีเจอร์ที่นักพัฒนาแอปดำเนินการ แต่จะดำเนินการโดยอัตโนมัติโดย Hive SDK
  • การเข้าสู่ระบบบัญชี Google สำหรับการชำระเงินผลิตภัณฑ์จะแตกต่างจากการเข้าสู่ระบบ Google IdP ที่ให้บริการโดยโมดูลการตรวจสอบสิทธิ์ Hive SDK (AuthV4) เมื่อผู้ใช้ออกจากระบบจาก IdP ใดๆ (AuthV4) รวมถึง Google IdP บัญชี Google ที่ใช้สำหรับการชำระเงินผลิตภัณฑ์จะถูกออกจากระบบโดยอัตโนมัติด้วย