我想使用消息应用程序打开我的应用程序,如果用户按下link.its链接需要打开应用程序,用户将收到带链接的消息。
使用URL Scheme
URL Scheme允许您定义自定义协议,以便其他应用程序与您的应用程序通信。要让其他应用程序与您的应用程序通信,您必须创建格式正确的URL并在应用程序中添加支持。要实现URL Scheme,您必须告诉系统在您的应用程序中打开它并处理应用程序中的传入URL。此URL方案看起来像其他URL方案,如http://,ftp://,mailto://,tel://等。您可以创建自定义URL协议,如yourapp:// open-home-page。任何应用程序都可以通过调用openURL打开您的应用程序。例如,如果您的自定义URL是yourapp://则以下代码将打开您的应用程序:
let appUrl = URL(string: "youapp://page-to-open")
UIApplication.shared.openURL(appUrl!)
注册您的自定义URL
要注册URL方案支持的应用程序,您必须在Info.plist文件中包含CFBundleURLTypes键。这个键将包含以下键的字典数组:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.yourapp</string>
<key>CFBundleURLSchemes</key>
<array>
<string>yourapp</string>
</array>
</dict>
</array>
处理URL请求
当任何应用程序请求您的自定义URL时,您的应用必须处理URL以打开相应的内容。对您的自定义URL的任何请求都将调用AppDelegate的方法应用程序(_:open:options :),因此您必须在AppDelegate中实现此方法。请参阅以下代码段
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
print(url)
// Take decision according to URL
return true
}
如果您的应用程序未运行(已终止),则它将首先启动您的应用程序,然后调用open url方法。
enter link for more descriptionAbout Deep linking and universal linking
你应该看看Universal Links。以下是一个非常详细解释的答案:How to support Universal Links in iOS App and setup server for it?
另一个建议。如果您没有自己的后端 - 您可以使用Firebase动态链接创建自己的“链接”,该链接将指向您的应用。