Billing Integration Submission Checklist
This page covers every step required to go from a finished AppCoins SDK integration to a live app on Aptoide — from final integration checks, through Aptoide Connect setup, to post-submission verification.
Before Submitting
Review every item below before building your release binary.
Integration Checklist
SDK and Xcode setup:
- AppCoinsSDK added via Swift Package Manager (Swift) or plugin imported into Assets (Unity)
- Keychain Sharing capability added; group set to exactly
com.aptoide.appcoins-wallet - URL Scheme
$(PRODUCT_BUNDLE_IDENTIFIER).iapadded with role Editor in Info → URL Types -
MKSellsDigitalGoodskey set toYESinInfo.plist
Initialization (Swift):
-
AppcSDK.initialize()called at every application entry point (SceneDelegateand/orAppDelegate) -
AppcSDK.handle(redirectURL:)called inscene(_:openURLContexts:)and equivalent URL handler
Initialization (Unity):
-
AppCoinsIAP.ConfigureStoreAsynccalled and awaited beforecontroller.Connect()
Transaction handling:
-
Transaction.unfinishediterated on every app launch after theisAvailable()check (Swift) -
controller.FetchPurchases()called inStart()afterConnectcompletes (Unity) -
transaction.finish()(Swift) orcontroller.ConfirmPurchase(order)(Unity) called after delivering the item - All
AppCoinsSDKErrorcases handled (at minimum:notEntitled,productUnavailable,networkError)
Testing:
- Integration tested end-to-end in the sandbox environment
Missing Keychain Sharing or the URL scheme will cause purchase failures for all users.
Aptoide Connect Setup
-
Create an account at https://connect.aptoide.com.
-
Create your app listing:
- Click New App.
- Enter your app's bundle identifier, display name, and category.
- Save the listing.
-
Define your in-app products:
- Open your app listing and go to Products → Add Product.
- Set the SKU — this must match exactly what you pass to
Product.products(for:)(Swift) or your UnityProductCatalog. SKUs are case-sensitive. - Set the product name and price.
- Save and repeat for every product.
-
Build your release binary:
- Separate builds strategy: build from your
aptoidebranch, which includes the AppCoinsSDK dependency. Archive and export the.ipa. - Single build strategy: build your standard binary. The AppCoinsSDK is included but only activates at runtime on Aptoide-distributed installs.
See Integration Strategies for a full comparison.
- Separate builds strategy: build from your
-
Submit your binary:
- In Aptoide Connect, go to your app listing and open Releases → New Release.
- Upload the
.ipafile. - Fill in the release notes and submit for review.
After Submission
- Aptoide reviews your app — timeline varies. You will be notified when the review completes.
- Once approved, your in-app products become queryable from
Product.products(for:)(Swift) orFetchProducts(Unity). - You can test the full purchase flow in the sandbox environment before or after approval — sandbox does not require an approved listing.
- Monitor the Catappult dashboard for transaction data and revenue reporting.
Sandbox Testing
The sandbox environment verifies the purchase flow end-to-end before your app goes live. The sandbox simulates a real purchase without charging the user.
Full documentation: Sandbox
Retrieve the current sandbox wallet address (Swift):
if let walletAddress = await Sandbox.getTestingWalletAddress() {
print("Sandbox wallet: \(walletAddress)")
}