KPNS消息推送
一、核心说明
TUTK 推送服务已深度集成市面上主流手机厂商推送通道,手机端与设备端无需单独对接各厂商接口,仅需对接 TUTK 推送服务,即可快速启用以下通道:
海外通道:APNS(苹果)、FCM(谷歌)
国内通道:小米、华为、OPPO、VIVO、极光、信鸽
图1:TUTK 推送服务整体架构图
二、主要的交互流程
- APP 从第三方服务器获取推送 Token;
- APP 向 TUTK 推送服务(KPNS)完成注册;
- APP 向 KPNS 服务器发起设备绑定请求(建立设备与手机的关联);
- 设备向 KPNS 服务器推送事件消息;
- KPNS 服务器将消息分发给对应的第三方服务器;
- 第三方服务器通过集成的厂商通道向目标手机推送消息。
三、APP 端关键操作
3.1 绑定设备(添加/Token 更新)
操作时机:新增设备时,或 Token 过期需要更新时
执行操作:调用 client + mapping 接口,建立手机与设备的推送关联(Token 需定期更新,更新后需重新执行此操作)。
执行操作:调用 client + mapping 接口,建立手机与设备的推送关联(Token 需定期更新,更新后需重新执行此操作)。
3.2 解绑设备(删除单个设备)
操作时机:用户删除设备时
执行操作:调用 rm_mapping 接口,解除手机与设备的推送关联,避免无效推送。
执行操作:调用 rm_mapping 接口,解除手机与设备的推送关联,避免无效推送。
四、设备端推送实现
设备端推荐使用 HTTP POST 方式 向服务器推送消息,支持通过 curl 等第三方库快速实现。
五、快速测试与调试
无需集成完整 SDK,可通过以下模拟推送链接直接验证通道连通性:
海外环境:http://push.iotcplatform.com/tpns?cmd=event&uid={uid}&event_type={event_type}&no_wait=1&debug=1
国内环境:http://push.kalay.net.cn/tpns?cmd=event&uid={uid}&event_type={event_type}&no_wait=1&debug=1
参数替换说明:
- {uid}:替换为设备 UID;
- {event_type}:替换为推送消息类型(参考下方「常见推送消息对照表」)。
- {uid}:替换为设备 UID;
- {event_type}:替换为推送消息类型(参考下方「常见推送消息对照表」)。
六、关键配置对照表
6.1 常见推送消息对照表(event_type)
| event_type | 中文(zh_CN) | 英文(enUS) | 法语(fr_FR) | 日语(ja_JP) | 繁体中文(zh_TW) |
|---|---|---|---|---|---|
| 1 或 4 | 移动侦测 | Motion Detection | Détection de mouvement | モーション検知 | 位移偵測 |
| 2000 | 用户呼叫 | User call | - | ユーザー呼び出し | 用戶呼叫 |
| 55 | 门磁报警 | door alarm | - | - | - |
| 37 | 您的门铃已经断线,请尽速确认! | Your doorphone is not connected with network, please confirm soon. | - | - | 您的門鈴已經斷線,請盡速確認! |
| 52 | 影像遗失 | video loss | - | - | - |
| 100 | 空白字串,配合&msg=自定义消息使用 | Custom Message (with &msg=) | - | - | 空白字串,配合&msg=自訂訊息使用 |
6.2 推送服务域名与端口
| 推送通道 | 域名 | HTTP 端口 | HTTPS 端口 |
|---|---|---|---|
| APNS、FCM(海外) | push.iotcplatform.com | 80 / 7379 | 7380 |
| 小米、华为、OPPO、VIVO、极光、信鸽(国内) | push.kalay.net.cn | 80 / 7379 | 7380 |
6.3 厂商通道所需资料(提供给 TUTK)
| 推送通道 | 所需资料 |
|---|---|
| APNS(苹果) | bundle id、pem 证书、pem 类型(dev 或 dis)、pem 证书密码(可选,建议不设) |
| FCM(谷歌) | APPID、服务器密钥 |
| 信鸽 | APPID、SECRET KEY |
| 小米/华为/OPPO/VIVO | 厂商开发者账号对应的 APP 配置信息 |
