課金連携の提出チェックリスト
このページでは、AppCoins SDK の連携完了から Aptoide でのアプリ公開までに必要なすべての手順(連携の最終確認、Aptoide Connect の設定、提出後の確認)について説明します。
提出前の確認
リリース用バイナリをビルドする前に、以下の各項目を確認してください。
連携チェックリスト
SDK と Xcode の設定:
- AppCoinsSDK を Swift Package Manager(Swift)経由で追加、またはプラグインを Assets にインポート済み(Unity)
- Keychain Sharing 機能を追加し、グループを
com.aptoide.appcoins-walletに正確に設定済み - URL スキーム
$(PRODUCT_BUNDLE_IDENTIFIER).iapを Info → URL Types でロール Editor として追加済み -
Info.plistでMKSellsDigitalGoodsキーをYESに設定済み
初期化(Swift):
- すべてのアプリケーションエントリポイント(
SceneDelegateおよび/またはAppDelegate)でAppcSDK.initialize()を呼び出し済み -
scene(_:openURLContexts:)および同等の URL ハンドラーでAppcSDK.handle(redirectURL:)を呼び出し済み
初期化(Unity):
-
controller.Connect()の前にAppCoinsIAP.ConfigureStoreAsyncを呼び出して待機済み
トランザクションの処理:
-
isAvailable()チェックの後、アプリ起動のたびにTransaction.unfinishedを反復処理済み(Swift) -
Connectの完了後、Start()内でcontroller.FetchPurchases()を呼び出し済み(Unity) - アイテムの付与後に
transaction.finish()(Swift)またはcontroller.ConfirmPurchase(order)(Unity)を呼び出し済み - すべての
AppCoinsSDKErrorケースを処理済み(少なくともnotEntitled、productUnavailable、networkError)
テスト:
- サンドボックス環境で連携をエンドツーエンドでテスト済み
⚠️
Keychain Sharing または URL スキームが設定されていない場合、すべてのユーザーで購入が失敗します。
Aptoide Connect の設定
-
https://connect.aptoide.com でアカウントを作成します。
-
アプリのリスティングを作成する:
- New App をクリックします。
- アプリのバンドル識別子、表示名、カテゴリを入力します。
- リスティングを保存します。
-
アプリ内商品を定義する:
- アプリのリスティングを開き、Products → Add Product に移動します。
- SKU を設定します。これは
Product.products(for:)(Swift)または Unity のProductCatalogに渡す値と完全に一致する必要があります。SKU は大文字と小文字を区別します。 - 商品名と価格を設定します。
- 保存し、すべての商品について繰り返します。
-
リリース用バイナリをビルドする:
- ビルド分離戦略: AppCoinsSDK の依存関係を含む
aptoideブランチからビルドします。アーカイブして.ipaをエクスポートします。 - 単一ビルド戦略: 通常のバイナリをビルドします。AppCoinsSDK は含まれますが、Aptoide 経由でインストールされた場合にのみ実行時に有効化されます。
詳細な比較は 連携戦略 を参照してください。
- ビルド分離戦略: AppCoinsSDK の依存関係を含む
-
バイナリを提出する:
- Aptoide Connect でアプリのリスティングを開き、Releases → New Release に移動します。
.ipaファイルをアップロードします。- リリースノートを記入し、審査に提出します。
提出後
- Aptoide がアプリを審査します。所要期間は状況によって異なります。審査が完了すると通知されます。
- 承認されると、アプリ内商品を
Product.products(for:)(Swift)またはFetchProducts(Unity)から取得できるようになります。 - 購入フロー全体は、承認の前後を問わずサンドボックス環境でテストできます。サンドボックスでは承認済みのリスティングは必要ありません。
- トランザクションデータと収益レポートは Catappult ダッシュボードで確認してください。
サンドボックステスト
サンドボックス環境では、アプリの公開前に購入フローをエンドツーエンドで検証できます。サンドボックスはユーザーに課金することなく実際の購入をシミュレートします。
詳細なドキュメント: サンドボックス
現在のサンドボックスウォレットアドレスを取得する(Swift):
if let walletAddress = await Sandbox.getTestingWalletAddress() {
print("Sandbox wallet: \(walletAddress)")
}