我想使用消息应用程序打开我的应用程序,如果用户按下链接,用户将收到带有链接的消息。其链接需要打开应用程序。
答案 0 :(得分:3)
使用 URL方案
URL Scheme使您可以定义自定义协议,以使其他应用程序与您的应用程序进行通信。要让其他应用程序与您的应用程序通信,您必须创建格式正确的URL并在您的应用程序中添加支持。要实施URL方案,您必须告诉系统在您的应用程序中打开它并处理应用程序中的传入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 键。该键将包含带有以下键的字典数组:
CFBundleURLSchemes :这是一个包含URL方案名称的数组。
<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才能打开相应的内容。在对自定义网址的任何请求中,都会调用AppDelegate的方法application(_: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
答案 1 :(得分:0)
您应该查看通用链接。这是答案,其中包含非常详细的说明:How to support Universal Links in iOS App and setup server for it?
另一个建议。如果您没有自己的后端,则可以使用Firebase动态链接来拥有自己的“链接”,该链接将直接指向您的应用。