Django 經過APNS推送消息

  最近手上一個項目須要經過APNS向app推送消息,因爲後端採用drf框架,在github上找了好多模塊,最終發現pzanitti大神的推送模塊 django-push-notifications 比較好用,特此感謝pzanitti大神,也像你們推薦使用。下面是個人配置流程僅供參考,你們能夠根據需求進行修改。python

1.模塊Dependenciesgit

  Python 2.7 or 3.4+
github

  Django 1.11+
web

  For the API module, Django REST Framework 3.7+ is required.
django

2. Setup後端

  pip install django-push-notificationsapi

3. settings.py 配置app

  # 將模塊導入
框架

  INSTALLED_APPS = ( ... "push_notifications" ) ui

  # 推送消息配置

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

相關文章
相關標籤/搜索