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预编译详解
一.js运行三部曲: 1.语法分析(通篇扫描看有没有语法错误) 2.预编译 3.解释执行 二.预编译前奏 1.imply global 暗示全局变量:任何变量如果未经声明就赋值,此变量为全局对象所有 ...
- SpringBoot相关配置
8.1 配置 Spring MVC的配置是通过继承WebMvcConfigurerAdapter类并重载其方法实现的; 前几个教程已做了得配置包括 01点睛Spring MVC 4.1-搭建环境 配置 ...
- python分布式爬虫打造搜索引擎--------scrapy实现
最近在网上学习一门关于scrapy爬虫的课程,觉得还不错,以下是目录还在更新中,我觉得有必要好好的做下笔记,研究研究. 第1章 课程介绍 1-1 python分布式爬虫打造搜索引擎简介 07:23 第 ...
- c#基础学习(0706)之使用虚方法实现多态
使用虚方法实现多态 namespace _0706 { class Program { static void Main(string[] args) { //这个时候调用的是父类的方法 Person ...
- table <thead>表格css‘样式
<table class="table table-bordered table-hover" id=""> <thead> <t ...
- SpringBoot访问NoSQL和简单的Thymeleaf-Spring-Spring-boot整合
SpringBoot访问NoSQL SpringBoot访问Redis 在pom.xml添加boot-data-redis定义 <parent> <groupId>org.sp ...
- Servlet的数据库访问
创建数据库: import java.sql.*; public class SqlUtil { static { try { Class.forName("com.mysql.jdbc ...
- solr+tomcat整合
一.solr安装 http://archive.apache.org/dist/lucene/solr/ 这个地址有各个版本的 这次我使用的是5.5.4版本和tomcat8 版本5.5.4已经内置了j ...
- 【转】详解spring 每个jar的作用
spring.jar 是包含有完整发布模块的单个jar 包.但是不包括mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2. ...
- C#观察者模式的应用与思考
1:项目场景 在设计数据表的时候有时候为了将来统计或查询的方便,我们会冗余一些字段.如有三张数据表,学校信息表.班级动态表.班级信息表. 班级动态由学校老师所发,可以进行评论点赞等操作,为了提升这种非 ...