Skip to main content

概述

如果您有一个移动友好的网站并希望将其转换为可下载的移动应用程序以上架 Apple App Store 或 Google Play Store,Median.co 是一个强大的解决方案。它还提供了与 OneSignal 的无缝集成以启用推送通知。

设置

1. 使用 Median.co 创建您的应用

  1. 遵循 Median.co 入门指南
  2. <https://median.co/app> 构建应用程序。

2. 设置 OneSignal

  1. 转到 onesignal.com 并创建账户。
  2. 配置您的 OneSignal 应用程序和平台。

配置您的 OneSignal 应用和平台

推送通知所需设置 要开始使用 OneSignal 发送推送通知,您必须首先为您支持的所有平台配置 OneSignal 应用——Apple (APNs)、Google (FCM)、华为 (HMS) 和/或 Amazon (ADM)。
如果您的组织已有 OneSignal 账户,请要求邀请您为管理员角色以配置应用。否则,请注册免费账户以开始使用。
您可以在单个 OneSignal 应用下管理多个平台(iOS、Android、华为、Amazon、Web)。
1

创建或选择您的应用

  • 要向现有应用添加平台,请在 OneSignal 控制台中转到 设置 > 推送和应用内
  • 要重新开始,请点击 新应用/网站 并按照提示操作。

示例显示创建新应用。

2

设置并激活平台

  • 为您的应用和组织选择一个清晰且易识别的名称。
  • 选择您要配置的平台(iOS、Android 等)。
  • 点击 下一步:配置您的平台

设置首个 OneSignal 应用、组织和频道的示例。

3

配置平台凭据

根据您的平台按照提示操作:输入您的凭据后点击 保存并继续
4

选择目标 SDK

选择与您的开发平台匹配的 SDK(例如,iOS、Android、React Native、Unity),然后点击 保存并继续

选择您正在使用的 SDK 以导航到文档。

5

安装 SDK 并保存您的应用 ID

配置好您的平台后,将显示您的 OneSignal 应用 ID。复制并保存此 ID——在安装和初始化 SDK 时您将需要它。如果与他人协作,请使用 邀请 按钮添加开发人员或团队成员,然后点击 完成 以完成设置。

保存您的应用 ID 并邀请其他团队成员。

完成后,请遵循您所选平台的 SDK 安装指南以完成 OneSignal 集成。

3. 将 OneSignal 链接到您的 Median 应用

将 OneSignal 应用程序 ID 粘贴到您的 Median.co(GoNative)应用程序配置中。

测试 OneSignal SDK 集成

本指南帮助您通过测试推送通知、订阅注册和应用内消息传递来验证您的 OneSignal SDK 集成是否正常工作。

检查移动订阅

1

在测试设备上启动您的应用。

如果您在初始化期间添加了 requestPermission 方法,原生推送权限提示应该会自动出现。

iOS 和 Android 推送权限提示

2

检查您的 OneSignal 仪表板

在接受提示之前,检查 OneSignal 仪表板:
  • 转到 受众 > 订阅
  • 您应该看到状态为 “Never Subscribed” 的新条目。

仪表板显示具有“从未订阅”状态的订阅

3

返回应用程序并在提示上点击允许。

4

刷新 OneSignal 仪表板订阅页面。

订阅状态现在应该显示 已订阅

仪表板显示具有“已订阅”状态的订阅

您已成功创建了移动订阅。 当用户首次在设备上打开您的应用程序时,或者如果他们在同一设备上卸载并重新安装您的应用程序时,会创建移动订阅。

设置测试订阅

测试订阅有助于在发送消息之前测试推送通知。
1

添加到测试订阅。

在仪表板中,在订阅旁边,点击 选项(三个点) 按钮并选择 添加到测试订阅

将设备添加到测试订阅

2

命名您的订阅。

为订阅命名,以便您稍后在 测试订阅选项卡 中轻松识别您的设备。

仪表板显示“命名您的订阅”字段

3

创建测试用户细分。

转到 受众 > 细分 > 新建细分
4

命名细分。

将细分命名为 Test Users(名称很重要,因为稍后会用到)。
5

添加测试用户过滤器并点击创建细分。

使用测试用户过滤器创建“测试用户”细分

您已成功创建了测试用户细分。 我们现在可以测试向此单个设备和测试用户组发送消息。

通过 API 发送测试推送

1

获取您的应用 API 密钥和应用 ID。

在您的 OneSignal 仪表板中,转到设置 > 密钥和 ID
2

更新提供的代码。

将下面代码中的 YOUR_APP_API_KEYYOUR_APP_ID 替换为您的实际密钥。此代码使用我们之前创建的 Test Users 细分。
curl -X \
POST --url 'https://api.onesignal.com/notifications' \
 --header 'content-type: application/json; charset=utf-8' \
 --header 'authorization: Key YOUR_APP_API_KEY' \
 --data \
 '{
  "app_id": "YOUR_APP_ID",
  "target_channel": "push",
  "name": "Testing basic setup",
  "headings": {
  	"en": "👋"
  },
  "contents": {
    "en": "Hello world!"
  },
  "included_segments": [
    "Test Users"
  ],
  "ios_attachments": {
    "onesignal_logo": "https://avatars.githubusercontent.com/u/11823027?s=200&v=4"
  },
  "big_picture": "https://avatars.githubusercontent.com/u/11823027?s=200&v=4"
}'
3

运行代码。

在您的终端中运行代码。
4

检查图像和已确认投递。

如果所有设置步骤都成功完成,测试订阅应该收到包含图像的通知:

在 iOS 和 Android 上带有图像的推送通知

图像在折叠的通知视图中显示较小。展开通知以查看完整图像。
5

检查已确认投递。

在您的仪表板中,转到投递 > 已发送消息,然后点击消息查看统计信息。您应该看到已确认统计,意味着设备收到了推送。

显示已确认投递的投递统计

如果您使用专业计划或更高级别,请滚动到受众活动以查看订阅级别的确认:

在受众活动中显示设备级别的已确认投递

您已成功通过我们的 API 向细分发送了通知。
  • 没有收到图像?您的Notification Service Extension可能缺失。
  • 没有确认投递?检查您的 App Groups 设置
  • 遇到问题?将 API 请求和从应用启动开始到结束的日志复制粘贴到 .txt 文件中。然后将两者都分享给 support@onesignal.com

发送应用内消息

应用内消息让您在用户使用您的应用时与他们交流。
1

在设备上关闭或后台运行您的应用。

这是因为用户必须在新会话开始_之前_满足应用内受众条件。在 OneSignal 中,当用户在应用在后台或关闭至少 30 秒后打开应用时,新会话开始。有关更多详情,请参阅我们关于如何显示应用内消息的指南。
2

创建应用内消息。

  • 在您的 OneSignal 仪表板中,导航到消息 > 应用内 > 新应用内
  • 查找并选择欢迎消息。
  • 将您的受众设置为我们之前使用的测试用户细分。

使用应用内消息定向'测试用户'细分

3

如需要,自定义消息内容。

应用内欢迎消息自定义示例

4

将触发器设置为'在应用打开时'。

5

计划频率。

计划 > 您希望多久显示一次此消息?下选择每次满足触发条件时

应用内消息计划选项

6

使消息上线。

点击使消息上线,以便测试用户每次打开应用时都可以使用它。
7

打开应用并查看消息。

应用内消息上线后,打开您的应用。您应该看到它显示:

在设备上显示的欢迎应用内消息

没有看到消息?
  • 开始新会话
    • 您必须在重新打开之前关闭或将应用后台运行至少 30 秒。这确保开始新会话。
    • 有关更多信息,请参阅如何显示应用内消息
  • 仍在 Test Users 细分中?
    • 如果您重新安装或更换了设备,请重新将设备添加到测试订阅并确认它是测试用户细分的一部分。
  • 遇到问题?
    • 在重现上述步骤时遵循获取调试日志。这将生成您可以与 support@onesignal.com 共享的额外日志,我们将帮助调查发生了什么。
您已成功设置 OneSignal SDK 并学习了重要概念,如:

提示推送权限

不要在应用打开时立即调用 requestPermission(),而是采取更具战略性的方法。在请求权限之前,使用应用内消息解释推送通知的价值。 有关最佳实践和实施详情,请参阅我们的提示推送权限指南。

常见问题

如何在客户端访问 OneSignal 数据?

使用 Median Native JavaScript Bridge 方法 median_onesignal_info 来检索 OneSignal 订阅 ID(oneSignalUserId)和订阅状态。
javascript
  var osSubscriptionId = "the OneSignal Subscription ID string";
  var isSubscribedToPushNotifications;

  median.onesignal.onesignalInfo().then(function (oneSignalInfo) {
    console.log(oneSignalInfo);
    osSubscriptionId = oneSignalInfo.oneSignalUserId;
    isSubscribedToPushNotifications = oneSignalInfo.oneSignalSubscribed;
  });
更多详情请参阅 Median.co 文档

如何向我的 Median 应用发送深度链接推送通知?

Median 应用使用深度链接提供原生体验,而不是打开弹出浏览器。

使用 OneSignal 仪表板时:

  • 不要使用启动 URL 字段。
  • 相反,使用附加数据字段。
    • 添加键:targetUrl(大写”U”)
    • 添加值:您希望用户打开的 URL。

Using Additional Data with targetUrl

使用 REST API 时:

在推送负载的 data 对象中包含 targetUrl。示例:
{
  "app_id": "YOUR-APP-ID",
  "include_player_ids": ["USER-ID"],
  "data": { "targetUrl": "https://example.com/page" },
  "contents": { "en": "Check out this page!" }
}

同时发送给网页和移动设备?

如果您同时发送给网页和移动设备: 在启动 URL 部分,选择”网页/应用不同 URL”。 将 APP URL 字段留空以防止覆盖。

为网页和移动设备配置不同的 URL


I