マーケット選択
「Market selection」は、複数マーケット(例: App Store + Hive Store)を提供する環境で、購入に使用するマーケットをユーザーが選択できる機能です。
仕組み¶
このページでは、setMarketSelection、getSelectedMarket など Market selection に必要な API と、呼び出し順序/利用フローを説明します。
IAP v4 初期化時に marketConnect を呼び出すと、端末で利用可能なマーケット一覧が返されます。複数マーケットが利用可能な場合は setMarketSelection でマーケットを選択し、getSelectedMarket で確認後、購入を進めます。
API 呼び出しシーケンス¶
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 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 を呼び出すタイミング
購入要求前に現在マーケットを確認する用途で使用してください。