从Google Play Billing迁移
本页面讨论Google Play Billing和亚马逊的应用内购买 (IAP) 解决方案之间的区别,并比较了亚马逊的可用解决方案。
Google Play Billing和IAP是什么?
Google Play Billing功能让用户可以直接从您的应用购买数字内容。例如,用户可以在游戏中购买额外的关卡。亚马逊应用内购买 (IAP) 是亚马逊应用商店的等效功能。如果应用使用Google Play Billing,可以修改代码以使用其中一种亚马逊IAP解决方案。Google和亚马逊API具有相似的功能,但在命名和术语上有所不同。
如果您的应用实现了Google Play Billing,并且您希望在亚马逊应用商店中将应用内购买作为您应用中的一项功能保留,就必须实现其中一种亚马逊IAP解决方案才能提交您的应用。
Amazon IAP解决方案对比Google Play Billing
本节讨论Google Play Billing和亚马逊IAP解决方案之间的相同点和不同点。亚马逊提供两种IAP解决方案,即Appstore SDK IAP和亚马逊应用商店计费兼容性SDK。
功能比较
下表示出了Appstore SDK、亚马逊应用商店计费兼容性SDK和Google Play Billing API之间的比较。
功能 | Appstore SDK | 亚马逊应用商店计费兼容性 | Google Play | 备注 |
---|---|---|---|---|
购买 | ||||
意图由API处理。 | 是 | 否 | 否 | 亚马逊应用商店计费兼容性SDK使用与Google Play Billing相同的API签名。 |
消费品 | ||||
个人消费品可多次购买。 | 是 | 是 | 是 | |
权利 | ||||
购买一次。如果用户尝试购买已拥有的权利,则会收到通知。 | 是 | 是 | 是 | |
订阅 | ||||
订阅持续的时段有多种选项。 | 是 | 是 | 是 | Amazon IAP选项: 每周、每两周、每月、每两个月、每季度、每半年、每年;Google Play选项: 每月、每年、每季度(自定义) |
支持免费试用期。 | 是 | 是 | 是 | |
自动续订选项。 | 是 | 是 | 是 | |
延期计费选项。 | 否 | 否 | 是 | |
收据验证 | ||||
适用于购买的收据验证服务 | 是 | 是 | 是 | 虽然Google Play提供收据验证,但Google Play的收据验证过程不是自动的。 |
Google Play托管对象对比亚马逊消费品和权利
Google Play Billing和Amazon IAP都支持您的客户进行相同类型的应用内购买。但是,Google Play和亚马逊对其购买类型使用了不同的术语。下表说明了与每种亚马逊购买类型等效的Google Play类型:
亚马逊 | 描述 | Google Play等效类型 | 示例 |
---|---|---|---|
Consumable | 先进行购买,然后在应用中使用,通常为游戏。可多次购买。 | 托管产品 | 额外生命或移动次数(在游戏中)、游戏内角色的额外弹药。 |
Entitlement | 一次性购买,用于访问应用或游戏中的功能或内容。 | 托管产品 | 解锁游戏中的额外关卡或应用中的“仅限高级会员”的功能。 |
Subscription | 允许在一段有限的时间内访问一组优质内容或功能。 | Subscription | 在线杂志订阅、梦幻足球联赛访问。 |
如您所见,Google Play Billing以类似方式对待所有非订阅购买;用户购买商品,然后使用商品。使用商品后,会在应用中预配置该商品并记录使用情况。对于很可能是一次性购买的商品(如解锁新游戏关卡),您作为开发者可以选择将商品视为消费品或非消费品并引入逻辑来确保该商品只能购买一次。通过Amazon IAP,可在设计上将一次性购买(权利)与应用用户可以多次购买的购买项目(消费品)分离。
亚马逊的IAP解决方案比较
将您的应用移植到亚马逊应用商店时,您可以选择Appstore SDK IAP或亚马逊应用商店计费兼容性SDK。亚马逊应用商店计费兼容性SDK和Google Play结算库十分相似,让您可以在对代码进行最少更改的情况下移植现有应用。Appstore SDK IAP解决方案具有范围稍微更广的功能集,需要进行更多代码更改才能迁移。下表比较了两种解决方案。
应用所需的功能 | Appstore SDK支持 | 亚马逊应用商店计费兼容性SDK支持 |
---|---|---|
订阅 | 是 | 是 |
权利 | 是 | 是 |
消费品 | 是 | 是 |
数字版权管理 (DRM) | 是 | 是 |
待定购买 | 是 | 否 |
促销定价 | 是 | 否 |
收据验证 | 是 | 是 |
Amazon App Tester支持 | 是 | 否 |
使用与Google Play Billing相同的API签名 | 否 | 是 |
查看下表,帮助您根据当前在应用中使用的功能选择迁移路径。
应用中使用的功能 | 迁移路径 | 备注 |
---|---|---|
Google Play结算库版本2 | 不支持 | |
Google Play结算库版本3 | 升级到结算库版本4并使用亚马逊应用商店计费兼容性SDK
或者使用Appstore SDK IAP |
|
Google Play结算库版本4或5 | 使用亚马逊应用商店计费兼容性SDK | |
Java或Kotlin | 使用亚马逊应用商店计费兼容性SDK或Appstore SDK IAP | |
Unity | 使用适用于Unity的Appstore SDK插件 | |
连接管理 | 使用亚马逊应用商店计费兼容性SDK,它使用存根来始终获得关联的返回值 | Amazon IAP解决方案不需要连接管理。 |
退款 | 手动处理退款 | Amazon IAP解决方案不支持自动退款。 |
服务器端交易验证 | 使用亚马逊应用商店计费兼容性SDK或Appstore SDK IAP | |
客户端交易验证 | 不支持 | Amazon IAP解决方案不支持客户端验证。 |
服务器上的购买管理API | 不支持 | |
服务器上的应用内产品管理API | 不支持 | |
实时开发者通知 | 使用亚马逊应用商店计费兼容性SDK或Appstore SDK IAP | |
促销码 | 如果需要,使用Appstore SDK IAP,否则使用亚马逊应用商店计费兼容性SDK |
移植您的代码
要获取有关哪种亚马逊解决方案符合您的应用需求的指导,请查看上一部分中的信息。
迁移到亚马逊应用商店计费兼容性SDK
如果您选择亚马逊应用商店计费兼容性SDK,请按照亚马逊应用商店计费兼容性SDK中的说明移植您的代码。
迁移到Appstore SDK
如果您选择Appstore SDK,请按照从Google Play Billing迁移到Appstore SDK中的说明移植您的代码。
Last updated: 2024年5月22日