我们的应用程序可以使用自定义URL方案启动,如 myapp://mainpage?param=123
. 当它作为网页中的链接包含时,这种方法有效 . 而且,在iOS上,它适用于平台附带的邮件客户端 .
用户注册并安装应用程序后,他会收到一封带有链接的邮件 . 我们需要这个,因为我们想将一些数据传递到应用程序中 .
但是,这在iOS上的Microsoft Outlook应用程序中不起作用 .
在Android上,作为解决方法,我们的应用程序还支持https URL方案,如 https://myapp/mainpage?param=123
有谁知道如何从iOS上的Microsoft Outlook邮件启动我的应用程序?
如果不需要,我宁愿不依赖第三方网站 . 通用链接不起作用,因为该应用程序与每个企业客户的单独URL上的站点一起使用 .
这是我在 Info.plist
中注册方案的部分:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>My App</string>
<key>CFBundleURLSchemes</key>
<array>
<string>myapp</string>
</array>
</dict>
</array>
2 回答
iOS也支持通用链接 . 所以,不要在iOS中使用自定义方案实现Universal link .
这是一个旧的回购,但可能有用github.com/Satish/iOS-Universal-Links
您需要在http://your-site.com/域(即http://your-site.com/apple-app-site-association)主持apple-app-site-association .
您可以在单个域上托管此文件,并发送具有相同域
http://your-site.com
的URL,并将标识符作为参数发送,以识别您的业务并在您的应用代码中执行操作 .在电子邮件中,我们可以根据电子邮件客户端隐藏一定程度的内容 .
如果将其添加到样式表中:
这告诉电子邮件客户端它是android还是任何电子邮件客户端,显示类
.android
媒体查询告诉所有webkit客户端(Apple Mail,IOS)隐藏android并显示webkit链接 .<!--[if (gte mso 9)|(IE)]>
创建一个特殊的样式表来隐藏Outlook中的.android
和.webkit
类 .在电子邮件正文中,执行以下操作:
<!--[if !mso 9]><!-->
隐藏了Outlook中的Apple和其他设备网址,因此它们不会在您的电子邮件中显示在Outlook中 .<!--[if mso | IE]>
隐藏非Outlook客户端的仅Outlook网址 ..webkit
class隐藏其他客户端的Apple / IOS链接 ..android
隐藏了适用于Outlook中其他客户端的URL .这样,您可以定位Outlook,Apple并适用于所有其他电子邮件客户端,而不会与最终用户混淆 .
祝好运 .