跳转到主要内容
使用应用内消息通知旧版本应用的用户有更新可用,并提示他们安装。本教程将介绍如何为 iOS 和 Android 创建平台专属的分段和消息。

要求

  • OneSignal SDK v5 或更高版本

设置

示例场景:我们应用程序的最新版本是 1.0.1。我们希望通过应用内消息针对使用 1.0.0 及更旧版本的用户,提示他们更新。

1. 获取您的最新应用版本

OneSignal 根据以下内容检测 App Version iOS:在 Xcode 您的主应用目标 > 通用 > 标识 中找到的 Version
Xcode 项目设置中标识部分下的 Version 字段
Android:在您的应用 build.gradle 文件中找到的 versionCode
Android build.gradle 文件中显示的 versionCode 字段
如果您无法访问 Xcode 和/或 Android Studio,请向您的开发人员询问这些值。
iOS 和 Android 使用不同的版本格式,且各平台的商店链接也不同。请分别为每个平台创建独立的分段和应用内消息。

2. 设置分段

您需要创建两个分段,一个用于 iOS,一个用于 Android。 iOS:
  • 分段名称:iOS App version less than 1.0.1
  • 过滤器:App Version less than 1.0.1Device TypeiOS
OneSignal 分段,包含 App Version less than 1.0.1 和 Device Type is iOS 过滤器
Android:
  • 分段名称:Android App version less than 10001
  • 过滤器:App Version less than 10001Device TypeAndroid
OneSignal 分段,包含 App Version less than 10001 和 Device Type is Android 过滤器

3. 设置应用内消息

导航到 Messages > In-App > New Message > New In-App 从预构建的设计 New Feature Announcement 开始,或从头开始创建您自己的。
OneSignal 应用内消息模板选择界面,显示 New Feature Announcement 选项
为消息命名以反映这是针对 iOS 用户的。

添加您的受众

选择特定分段 iOS App version less than 1.0.1

更新消息

根据需要更新消息内容。要将用户导航到您的应用商店列表,请向按钮或其他元素添加 URL 点击操作
OneSignal 应用内消息编辑器,显示在按钮上配置的 URL 点击操作
输入商店链接作为 URL:

4. 触发器

我们建议使用 On app open 触发器来确保在用户打开应用时显示消息。

5. 计划和频率

如果您将应用更新计划在将来某个时间,您可以计划消息在那时开始显示。 根据您希望更新提示的积极程度,您可以将”您希望多久显示一次此消息?“频率设置为:
  • Every time trigger conditions are satisfied - 在此示例中意味着每次打开应用时都显示。
  • Multiple times - 设置显示消息的总次数以及之间的延迟。例如,100 次,间隔 3 天。将每 3 天显示一次消息,最多 100 次。

6. 保存为草稿并为 Android 复制

点击 Save as Draft 按钮保存消息。 In-App Messages 页面中,点击刚保存的消息旁边的 Options > Duplicate 为您的 Android 用户更新以下内容:
  • IAM 名称以反映这是针对 Android 用户的
  • 将分段设置为 Android App version less than 10001
  • 将 URL 更新为 Android 商店链接
  • 对消息进行任何额外更改以使其对 Android 用户独特
点击 Save as Draft 保存消息。

测试

在发布您的消息之前,我们建议使用以下步骤进行测试:
1

找到您的测试设备并设置为测试订阅

  • 找到您的测试设备并将其设置为测试订阅
  • 确保测试设备使用的是应用的较低版本。
2

更新分段以包含 Test Users

  • 打开您要测试的应用内消息。
  • 点击分段并为 Test Users 添加一个 And 过滤器。
    • 这将确保消息只对您的测试设备显示
  • 例如,如果您的测试设备是 iOS,分段将如下所示:
    OneSignal 分段,包含 App Version、Device Type 和 Test Users 过滤器
  • 点击 Update Segment 保存更改。
3

发布消息

  • 点击 Update Message 以更新应用内消息。
  • 点击消息旁边的 Options > Resume 使其生效。
4

验证消息是否显示

  • 在测试设备上关闭应用。
  • 等待 1 分钟。
  • 在测试设备上打开应用。
  • 如果满足以下条件,您应该会看到消息:
    • 设备是测试订阅
    • 设备使用的是应用的较低版本。
    • 分段设置为 Test Users

上线检查清单

当您准备上线时:
  • 更新分段以移除 Test Users 过滤器。
  • 检查计划以确保设置了正确的日期和时间。
  • 点击 Update Message 以更新应用内消息。
完成了!任何在旧版本上打开应用的用户都会收到应用更新的通知。过一段时间后返回应用内消息检查进度。您还可以通过事件流或第三方集成获取应用内消息分析。

常见问题

OneSignal 是否会自动检测应用版本?

是的。OneSignal SDK 会自动将应用版本上报给 OneSignal。在 iOS 上,这是 Xcode 中的 Version 字段;在 Android 上,这是 build.gradle 文件中的 versionCode

为什么 iOS 和 Android 需要分别创建消息?

iOS 和 Android 使用不同的版本格式(例如 1.0.110001),且各平台的商店链接也不同。分别创建分段和消息可确保为每个平台使用正确的版本过滤器和商店链接。

我可以用 Journeys 代替应用内触发器吗?

可以。您可以创建一个 Journey,针对相同的基于版本的分段,并将发送应用内消息作为其中一个步骤。这样您可以对时间安排和后续操作进行更多控制。
需要帮助?与我们的支持团队聊天或发送邮件至 support@onesignal.com请包含以下信息:
  • 您遇到的问题详情以及复现步骤(如有)
  • 您的 OneSignal 应用 ID
  • 外部 ID 或订阅 ID(如适用)
  • 您在 OneSignal 控制台中测试的消息 URL(如适用)
  • 任何相关的日志或错误信息
我们很乐意为您提供帮助!