@郎启旭的回答虽然引用了苹果的guideline,但解释基本错误。腾讯的解释只是个安民告示,其理由在guideline里面根本找不到对应的条款。
我这边逐条重新解读一遍:
https://developer.apple.com/app-store/review/guidelines/
Apps that unlock or enable additional features or functionality with mechanisms other than the App Store will be rejected
这一条很多人的解读是错误的,关键点在于对“ additional features or functionality”的解释上。什么叫“additional features or functionality”?花游戏中的货币使用某个功能,和依靠购买来获取某个额外功能的使用权,是截然不同的两件事。举个例子,国内很多游戏都有所谓的VIP系统,VIP等级越高所获功能是不一样的。如果游戏数据打通,你在其它渠道的充值使得VIP等级上升,但是带来的新功能可以在iOS上使用,显然违反了这一条的规定。所以,数据不打通的关键在于,利用App Store购买以外的方式来解锁非通过现金购买无法开启的功能,违反了苹果的规定。另外从运营的角度出发,由于iOS和安卓用户消费水平不同,对于一些带排行榜功能,靠高频率开新服获利的产品,数据分开会更有利。
拿COC来举例,这款游戏里面没有VIP系统,像用钻石加速建造这样的功能所有人都可以用,也没有充值越多的玩家可以使用更多新功能这个设定,所以不违反苹果的规定。反观其它游戏,如炉石传说等也没有这个问题。请不要用中国式的思维来理解外企的办事风格,至少在review上还真不是靠什么公关就能搞定的。
顺便提一句,直至今日,App Store审核的时候,游戏里面的VIP系统因为这一条是有可能会触雷的。带VIP系统的手游在审核时有可能会被认为“利用App Store购买外的方式解锁额外功能”被驳回。当然苹果实际执行起来并不是非常严格,也并不是所有带VIP系统的游戏都会受到“关照”。
Apps utilizing a system other than the In-App Purchase API (IAP) to purchase content, functionality, or services in an App will be rejected
这个很明显,所有和充值相关的流程都必须走App Store,这一条到哪个平台都一样。
Apps that use IAP to purchase credits or other currencies must consume those credits within the App
这条的理解很多人也有偏差。如果把这一段进行缩句的话,就是“买来的App中的货币只能在App中消耗”,而很多人理解成了“只能通过IAP来获取App中的货币”,显然两者完全是不同的概念。
那么有的人会问,像豆瓣阅读这样的产品,我在其它地方买了书同步到App上,岂不是违反了规定?对于这种情况,苹果也作了解释:
Apps can read or play approved content (specifically magazines, newspapers, books, audio, music, video and cloud storage) that is subscribed to or purchased outside of the App, as long as there is no button or external link in the App to purchase the approved content. Apple will only receive a portion of revenues for content purchased inside the App
游戏的数据,严格来说是算在“cloud storage”一类里面的。你在其它渠道用合法手段购买的电影、书籍等等云数据,一样可以在App中直接使用,不会造成问题,苹果只对用IAP渠道购买的内容提取分成。
那么,什么情况是不允许的呢?苹果也很明确地做了解释:
Apps that link to external mechanisms for purchases or subscriptions to be used in the App, such as a "buy" button that goes to a web site to purchase a digital book, will be rejected
好,我知道有的人肯定会拿淘宝出来说事,请你把上面这段话中加粗的部分读100遍再来反驳我。