我们的应用可以使用myapp://mainpage?param=123
等自定义网址方案启动。当它作为网页中的链接包含时,这种方法有效。而且,在iOS上,它适用于平台附带的邮件客户端。
用户注册并安装应用程序后,他会收到一封带有链接的邮件。我们需要这个,因为我们想将一些数据传递到应用程序中。
但是,这在iOS上的Microsoft Outlook应用程序中不起作用。
在Android上,作为解决方法,我们的应用还支持https网址方案,例如https://myapp/mainpage?param=123
有没有人知道如何从iOS上的Microsoft Outlook邮件启动我的应用程序?
如果不需要,我宁愿不依赖第三方网站。通用链接不起作用,因为该应用程序与我们每个商业客户的单独网址上的网站一起使用。
这是我在Info.plist
注册计划的部分:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>My App</string>
<key>CFBundleURLSchemes</key>
<array>
<string>myapp</string>
</array>
</dict>
</array>
答案 0 :(得分:0)
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。
{
"applinks": {
"apps": [],
"details": [
{
"appID": "XXXX.nnnn",
"paths": [
"/yourpath"
]
}
]
}
}
您可以在单个域上托管此文件,并发送包含相同域http://your-site.com
的网址,并发送标识符作为参数,以识别您的商家并在您的应用代码中执行操作。
答案 1 :(得分:0)
在电子邮件中,我们可以根据电子邮件客户端隐藏一定程度的内容。
如果将其添加到样式表中:
<style>
.android {display: block;}
.webkit {display: none;}
@media screen and (-webkit-min-device-pixel-ratio:0) {
.android {display: none;}
.webkit {display: block !important;}
}
</style>
<!--[if (gte mso 9)|(IE)]>
<style type="text/css">
.android {display: none;}
.webkit {display: none;}
</style>
<![endif]-->
这告诉电子邮件客户端它是否是Android或任何电子邮件客户端,显示类.android
媒体查询告诉所有webkit客户端(Apple Mail,IOS)隐藏android并显示webkit链接。
<!--[if (gte mso 9)|(IE)]>
创建一个特殊样式表,以隐藏Outlook中的.android
和.webkit
类。
在电子邮件正文中,请执行以下操作:
<!--[if mso | IE]>
Outlook Only: url://that-works-with-outlook
<![endif]-->
<!--[if !mso 9]><!-->
<span class="android">All Email Clients: https://myapp/mainpage?param=123</span>
<span class="webkit" style="display: none;">Webkit-only: myapp://mainpage?param=123</span>
<![endif]-->
<!--[if !mso 9]><!-->
隐藏了Outlook中的Apple和其他设备网址,因此它们不会在您的电子邮件中显示在Outlook中。
<!--[if mso | IE]>
隐藏了非Outlook客户端的仅Outlook网址。
.webkit
课程隐藏了其他客户端的Apple / IOS链接。
.android
隐藏了适用于Outlook的其他客户端的网址。
通过这种方式,您可以定位Outlook,Apple并适用于所有其他电子邮件客户端,而不会混淆最终用户。
祝你好运。