一、核心说明
TUTK 推送服务已深度集成市面上主流手机厂商推送通道,手机端与设备端无需单独对接各厂商接口,仅需对接 TUTK 推送服务,即可快速启用多平台推送通道能力,目前支持的通道有:APNS、FCM、小米、华为、OPPO、VIVO、极光、信鸽。对接前,需自行到第三方平台申请对应的资料,再提供给到TUTK,加到白名单。

图1:TUTK 推送服务整体架构图
二、主要的交互流程

图2:TUTK 推送服务完整流程图
主要流程:
- APP 从第三方服务器获取推送 Token;
- APP 向 TUTK 推送服务(KPNS)完成注册;
- APP 向 KPNS 服务器发起设备绑定请求(建立设备与手机的关联);
- 设备向 KPNS 服务器推送事件消息;
- KPNS 服务器将消息分发给对应的第三方服务器;
- 第三方服务器通过集成的厂商通道向目标手机推送消息。
三、APP 端关键操作
手机端直接使用 HTTP POST 方式 向KPNS服务器发起注册以及绑定操作。
3.1 绑定设备(操作时机)
注册-client: 添加设备时,或者第三方token过期重新获取token后。
绑定-mapping: 添加设备时,或者第三方token过期重新获取token后,每次只能操作一个uid。
同步-sync: 每次打开APP时,sync可以同时具有mapping和rm_mapping的功能,一次可以操作多个uid,所以不需要重复再调用mapping以及rm_mapping。
3.2 解绑设备(操作时机)
解绑-rm_mapping:用户删除设备时,每次只能操作一个uid。
同步-sync: 每次打开APP时,sync可以同时具有mapping和rm_mapping的功能,一次可以操作多个uid,所以不需要重复再调用mapping以及rm_mapping。
3.3 API参数
具体参数,请参考章节:KPNS接口-手机端。
四、设备端推送实现
设备端直接使用 HTTP POST 方式 向KPNS服务器发起消息推送。
具体参数,请参考章节:KPNS接口-设备端。
五、快速测试与调试
手机端可通过以下模拟推送链接,直接验证通道连通性,快速定位推送链路问题:
海外环境:http://us-server-domain/tpns?cmd=event&uid={uid}&event_type={event_type}&no_wait=1&debug=1
国内环境:http://cn-server-domain/tpns?cmd=event&uid={uid}&event_type={event_type}&no_wait=1&debug=1
参数替换说明:
- {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(海外) | 80 / 7379 | 7380 |
| 小米、华为、OPPO、VIVO、极光、信鸽(国内) | 80 / 7379 | 7380 |
