如何从 Android 和 iOS 中的 SMS 消息启动应用程序以及供应用程序使用的加密数据

How to launch an app from a SMS message in Android and iOS, along with encrypted data for the apps to use

我正在为 iOS 和 Android 开发一个应用程序,我希望用户在收到包含 link.[=12 的短信时能够启动该应用程序=]

link 包括应用程序包以及以下格式的加密数据:

"com.app.myapp://?<加密数据>"(不包括<>括号和加密数据永远不会超过 120 个字符)

在 iOS 上,这完美地工作,因为 SMS link 正确地超linked 包含所有加密数据,应用程序启动并且一切正常。

Android 另一方面,link 出现故障...只有 "com.app.myapp" 是超 linked,单击时仍会启动应用程序, 但它不传递加密数据。所以看起来 Android 正在打破 link.

我对 android 的一个修复是将 "http://" 添加到 link 的开头,这使 hyperlink 在 [=33= 中保持完好无损],但在 iOS 上,带有 http 的 link 将不再启动该应用程序。 还删除了包名称后的“:”,修复了 Android,但再次破坏了 iOS 功能。

我知道这不是应用程序问题,更像是 Android 消息问题/可能是 link 格式问题。 我可以尝试其他解决方案吗?

不能在com.app.myapp://前面加上http://,因为它们都是uri schemes。您应该熟悉 。由于您正在使用 URI schemes 来完成此操作,因此您不应使用 .。您的 URI 方案应该类似于 myapp:// 而不是 com.app.myapp://。这可能就是 Android Messenger 忽略 ://.

之后的所有内容的原因

一个更简单的解决方案是使用 Branch SDK 并在 link 数据中传递加密数据。

编辑

Android Messenger 无法将原始 URI 方案识别为可点击的 link。您可能仍需要为 android 使用 http。您应该考虑使用 Android app links and iOS universal links。这些需要更多的设置,但在两种情况下都应该处理 links