参考文件:https://docs.qq.com/pdf/DS3lMam9GRFJiRkpJ
TUTK目前使用的推送服务,已经集成了市面上主流的手机厂商推送,比如APNS、FCM、小米,华为,OPPO,VIVO等手机厂商通道,对于手机跟设备端来说,只需要对接TUTK的推送服务就可以使用主流的手机厂商通道。
APP端:
时机问题:
(1) 添加设备: client + mapping(每隔一段时间需要更新token,重新执行此步)
(2) 删除设备(单个):rm_mapping
设备端:
可以使用curl等第三方库post htttp的方式,来向服务器推送消息。
参考sample code: SDK\Sample\Linux\Sample_AVAPIs\AVAPIs_Server.c
相关接口:
l GetPushMessageString()
l SendPushMessage() //向手机推送消息,随用随调。
l GetRegMessageString()
l SendRegister() //新版本已经不需要调用这个接口了
在SendRegister里面,调用send之后,建议加上recv,接收服务器的回应。如果不加recv,立刻关闭socket fd,可能会导致本次推送失败,因为send的数据可能还在系统缓存区里面,还没发出去。加recv第一能获取到服务器回应,第二可以有一个延时时间。
模拟手推链接:
海外: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
附一:常见的推送消息如下
附二:国内外推送服务以及对应的域名:
(1) APNS:push.iotcplatform.com
(2) FCM: push.iotcplatform.com
(3) (国内)极光、信鸽、华为,小米、oppo:push.kalay.net.cn
端口:http是80/7379,https用7380
附三:各个推送服务需要提供的资料给TUTK:
(1) APNS: bundle
id、pem证书、pem类型(dev or
dis)、pem证书密码(如果有密码的话,需要提供,没有则不需要,建议不设密码)
(2) FCM: APPID、服务器密钥
(3) 信鸽:APPID、APP ID、SECRET KEY