计费集成提交清单
本页涵盖从完成 AppCoins SDK 集成到应用在 Aptoide 上线所需的每一个步骤——包括集成的最终检查、Aptoide Connect 配置以及提交后的验证。
提交之前
在构建发布版二进制文件之前,请逐项检查以下内容。
集成清单
SDK 与 Xcode 配置:
- 已通过 Swift Package Manager 添加 AppCoinsSDK(Swift),或已将插件导入 Assets(Unity)
- 已添加 Keychain Sharing 能力,并将分组准确设置为
com.aptoide.appcoins-wallet - 已在 Info → URL Types 中添加 URL Scheme
$(PRODUCT_BUNDLE_IDENTIFIER).iap,角色为 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 scheme 将导致所有用户的购买失败。
Aptoide Connect 配置
-
在 https://connect.aptoide.com 创建账户。
-
创建应用条目:
- 点击 New App。
- 填写应用的 bundle identifier、显示名称和类别。
- 保存该条目。
-
定义应用内商品:
- 打开应用条目,进入 Products → Add Product。
- 设置 SKU——该值必须与您传入
Product.products(for:)(Swift)或 UnityProductCatalog的值完全一致。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)")
}