是否可以仅使用 WonderPush REST API 将推送通知发送到 Android 设备而不使用它们的 SDK?

Is it possible to use just the WonderPush REST API to send Push notifications to Android devices without using their SDK?

我正在为非常关心用户数据隐私的客户开发一个 Android 应用程序。

WonderPush Android SDK 是开源的,但我想在 Google Play.

不升级应用程序的情况下进行几次测试

那么,是否可以仅使用 WonderPush REST API 向设备发送推送通知而不使用它们的 SDK?

没有它也可以完成 SDK 所做的一切,尽管使用 SDK 将大大简化开发人员的工作。模拟 SDK 特别容易,因为它是开源的并且可以在 GitHub, and the REST API is documented.

上使用

您也可以在模拟器或您自己的设备上测试您的应用程序,无需部署新版本您启用 WonderPush 的应用程序来试验它。

可以使用 your dashboard or using the REST Management API 发送推送通知。 SDK负责注册接收推送通知的应用,收集用户并注册到WonderPush,并将接收到的推送通知展示给用户。


1a。如果您的应用程序未注册接收推送 通知

您需要遵循以下两个指南:

在您的 BroadcastReceiver 中,只需使用 intent.getExtras().getString("alert") 获取 alert 额外字符串字段,然后使用 NotificationManager.

格式化并显示通知

1b。如果您的应用程序已经准备好推送通知

与iOS不同,Android平台没有在推送通知中定义任何官方字段,它只是一个任意的JSON对象。 发送推送通知时,您主要对应用程序如何将其呈现给用户感兴趣。由于没有标准,每个供应商都做不同的事情。

因此您需要确保您发送的推送通知使用您的应用程序(包括您可能已经在使用的任何 SDK)准备好接受的格式。

WonderPush 使用 alert 字段存储要在用户设备的通知中心显示的消息。如果没有 WonderPush SDK,任何丰富的(警报对话框、html、地图等)通知配置都无法开箱即用,因为没有标准。 如果 alert 字段不适合您,您需要在通知表单中填写 “有效负载覆盖”。 您还可以使用 Management REST API 轻松地即时推送自定义通知。

2。导入 WonderPush 用户

为了向您用户的设备发送推送通知,WonderPush 必须了解他们。因此,您需要通过为每个用户创建一个安装对象来导入您的用户。 安装标识安装在用户设备上的应用实例。关键部分是为 WonderPush 提供 registrationId,在我们的行话中称为 push token。

curl -XPOST https://api.wonderpush.com/v1/authentication/accessToken \
    -d clientId=YOUR_APP_CLIENT_ID \
    -d devicePlatform=iOS \
    -d deviceId=FOOBAR

curl -XPATCH https://api.wonderpush.com/v1/installation \
    -d accessToken=TOKEN_FROM_PREVIOUS_CALL \
    -d body='{"pushToken":{"data":{"DEVICE_PUSH_TOKEN"}}}'

3。发送推送通知

可以使用 your dashboard, or using the REST Management API 发送推送通知,如下所示:

curl -XPOST https://management-api.wonderpush.com/v1/deliveries \
    -d accessToken=SERVER_PRIVATE_ACCESS_TOKEN \
    -d applicationId=YOUR_APP_ID \
    -d targetSegmentIds=@ALL \
    -d notification='{"alert":{"text":"Hello, WonderPush!"}}'