跳转到主要内容

链接的工作原理

每条 OneSignal 消息——推送、电子邮件、应用内消息、短信或 RCS——都可以包含一个 URL,当用户点击时会跳转到目标页面。该目标可以是在浏览器中打开的网页,也可以是直接在应用内打开的深度链接 设置 URL 的方式取决于渠道:
  • 推送:在仪表板中使用 Launch URL 字段,或在 API 中使用 url 参数。
  • 电子邮件:使用电子邮件编辑器或 HTML 添加链接。OneSignal 自动跟踪点击。
  • 应用内消息:在按钮、图像或背景上配置点击操作
  • SMS/RCS:将链接直接内嵌到消息中。在仪表板中使用 Insert Trackable Link 可自动缩短并跟踪链接。请参阅 SMS/RCS 可跟踪链接

深度链接

要在应用内而非浏览器中打开内容,请使用深度链接。各渠道的深度链接支持情况有所不同:
  • 推送和应用内消息:支持自定义 URL 方案(如 your-app://product/123)以及 https:// 通用链接 / App Links。
  • 电子邮件和短信:仅支持 https:// 通用链接 / App Links。自定义 URL 方案不适用,因为电子邮件客户端和短信应用不处理它们。

深度链接

自定义 URL 方案、通用链接和应用专属路由的完整设置指南。

推送

启动 URL

启动 URL 在用户点击推送通知时打开。它应以 https:// 开头。
要在 Apple 设备上使用 http:// URL,请在应用的 Info.plist 文件中配置 NSAppTransportSecurity 属性。
如果您向网页和移动用户同时发送单条消息,请使用特定平台的 URL 字段:
  • url — 面向所有平台
  • web_url — 仅面向网页推送 Subscription
  • app_url — 仅面向移动 Subscription
OneSignal 仪表板显示推送通知的启动 URL 输入字段
要在不打开任何页面的情况下关闭网页推送通知,请在启动 URL 末尾添加 ?_osp=do_not_open,例如 https://yoursite.com/page?_osp=do_not_open。此功能仅适用于网页推送。

附加数据

您也可以不使用启动 URL,而是通过 Additional Data 字段(API 中的 data)发送自定义键值对。您的应用可通过 SDK 的通知点击监听器additionalData 属性读取此数据——当您需要比单个 URL 更高的灵活性时,这非常有用。
OneSignal 仪表板显示附加数据字段及自定义键值对

电子邮件链接跟踪

当为电子邮件或模板启用 Track link clicks 时(默认开启),OneSignal 会自动跟踪电子邮件中的链接点击。OneSignal 按电子邮件和按单个链接分别跟踪总点击数和独特点击数(每封电子邮件最多 30 个链接)。可在电子邮件消息报告中查看这些统计数据。
有关取消订阅链接,请参阅取消订阅链接和电子邮件订阅
OneSignal 电子邮件消息报告,显示每个链接的总点击数和独特点击数
跟踪的工作原理是重写 URL 以捕获点击事件,然后将用户重定向到原始目标。这几乎是即时发生的,但可能会导致深度链接出现意外行为。例如:https://some-domain.com/the-page会变成类似:https://some-domain/c/eJxU0D2uGzEMBODTrDoZJPW3...用户会立即被重定向到预期的 URL。
如果您使用 Liquid 语法构造链接,OneSignal 可能无法自动检测到它们。请明确将链接标记为可跟踪:
{{ 'https://some-domain.com/the-page' | track_link }}
要为整封电子邮件禁用跟踪,请在仪表板电子邮件编辑器中取消勾选 Track link clicks,或在 API 中设置 disable_email_click_tracking: true
OneSignal 仪表板电子邮件设置,已取消勾选 Track link clicks
要仅对特定链接禁用跟踪,同时保持其他链接的跟踪:
{{ 'https://some-domain.com/the-page' | do_not_track_link }}
为整封电子邮件禁用跟踪意味着不会收集任何点击数据——电子邮件消息报告中的点击率将显示”N/A”。

SMS/RCS 可跟踪链接

OneSignal 使用 1sgnl.co 域名为 SMS/RCS 消息提供可跟踪的缩短链接。只需将您的 URL 包裹在 {{ "https://your-url.com" | track_link }} 中,消息发送时该链接将被替换为可跟踪链接。如需通过 API 使用,请参阅 SMS/RCS 创建消息 API 参考 每条 SMS/RCS 消息只允许包含 1 个可跟踪链接。 使用仪表板时,您也可以点击消息输入框下方的 Insert Trackable Link 按钮并输入您的 URL:
OneSignal 仪表板弹窗,用于向短信消息中插入可跟踪缩短链接
点击 Insert trackable link 将短链接添加到消息中:
Your order is on its way!
Track it here: {{ "https://your-url.com" | track_link }}
消息发送时,双花括号及其中的内容将被替换为 1sgnl.co/XXXX 可跟踪链接:
移动设备上的短信通知,显示可跟踪缩短链接

动态 URL

您可以使用 Liquid 语法 构建个性化的用户专属 URL。例如,在 URL 中包含用户 ID,让每个人都跳转到自己的个人资料页面;或插入最近事件中的产品 ID,直接链接到相关商品。 动态 URL 可从以下来源提取数据:
  • 用户属性(如 external_idemail
  • 存储在 OneSignal 中的标签
  • 通过 API 发送的 custom_data
  • 自定义事件(在 Journeys 中)
external_idemail 等值直接注入 URL。
https://yourdomain.com/profile/user={{subscription.external_id}}
如果用户的 external_id12345,最终 URL 为:
https://yourdomain.com/profile/user=12345
类似地:
https://yourdomain.com/profile/email={{subscription.email}}
如果用户的电子邮件是 john@example.com,最终 URL 为:
https://yourdomain.com/profile/email=john@example.com
只将数据替换到 URL 的部分内容中——保持协议(https://)和域名为静态文本。使用 default 过滤器为缺失值设置默认值。

UTM 参数

UTM 参数通过在 URL 中附加 sourcemediumcampaign 详情来跟踪推广活动效果。将 UTM 参数直接添加到消息中的 URL 即可。 对于从仪表板发送的推送通知,OneSignal 可以自动添加 UTM。
导航到设置 > 推送和应用内 > UTM 设置,并启用 Turn on automated UTM tagging启用后,OneSignal 会附加以下可编辑的值:
  • Source = utm_source — 默认为 onesignal
  • Medium = utm_medium — 默认为 push
  • Campaign = utm_campaign — 默认为 {{ sendDate }}-{{ title }}
    • sendDate:发送日期
    • title:消息标题中的前 15 个字母数字字符、下划线或连字符
示例:
https://test.com?utm_source=onesignal&utm_medium=push&utm_campaign=2020-06-03-sale-today
自动 UTM 标记仅适用于从仪表板发送的推送通知,不适用于:
  • 电子邮件、短信或应用内消息
  • Journeys、模板或自动化消息
  • API 请求
  • “发送测试消息”按钮
  • 附加数据字段
对于以上情况,请在模板或 API 请求体中手动添加 UTM 参数。

URL 处理和覆盖

如果您在启用自动标记的情况下手动向启动 URL 添加 UTM 参数,您手动添加的 UTM 将覆盖自动值。

常见问题

如何链接到应用商店?

将商店 URL 作为启动 URL 使用:
  • Android:使用 Google Play 链接,例如 https://play.google.com/store/apps/details?id=com.example.app。请参阅链接到 Google Play
  • iOS:使用 App Store 链接,但将 https:// 替换为 itms-apps:// 以直接打开 App Store 应用,例如 itms-apps://apps.apple.com/app/id123456789

我可以链接到其他应用吗?

对于推送和应用内消息,您可以使用 URL 方案深度链接到其他应用。例如,要深度链接到 WhatsAppwhatsapp://wa.me/15551234567 对于电子邮件和短信,请改用 https:// 链接——不支持自定义 URL 方案。

为什么我的启动 URL 不起作用?

常见原因:
  • URL 格式不匹配:URL 必须以 https:// 开头。如果您在 Apple 设备上使用 http://,需要配置 NSAppTransportSecurity
  • 移动端自定义方案:像 your-app://path 这样的深度链接在所有平台上不一定能作为启动 URL 使用。请使用 Additional Data 字段,或参阅深度链接获取可靠的应用路由方案。
  • 网页推送默认行为:如果未设置启动 URL,网页推送将打开您的主页。请明确设置启动 URL 以控制目标页面。
  • 点击跟踪干扰:在电子邮件中,用于点击跟踪的 URL 重写可能会破坏深度链接。请尝试对该特定链接禁用点击跟踪

UTM 参数适用于电子邮件和短信吗?

不适用。自动 UTM 标记仅适用于从仪表板发送的推送通知。对于电子邮件和短信,请在模板或 API 请求体中手动添加 UTM 参数。请参阅 UTM 参数 了解完整限制说明。

我可以阻止推送通知打开 URL 吗?

在移动端,点击推送通知始终会打开应用。 在网页端,可在启动 URL 末尾添加 ?_osp=do_not_open,以在不打开任何页面的情况下关闭通知。请参阅启动 URL 提示中的示例。