コンテンツにスキップ

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決済 (Windows、Unity専用)
  • HIVESTORE(PG決済)は商品検索と購入のみをサポートしており、クライアントベースの領収書検証はサポートされていません。

ゲーム内のソフト通貨市場は、ゲームのダウンロードサービスが停止した後でもゲームプレイを楽しむユーザーのために利用可能であるべきです。したがって、各ゲームスタジオはハード通貨市場とソフト通貨市場を別々にコーディングする必要があります。IAP v4を初期化することによって送信される結果値は、ゲーム内市場へのアクセス用ではないため、結果値を異なる方法で使用しないでください。IAP v4を初期化するために、IAPV4クラスにmarketConnect()を実装してください。

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リファレンス: 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リファレンス: 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リファレンス: com.hive.IAPV4.marketConnect

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

API リファレンス: IAPV4Interface .marketConnect

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

APIリファレンス: HIVEIAPV4::marketConnect

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

marketConnect()メソッドを呼び出さないと、製品リストを検索したり、製品を購入したりできなくなります。この問題は、以下のいずれかの理由で発生します:

  • アカウントのログインが端末で異常に処理された場合
  • Google Playストア、Apple App Storeなどのマーケットプレイスで異常なログインが発生した場合
  • AppIDに応じてHiveコンソールでマーケット設定の異常な取り扱いがあった場合 ゲームクライアントは、成功のコールバックを得るまで再試行するユーザーにエラーポップアップを表示する(例:マーケットが利用できない)など、Result APIの失敗を返すための応答を直接実装する必要があります。Result APIコードの詳細については、Result API Code - IAP v4を参照してください。

初期化のためのノート

Hive SDK v4 Unity Windows 23.0.0から、Google Play用のWindowsアプリがサポートされており、GOOGLE\_PLAYSTOREマーケットが使用できます。この場合、開発中に以下の点に注意してください:

  • 初期化(IAPV4.marketConnect)は、AuthV4によるIdPログインの後にのみ実行される必要があります。
  • IAPV4.marketConnectが初めて呼び出されると、アプリユーザーが市場での支払いのためにGoogleアカウントを選択できる製品支払いのためのGoogleアカウントログイン画面が表示されます。このログインプロセスはアプリ開発者が実装する機能ではなく、Hive SDKによって自動的に実行されます。
  • 製品支払いのためのGoogleアカウントログインは、Hive SDK認証モジュール(AuthV4)によって提供されるGoogle IdPログインとは異なります。ユーザーがGoogle IdPを含む任意のIdP(AuthV4)からログアウトすると、製品支払いに使用されるGoogleアカウントも自動的にログアウトされます。