如何在iOS应用中实现延迟深度链接?

u91tlkcl  于 2023-06-25  发布在  iOS
关注(0)|答案(2)|浏览(254)

我想在我的iOS应用程序中实现延迟深度链接,作为跟踪推荐的一种手段。当我的应用的用户想要推荐朋友时,我会生成一个URL,其中包含唯一的推荐代码。当其他人收到链接并打开它时,我希望它将他们带到应用商店中我的应用页面。然后,如果他们安装我的应用程序,当它第一次打开,我需要一种方法,它从原始URL读取推荐代码。
我在网上找到了关于延迟深度链接的网页,但没有一个真正解释如何做到。相反,这些页面最终都告诉你安装一些第三方代码或使用一些商业服务。这不是我想要的。我想自己学怎么做。
有很多旧页面推荐复杂和容易出错的解决方案,比如跟踪用户的IP地址,将推荐代码放入剪贴板,或者以某种方式从Web视图中的cookie中获得它。我不认为这些是在2022年使用的正确解决方案。
如果有人能推荐合适的资源,我将不胜感激。
如果苹果不希望我们这样做,也不提供任何支持,那么我也想知道。我以为他们会,但也许我错了。
谢谢,弗兰克

w8rqjzmb

w8rqjzmb1#

好消息是,我找到了解决办法。我可以构建一个网页,将用户重定向到应用程序商店,但在此之前,复制一些文本到他们的剪贴板(没有告诉他们或要求他们做任何事情)。然后,如果他们安装了我的应用程序,我可以通过从剪贴板粘贴来获取文本。我测试了这个想法,它工作。
坏消息是,从iOS 16开始,苹果现在会要求你获得粘贴权限。因此,如果您尝试这样做,您的用户将启动您的应用程序,并立即获得推广,并发出消息,要求他们允许从Safari粘贴。我希望大多数用户会拒绝这个请求,仅仅是他们看到这个请求的事实就会削弱他们对应用程序的信任(我知道我不会相信一个在没有我直接命令的情况下试图消耗我的剪贴板的应用程序)。

mlmc2os5

mlmc2os52#

Apple的Universal Links允许这一点(将理解典型URL方案和Universal Links之间的区别作为阈值)。这假设你愿意做一些解除服务器端沿着其他障碍的iOS端,主要是管理。
Universal Links和服务器端工作的一个好处是,如果用户没有安装应用程序,您可以提供一个备用网页。由于应用程序下载后应打开,您通常可以从此URL重定向到应用程序商店。但是,在这种情况下,在进行任何重定向之前,您可以执行一个操作来解码URL中传递的唯一参数,并将其持久化在远程数据存储中。在注册过程中,编码的数据需要是必需的,并且是唯一的--电子邮件似乎是理想的选择。
如果这是可行的,您的标准注册流程可能需要电子邮件验证,并将应用程序链接作为强制入口点(想想slack magic link)。当用户提交他/她的电子邮件进行验证时,您可以首先根据您的数据存储检查该电子邮件,以查看它是否Map到从上面的流中保存的任何先前解码的引用。如果是这样,您可以为此电子邮件生成一个唯一的链接到您的应用程序,参数将引导延迟/深度链接。

相关问题