苹果宣布在美国开放第三方支付

这里每天分享一个 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,苹果也给了一些限制:

  1. 必须使用 https

  2. url 中不能包含 query 参数

  3. 1000 个字符以内

代码实现

当用户点击外部链接的按钮,需要先调用 canMakePayments() 方法查看是否可以支付。

如果可以支付,再调用外部购买链接 API,这时候苹果会自动唤起一个新页面告知用户,他们将会跳出 App 去支付:

当用户点击继续按钮,系统将会跳转到 Safari 中打开你之前在 info.plist 中指定的链接完成购买。

结语

即使在新规则下,苹果仍将继续保持对支付的严格控制,想要成功避开苹果的规定不是那么容易,苹果会给开发者制造各种障碍,但是在大趋势下,苹果需要被迫越来越开放的,这一变化对苹果来说仍然是一个重大的让步。

包括 3 月之前必须开放侧载和第三方应用商店,都是在相关法律法规的强制下执行的,关于这块内容我们以后有机会再好好讲讲。

这里每天分享一个 iOS 的新知识,快来关注我吧

本文同步自微信公众号 "iOS新知",每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!

相关推荐
I烟雨云渊T1 小时前
iOS 门店营收表格功能的实现
ios
明月看潮生7 小时前
青少年编程与数学 01-011 系统软件简介 07 iOS操作系统
ios·青少年编程·操作系统·系统软件
90后的晨仔9 小时前
RxSwift 框架解析
前端·ios
大熊猫侯佩13 小时前
由一个 SwiftData “诡异”运行时崩溃而引发的钩深索隐(五)
swiftui·swift·apple watch
可爱小仙子13 小时前
ios苹果系统,js 滑动屏幕、锚定无效
前端·javascript·ios
未来猫咪花14 小时前
# Flutter状态管理对比:view_model vs Riverpod
flutter·ios·android studio
咕噜企业签名分发-淼淼17 小时前
开发源码搭建一码双端应用分发平台教程:逐步分析注意事项
android·ios
键盘敲没电1 天前
【IOS】GCD学习
学习·ios·objective-c·xcode
SY.ZHOU1 天前
Significant Location Change
macos·ios·cocoa
吴Wu涛涛涛涛涛Tao1 天前
深入理解 Swift Codable:从基础到进阶
ios