gpt4 book ai didi

ios - 删除 iPhone OpenGraph SMS 消息需要按 "Tap to Load Preview"

转载 作者:技术小花猫 更新时间:2023-10-29 10:39:40 25 4
gpt4 key购买 nike

我正在尝试能够发送带有包含 OpenGraph 预览图像链接的 SMS 消息,这些图像将加载到 iOS“消息”应用程序中并显示缩略图,而无需用户先按 [Tap To Load Preview]。 . 如何实现?

为此,我向运行 iOS 10 并使用“信息”应用程序打开的 iPhone X 发送短信。

文本消息正文包含指向资源(HTML 网页)的 URL,其正文包含带 og:image 的 OpenGraph 元数据标签。例如:

<meta property="og:image" content="https://www.apple.com/v/iphone/home/t/images/home/og.png?201610171354" />

出于演示目的,我们正在努力使图像首先加载并立即加载,而无需用户点击按钮才能看到它...

预期行为:

Expected Behavior

实际行为:

Actual Behavior

作为旁注,在我们测试过的 Android 客户端上,支持 OpenGraph 的图像将立即显示,而不会提示用户执行任何操作。对于任何其他受测试的 OpenGraph 支持的应用程序也是如此,包括 Facebook。

作为引用,这里是我测试过的一些方法,试图让它为我们工作(以及其中的组合):

  • 尝试在没有中间重定向的情况下直接提供图像,也尝试使用重定向。
  • 尝试提供 PNG 和 JPG 图片。
  • 尝试从包含不超过 20 个字符的 URL 提供图像,其中 URL 具有“.jpg”和“.png”参数并且没有额外的 GET 参数。当扩展不是链接的一部分时也尝试过。
  • 尝试通过直接引用其 IP 而不是使用公共(public)域名来从服务器提供图像。
  • 也尝试使用 GET 参数,每次使用随机数来阐明一个完全唯一的 URL。
  • 尝试通过 HTTPS 和 HTTP 链接提供图像。
  • 尝试使用动态生成的图像提供服务,这应该会导致在呈现和提供图像时出现几毫秒的短暂延迟。
  • 尝试在响应 URL 页面和图像请求的脚本中强制休眠以引起几毫秒的故意延迟,并为此试验了各种设置。
  • 尝试提供具有各种不同尺寸、纵向和横向以及极大和极小以及介于(50x50, 60x50 等及以上)之间的其他变体的图像。
  • 始终确保图像的大小 <1 MB,但无论如何也测试更大的图像以查看它们是否有效。
  • 尝试提供来自手机或消息服务可能已经“识别”为“可信”的相同规范来源的图像,因为我们已经加载了过去那些图像的预览(测试是否存在这样的功能,它可能没有)。
  • 专门尝试过所有建议,如 Apple 技术说明“消息中链接预览的最佳实践”所述,请参阅 https://developer.apple.com/library/content/technotes/tn2444/_index.html
  • 尝试将 OG 标签移到 <head> 之外页面的。
  • 尝试剥离除相关 og:image 之外的所有标签的页面标签。
  • 尝试删除响应 GET 图像资源的 HTTP header ,以便只返回图像本身。尝试然后添加回 Content-Type单独 header 。
  • 尝试启动对图像的请求以响应各种 HTTP 规范缓存无效相关 header ..
  • 尝试从美国和澳大利亚的各种电话号码发送,还尝试将 SMS 消息本身的“发件人”字段更改为类似 "VERIZON", "Verizon", "Telstra", "APPLE", "Apple", "Facebook", "Uber", "China" 的字符串.

  • 尝试从手持电话以及 Twilio Messaging API 服务发送消息。

以上均不适用于 iPhone X。

最佳答案

SMS 无法做到这一点。如果您将它作为 iMessage 发送,它会自动显示预览。

在 iPhone 上,预览是在设备上生成的,而不是在服务器端生成的。当用户点击预览时,他们的设备会向服务器发送 4 个 GET 请求。如果预览是自动生成的,则会存在安全漏洞。您可以向任何 iPhone 用户发送文本并获取他们的 IP 地址。

使用 iMessages,预览会自动生成,但不存在安全漏洞。发送链接的设备向服务器发送 4 个 GET 请求,生成预览,然后通过 iMessages 将预览传输给接收者。因此,接收设备无需向服务器发送生成预览的请求。网络服务器的所有者不知道他们的 IP 地址。

在 Google 的 Android 消息应用程序中,预览是在服务器端生成的。有一个 GET 请求发送到 Web 服务器。但它源自 Android Messages 服务器。因此,网络服务器的所有者再次没有从他们收到的文本中收到收件人的 IP 地址。

关于ios - 删除 iPhone OpenGraph SMS 消息需要按 "Tap to Load Preview",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50616536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com