メインコンテンツまでスキップ

課金連携の提出チェックリスト

このページでは、AppCoins SDK の連携完了から Aptoide でのアプリ公開までに必要なすべての手順(連携の最終確認、Aptoide Connect の設定、提出後の確認)について説明します。


提出前の確認

リリース用バイナリをビルドする前に、以下の各項目を確認してください。

連携チェックリスト

SDK と Xcode の設定:

  • AppCoinsSDK を Swift Package Manager(Swift)経由で追加、またはプラグインを Assets にインポート済み(Unity)
  • Keychain Sharing 機能を追加し、グループを com.aptoide.appcoins-wallet に正確に設定済み
  • URL スキーム $(PRODUCT_BUNDLE_IDENTIFIER).iapInfo → URL Types でロール Editor として追加済み
  • Info.plistMKSellsDigitalGoods キーを 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 ケースを処理済み(少なくとも notEntitledproductUnavailablenetworkError

テスト:

  • サンドボックス環境で連携をエンドツーエンドでテスト済み
⚠️

Keychain Sharing または URL スキームが設定されていない場合、すべてのユーザーで購入が失敗します。


Aptoide Connect の設定

  1. https://connect.aptoide.comアカウントを作成します。

  2. アプリのリスティングを作成する:

    1. New App をクリックします。
    2. アプリのバンドル識別子、表示名、カテゴリを入力します。
    3. リスティングを保存します。
  3. アプリ内商品を定義する:

    1. アプリのリスティングを開き、Products → Add Product に移動します。
    2. SKU を設定します。これは Product.products(for:)(Swift)または Unity の ProductCatalog に渡す値と完全に一致する必要があります。SKU は大文字と小文字を区別します。
    3. 商品名と価格を設定します。
    4. 保存し、すべての商品について繰り返します。
  4. リリース用バイナリをビルドする:

    • ビルド分離戦略: AppCoinsSDK の依存関係を含む aptoide ブランチからビルドします。アーカイブして .ipa をエクスポートします。
    • 単一ビルド戦略: 通常のバイナリをビルドします。AppCoinsSDK は含まれますが、Aptoide 経由でインストールされた場合にのみ実行時に有効化されます。

    詳細な比較は 連携戦略 を参照してください。

  5. バイナリを提出する:

    1. Aptoide Connect でアプリのリスティングを開き、Releases → New Release に移動します。
    2. .ipa ファイルをアップロードします。
    3. リリースノートを記入し、審査に提出します。

提出後

  • Aptoide がアプリを審査します。所要期間は状況によって異なります。審査が完了すると通知されます。
  • 承認されると、アプリ内商品を Product.products(for:)(Swift)または FetchProducts(Unity)から取得できるようになります。
  • 購入フロー全体は、承認の前後を問わずサンドボックス環境でテストできます。サンドボックスでは承認済みのリスティングは必要ありません。
  • トランザクションデータと収益レポートは Catappult ダッシュボードで確認してください。

サンドボックステスト

サンドボックス環境では、アプリの公開前に購入フローをエンドツーエンドで検証できます。サンドボックスはユーザーに課金することなく実際の購入をシミュレートします。

詳細なドキュメント: サンドボックス

現在のサンドボックスウォレットアドレスを取得する(Swift):

if let walletAddress = await Sandbox.getTestingWalletAddress() {
print("Sandbox wallet: \(walletAddress)")
}