写在前面:我这篇文章并不是讲怎么做内购的,是我在做内购时,觉得很难理解它的设计,才有了这篇文章。
一、内购类型
苹果官方文档解释
Consumables
Consumables are In-App Purchases that must be purchased each time the user needs that item. Consumable In-App Purchases are available for both iOS and OS X apps.
• Supplies in a game (ammunition, health points, cheats, extra lives, etc)
• Accelerators used to decrease advancement time within an app
消耗品:用户每次使用时都需要购买;
• 游戏中的补给品,比如生命值等等;
• 缩短晋级时间的加速器。
Non-Consumables
Non-Consumables are In-App Purchases that only need to be purchased once by the user and are available to all devices registered to a user. This purchase type is used for services that do not expire. Non-Consumable In-App Purchases are available for both iOS and OS X apps.
• Additional levels within a game
• Access to pro-features such as additional camera lenses or audio effects
• Lifetime subscription to a service
• Books and individual magazine issues
非消耗品:用户只需要购买一次,在任何设备上登录该账户,都可以使用该商品。
• 游戏中额外的关卡;
• 付费功能,比如相机应用中的付费滤镜等。
Auto-Renewable Subscriptions
Auto-Renewable Subscriptions allow the user to purchase episodic content or access to dynamic digital content for a set duration time. At the end of each duration, the subscription will renew itself, until a user opts out. The Auto-Renewable Subscription In-App Purchase type is available for both iOS and OS X apps.
• Recurring delivery of newspapers or magazine issues
• Monthly subscription to audio or video streaming feed
• Weekly membership to a dating service
• Business app providing cloud storage services
自动订阅:用户在特定时间段内可以获取到指定的内容。并且,在指定时间段即将结束时,自动订阅。
• 报纸杂志订阅等。
Free Subscriptions
Free Subscriptions are an extension of Auto-Renewable Subscriptions that permit the delivery of free subscription content to Newsstand-enabled applications. The Free Subscription In-App Purchase type is implemented in the same way as an Auto-Renewable Subscription, just without any charges to the user. Free Subscriptions do not have expirations, but the user can turn off the subscription at any time.
免费自动订阅:是“自动订阅”类型的扩展,比起“自动订阅”,差别在于免费。该类型是不会过期的,除非用户手动关掉。
Non-Renewing Subscriptions
Non-Renewing Subscription allow the sale of services with a limited duration. Non-Renewing Subscriptions must be used for In-App Purchases that offer time-based access to static content and are only available for both iOS and OS X apps.
• One week subscription to voice guidance feature within a navigation app
• Annual subscription to online catalog of archived video or audio
非自动续订:需要用户手动再次购买的,基于时间的商品类型。
• 导航类app中,语音导航功能一周的使用权利等。
我的理解:
二、为什么这样分类
不知道大家有没有很奇怪,苹果为什么要给自己找麻烦,如果就像微信支付,支付宝支付一样,只负责支付,给凭证就可以了嘛。
苹果给开发者一套规范,开发者总可以找到自己商品适合的商品类型,开发者开发时要遵守该类型的规范。
三、内购恢复及同步
同步都是由app主动发起的,有些需要系统配合,通过恢复购买记录来完成(类型2、3、4);有些完全由app单独完成(类型5);有些不需要同步(类型1)。
消耗品(1)
不需要帐号间同步,用户1在iPhone上购买了消耗品后,在iPad上登录,不需要同步购买过的消耗品。
非消耗品(2)自动订阅(3)免费自动订阅(4)
app中应该有机制让用户可以恢复他们的购买记录,比如一个恢复购买按钮。恢复购买记录是提示用户的应用商店的凭据,从而中断你的应用程序流程,因此不要自动恢复购买记录,特别是在每次应用程序启动时。
非自动订阅(5)
app记录购买记录并同步
为什么要恢复内购
个人观点:内购设计的假设条件是,app中没有账户系统。