IOS APNS 推送,利用HTTP2.0 特性以及异步实现多用户推送

本文介绍了如何利用Python的HTTP2.0特性进行iOS APNS推送,通过异步处理显著提高了多用户推送的效率,避免了传统循环推送的低效问题。文中提供两种服务器代码实现供参考,适用于Python 3.0及以上版本。
摘要由CSDN通过智能技术生成

IOS APNS 推送,利用HTTP2.0 特性以及异步实现多用户推送

  1. 原生的apns不支持直接多用户推送,如果单纯的使用HTTP2.0, 而不考虑其特性直接利用循环推送会非常慢(每个推送大概会花费1秒左右的时间)
  2. httpx,python中,支持http2.0请求的第三方包。简单教程
  3. http2.0的特性,这里就不仔细说明了,可以自行查询。
  4. 以下提供了Djangoaiohttp两个版本的服务器代码,可自行选择。(django只支持3.0以上版本)
import httpx
import asyncio

async def http2conn(device_token, client, content):
    r = await client.post(f"/3/device/{device_token}", json=content)
    logger.info('ios push: ' + device_token)
    logger.info(r.status_code)

# 您可以参考apple apns官方文档,重组下面的推送参数
# 此函数可以在协程中直接调用
async def ios_push(title, text, product, product_id, device_tokens='', **kwargs):
    """
    kwargs={'product':'', 'product_id': '产品id', 'device_token': 'device_token
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值