在iOS上使用推送通知中的DeepLinking通用链接

时间:2018-03-14 17:33:47

标签: ios push-notification deep-linking ios-universal-links

我正在调查使用推送通知中的通用链接深度链接到iOS应用程序。这是我可以面向未来的网络。 许多示例和教程假设用户将选择从网站到深度链接到应用程序的通用链接。 我想在推送通知中使用通用链接而不是常规的URL架构方法。 我已阅读Apple文档 https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html

但是,我目前还不清楚如果我只是使用Universal Link通过推送通知打开应用程序,我还需要设置所有配置,例如创建和上传apple-app-site -association文件到Web服务器的根目录。

这种方法是将推送通知中的通用链接深入链接到应用程序的某个区域是一种推荐的方法,因为Apple似乎不鼓励使用URL Schema,或推送通知是特殊情况吗?

1 个答案:

答案 0 :(得分:1)

Push Notifications和Universal Links是两种不同的动物,尽管它们都可以让用户进入应用程序。

使用Universal Link,iOS设备上的Safari会先打开,以防安装该应用。如果应用程序存在,则会立即将用户从Safari退回到应用程序,并将URL传递给AppDelegate方法application(_:continue:restorationHandler:)。如果该应用程序不存在,Safari将打开通用链接的URL。此处需要设置apple-app-site-association文件,以验证您拥有相关目标网址,并可以将用户从网站重定向到应用程序。 Universal Links更适合用户发起的互动(点击电子邮件中的链接等)

另一方面,推送通知通过TCP / IP直接与设备通信,以将消息从APN传递到iOS设备(有关详细信息,请参阅APNs Overview)。 Safari并不参与,用户点击iOS设备上的通知(例如)以打开通知并转到目的地。您的目的地不会像通用/深层链接一样通过网址传递,但您可以在应用中处理通知有效负载中的额外JSON(有关此结构,请参阅Creating the JSON Dictionary)。由于没有涉及网站,因此推送通知没有与app-app-site关联。您正在直接从APN与您的应用进行通信,并且通常使用证书确保只有您可以通过推送通知打开您的应用。远程推送通知非常适合开发人员发起的互动以吸引用户。

希望有助于澄清事情!