我们直连APNs. 极光送达率真是感人...
本项目使用Redis + Golang打造,API请求延迟在1ms以内。
Table of Contents使用方法:
$ git clone https://github.com/jiajunhuang/obito $ cd obito $ go build $ # 另外需要crontab配合使用,定期清除已过期的key $ cd cron $ go build
开发工程中感谢iOS客户端童鞋的大力支持,谢谢!
redis中的key都比较长,后续如果内存吃紧,可以考虑使用更加短的方案,但是目前来说 还在可接受范围内
使用指南
首先,需要iOS端配合做好以下工作:
uuiddevice_token/reportdevice_tokenUUIDdevice_token/badge/clear
API
所有操作,如果成功,则返回:
状态码为200且json为
{ "code": 200, "message": "", "result": {} }
如果失败,则返回:
状态码为400,500等,且json为
{ "code": 400, "message": "具体错误提示", "result": {} }
给设备打tag
POST /tag
带上以下JSON:
{ "uuid": "12345678-1730-4414-9728-95616073fe82", "tag_list": ["tag1", "tag2"] }
给某个设备发送推送
POST /push
带上以下JSON:
{ "uuid": "12345678-1730-4414-9728-95616073fe82", "content": "Hello, this is a test with very long somewhat" }
清除badge
DELETE /badge
带上以下JSON:
{ "uuid": "12345678-1730-4414-9728-95616073fe82" }
按tag推送
POST /tag/push
带上以下JSON:
{ "tag": "tag1", "content": "push_by_tag" }
上报设备信息
POST /report
带上以下JSON:
{ "uuid": "f8206027-8752-4850-bb20-3ae0f23d082e", "device_token": "12345678-1730-4414-9728-95616073fe82" }
MIT License