这里每天分享一个 iOS 的新知识,快来关注我吧
前言
今天早上看到一条新闻,在苹果和 Epic 的案件中,美国最高法院驳回了苹果的上诉,维持原判,该裁决要求苹果允许开发者将客户引导至其他支付方式。
因此苹果今天更新了美国 App Store 指南,允许开发者链接到第三方支付。在之前,应用内的虚拟商品购买只能通过苹果的 IAP,本次的更改可以说是影响巨大,今天来聊聊关于这件事我知道的一切。
带来哪些变化?
如果你的应用在美区上架,那么内购的商品购买可以引导用户到网页上进行(比如你们的官网)。
即使是引导到第三方支付,苹果依然要收取收入分成,我们来对比一下抽成比例:
内购:如果通过苹果的内购(IAP)支付,苹果收取 30% 的利润,小商家收取 15%。
第三方:而通过第三方链接支付,苹果收取 27% 的利润,小商家收取 12%。
苹果如何保证收取第三方支付分成
一旦流水不通过苹果过账,收入分成其实是非常难实现的,目前苹果要求接入第三方支付链接的应用,每个月需要在 15 号之前主动把流水账单提交给苹果,苹果根据账单来向开发者收取分成。。。
但是,苹果如何防止商家做假账呢?目前没有看到,但苹果说以后"可能"会有相关的 API 来保证。
开发者如何实现?
要申请这项功能,必须通过项目的一些配置,和苹果的严格审核。
1、填写申请表
通过访问 developer.apple.com/contact/req... 这个网址来填写申请表格。
必须是开发者账户的持有人才有资格填写。
如果申请表审核通过,你将收到一封确认授权的邮件。然后就可以进入下一步了。
2、Xcode 项目配置
在 Xcode 中打开 .entitlements
文件,添加一个新的值,key 为 com.apple.developer.storekit.external-purchase-link
,value 为 Bool 值 True
。
这一步是声明你的 App 支持外部购买链接的。
然后在你项目中打开 info.plist
文件,增加一个新的 Key,SKExternalPurchaseLink
,Value 是一个字典,字典中增加一个 key 为 us,value 为你的链接。
其实通过这里的 us,能窥探出苹果是为了其他国家以后开通这个功能留了条后路的。
这里填写的 url 要与你上边申请的 url 一致。
对于 URL,苹果也给了一些限制:
-
必须使用 https
-
url 中不能包含 query 参数
-
1000 个字符以内
代码实现
当用户点击外部链接的按钮,需要先调用 canMakePayments()
方法查看是否可以支付。
如果可以支付,再调用外部购买链接 API,这时候苹果会自动唤起一个新页面告知用户,他们将会跳出 App 去支付:
当用户点击继续按钮,系统将会跳转到 Safari 中打开你之前在 info.plist
中指定的链接完成购买。
结语
即使在新规则下,苹果仍将继续保持对支付的严格控制,想要成功避开苹果的规定不是那么容易,苹果会给开发者制造各种障碍,但是在大趋势下,苹果需要被迫越来越开放的,这一变化对苹果来说仍然是一个重大的让步。
包括 3 月之前必须开放侧载和第三方应用商店,都是在相关法律法规的强制下执行的,关于这块内容我们以后有机会再好好讲讲。
这里每天分享一个 iOS 的新知识,快来关注我吧
本文同步自微信公众号 "iOS新知",每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!