能否向iOS App Store传参数供安装后App获取以实现邀请功能?
当然可以实现,iOS生态里有几种成熟方案适配你的邀请场景:
App Clip(应用剪辑)
这是苹果官方推荐的轻量解决方案。用户打开带invitingUser=userA参数的网页链接时,直接唤起你的App Clip(无需安装完整App),App Clip可临时存储userA的信息。当用户选择安装完整App后,通过App Groups共享容器,主App就能读取到App Clip里的邀请参数,自动完成连接。这个方案体验最流畅,不需要依赖第三方服务器存储参数。网页中转+服务器存储参数
用户打开带邀请参数的网页后,网页先把invitingUser=userA和当前设备标识(比如IDFA,或网页生成的临时token)绑定,存储到你的服务器。随后网页跳转至App Store引导安装。用户首次打开App时,App获取设备标识(或请求用户授权获取IDFA),向服务器查询对应的invitingUser参数,拿到后自动建立连接。注意要合规处理用户拒绝授权IDFA的情况,可改用App启动时生成的唯一UUID并存储在钥匙串里。Universal Links + 归因关联
用Universal Links替代普通网页链接,跳转App Store前,服务器记录该链接的invitingUser参数和访问来源。用户安装App后,首次打开时可通过Universal Links唤起App(若用户直接打开App,也可让App主动请求服务器),服务器根据设备信息或SKAdNetwork的转化数据关联到对应的invitingUser参数,完成连接。SKAdNetwork归因数据存在延迟,适合对实时性要求不高的场景。自定义产品页(Custom Product Pages)
在App Store Connect里创建多个自定义产品页,每个页面对应特定邀请来源(或通过URL参数区分)。用户通过带参数的链接进入对应自定义产品页安装App,App启动后可通过相关API获取来源页ID,再关联到服务器存储的invitingUser参数。这个方案灵活性稍弱,适合批量固定的邀请场景。
优先推荐App Clip方案,用户体验最优;如果暂时不想开发App Clip,网页+服务器存储参数的方案成本最低、适配性最广。
内容的提问来源于stack exchange,提问作者Leon

