Django 通过APNS推送消息
最近手上一个项目需要通过APNS向app推送消息,由于后端采用drf框架,在github上找了好多模块,最终发现pzanitti大神的推送模块 django-push-notifications 比较好用,特此感谢pzanitti大神,也像大家推荐使用。下面是我的配置流程仅供参考,大家可以根据需求进行修改。
1.模块Dependencies
Python 2.7 or 3.4+
Django 1.11+
For the API module, Django REST Framework 3.7+ is required.
2. Setup
pip install django-push-notifications
3. settings.py 配置
# 将模块导入
INSTALLED_APPS = ( ... "push_notifications" )
# 推送消息配置
PUSH_NOTIFICATIONS_SETTINGS = {
# pem文件的绝对路径
"APNS_CERTIFICATE": r"/path/to/xxx.pem",
# 在apns服务中心配置,配置文档地址后面贴上
"APNS_TOPIC": "xxx.xxx.xxxApp",
# 这个端口号不需要改了
"APNS_USE_ALTERNATIVE_PORT": 2197,
"UPDATE_ON_DUPLICATE_REG_ID": False,
# 我的配置使用的是沙箱环境,生产环境的配置类似
"CONFIG": "push_notifications.conf.AppConfig",
"APNS_USE_SANDBOX": "api.development.push.apple.com",
"APPLICATIONS": {
# 下面的xxx.xxx.xxxApp是上面的APNS_TOPIC,由于不方便写真实的TOPIC,大家见谅,注意修改成自己配置好的
"xxx.xxx.xxxApp": {
# PLATFORM (required) determines what additional settings are required.
"PLATFORM": "APNS",
# required APNS setting
#下面的是证书的绝对路径,跟上面的配置"APNS_CERTIFICATE": r"/path/to/xxx.pem"一致
"CERTIFICATE": r"/path/to/xxx.pem",,
"USE_SANDBOX": True,
},
},
}
4 urls.py 配置
router.register(r'api/v1/device/apns', APNSDeviceAuthorizedViewSet) # 注册设备的
5. 注册设备参数说明
通过第四步配置的路由添加设备时,几个参数和大家说一下。
Application ID : 上面配置的APNS_TOPIC
Registration ID: device token
Device ID : UDID
6.证书生成
IOS生成pem 方法: https://blog.csdn.net/lgm252008/article/details/11201467
注意生成pem一定要no key
7. 总结
按照上面流程配置好,就可以推送消息了,希望对大家有所帮助,少踩一些坑。最后再次感谢pzanitti大神。
文档地址:
https://github.com/jazzband/django-push-notifications
Django 通过APNS推送消息的更多相关文章
- iOS开发之功能模块--Apns推送中的的json格式介绍
在开发向苹果Apns推送消息服务功能,我们需要根据Apns接受的数据格式进行推送.下面接受我在进行apns推送时候总结的一点apns服务接受的Json数据格式 示例 1: 以下负载包含哦一个简单的 a ...
- Apns推送中的的json格式介绍
在开发向苹果Apns推送消息服务功能,我们需要根据Apns接受的数据格式进行推送.下面接受我在进行apns推送时候总结的一点apns服务接受的Json数据格式 示例 1: 以下负载包含哦一个简单的 a ...
- iOS监听模式系列之推送消息通知
推送通知 和本地通知不同,推送通知是由应用服务提供商发起的,通过苹果的APNs(Apple Push Notification Server)发送到应用客户端.下面是苹果官方关于推送通知的过程示意图: ...
- $Django 支付宝支付,微信服务号推送消息 (测试需要把应用程序部署到服务器上)
一 支付宝支付 大概 支付宝支付 正式环境:需要用营业执照去申请商户号,appid 测试环境:沙箱环境:https://openhome.alipay.com/platform/appDaily.ht ...
- python使用pyapns进行ios推送消息
Pyapns 提供了通用的Apple Push Notification Service (APNS).该解决方案使用了开源的Twisted server,支持原生的Python和Ruby API. ...
- 使用PushSharp给iOS应用推送消息
PushSharp是一个C#编写的服务端类库,用于推送消息到各种客户端,支持iOS(iPhone/iPad).Android.Windows Phone.Windows 8.Amazo.Blackbe ...
- iOS -- 处理推送消息
简介 很多应用都会实现推送功能,我们可以集成第三方框架实现推送功能,比如: JPush推送:https://www.jpush.cn 个推:http://www.getui.com 下面来说说收到推送 ...
- IOS 本地通知推送消息
在现在的移动设备中,好多应用性的APP都用到了推送服务,但是有好多推送的内容,比如有的只是单纯的进行推送一个闹钟类型的,起了提醒作 用,有的则是推送的实质性的内容,这就分为推送的内容来区别用什么推送, ...
- iOS极光推送 点击推送消息跳转页面
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launc ...
随机推荐
- 编写高质量JavaScript代码的68个有效方法
简介: <Effective JavaScript:编写高质量JavaScript代码的68个有效方法>共分为7章,分别涵盖JavaScript的不同主题.第1章主要讲述最基本的主题,如版 ...
- sql 数据库数据 批量判断修改
A表B表相关联 更新B表中的VisitWeek字段值 CCD_PartnerVisit 此为B表 Dell_FiscalWeek 此为A表 UPDATE CCD_PartnerVisit SET ...
- centos7 离线安装Ambari
准备工作: 新下载的centos7 安装 createrepo,用于制作源 yum install createrepo 安装java (推荐 java 1.7以上版本,如果有,则跳过此步骤) yum ...
- 008.在C#中,显式接口VS隐式接口
原文http://www.codeproject.com/Articles/1000374/Explicit-Interface-VS-Implicit-Interface-in-Csharp (At ...
- DedeCMS修改管理员用户名
织梦内容管理系统(DedeCMS) 以简单.实用.开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,在经历多年的发展,目前的版本无论在功能,还是在易用性方面,都有 ...
- 撩课-Web大前端每天5道面试题-Day22
1.mvvm和mvc区别?它和其它框架(jquery)的区别是什么?哪些场景适合? mvc和mvvm其实区别并不大. 都是一种设计思想. 主要就是mvc中Controller演变成mvvm中的view ...
- python之协程gevent模块
Gevent官网文档地址:http://www.gevent.org/contents.html 进程.线程.协程区分 我们通常所说的协程Coroutine其实是corporate routine的缩 ...
- Code Signal_10分钟挑战题_constructArray
完成时间3分06秒 Given an integer size, return an array containing each integer from 1 to size in the follo ...
- PHP报错Deprecated: Function ereg_replace() is deprecated in
可能用了PHP5.3乃至更高的PHP版本,目前DEDE中有很多地方的正则函数都用的ereg_replace,而这个函数现在在PHP5.3中已经被废止了. 解决办法: 如果一定要用php5.3,请修改p ...
- ios或者cocos2d-x开发在Xcode编译时自适应失效,获取屏幕尺寸不准确
在cocos2d-x的开发中,发现之前很好使的 setDesignResolutionSize(960.0f, 640.0f, kResolutionExactFit)自适应不好用了,后来调试发现不是 ...