コンテンツにスキップ

マーケット選択

「Market selection」は、複数マーケット(例: App Store + Hive Store)を提供する環境で、購入に使用するマーケットをユーザーが選択できる機能です。

仕組み

このページでは、setMarketSelectiongetSelectedMarket など Market selection に必要な API と、呼び出し順序/利用フローを説明します。

IAP v4 初期化時に marketConnect を呼び出すと、端末で利用可能なマーケット一覧が返されます。複数マーケットが利用可能な場合は setMarketSelection でマーケットを選択し、getSelectedMarket で確認後、購入を進めます。

flowchart TD
    A(["marketConnect"])
    B(["getProductInfo"])
    C{"ユーザーが<br/>支払い手段(マーケット)を<br/>変更しますか?"}
    D(["setMarketSelection"])
    E(["getSelectedMarket"])
    F(["purchase / restore"])
    G{"別マーケットで<br/>追加購入しますか?"}
    H([完了])

    A -- "アプリ起動時に1回" --> B
    B -- "各マーケット初回に1回" --> C
    C -- "Yes" --> D
    C -- "No" --> F
    D --> E --> F
    F --> G
    G -- "Yes" --> D
    G -- "No" --> H

getProductInfo の呼び出し

上記フローで getProductInfoマーケットごとに初回1回のみ 呼び出してください。

  • 成功後、対象マーケットの商品情報は SDK 内にキャッシュされます。後で setMarketSelection によりマーケットを切り替えても再呼び出しは不要です。


setMarketSelection

setMarketSelection API は、後続の購入フローで使用するマーケットを IAPV4Type で設定します。

setMarketSelection を呼び出すタイミング

marketConnect の後、purchase または restore の前に呼び出してください。
* ユーザーが支払い手段を変更したときに呼び出します。 * 変更後の purchase / restore は新しいマーケットで動作します。

IAPV4Type

IAPV4Type は IAP v4 でサポートするマーケット種別を表す enum です。

Value Name Description
0 notSelected 未選択
1 appStore Apple App Store
2 google Google Play Store
3 lebi Lebi Market
4 oneStore ONE Store
5 amazon Amazon Appstore
6 samsung Samsung Galaxy Store
7 huawei Huawei AppGallery
8 funtap Funtap
9 oppoAppMarket OPPO App Market
10 vivoAppStore vivo App Store
11 tencentMyapp Tencent Myapp
12 xiaomiAppStore Xiaomi App Store
13 huaweiAppGalleryChina Huawei AppGallery China
14 facebookCloudGame Facebook Cloud Game
15 hiveStore Hive Store
16 steam Steam
17 nowgg now.gg

getSelectedMarket

getSelectedMarket API で現在選択されたマーケット種別を取得できます。

getSelectedMarket を呼び出すタイミング

購入要求前に現在マーケットを確認する用途で使用してください。