iOS仅用蜂窝数据/VPN隔离网络下无需APNs收推送的方案问询
结论先行
目前iOS没有公开的特殊权限支持完全脱离APNs服务器,在仅VPN/蜂窝隔离网络场景下接收标准Push Notifications及VoIP Notifications。
相关限制与可行方案说明
Local Push Connectivity 能力边界
该能力是Apple专为本地WiFi网络场景设计的推送替代方案,系统级限制仅能在设备接入配置的指定SSID WiFi时触发,不支持蜂窝数据、普通VPN网络下启动对应的扩展进程,无公开方式可绕过该限制。企业内部部署场景可选方案
如果你的项目仅面向企业内部使用、不需要上架App Store,可通过以下方式实现:
- 申请Network Extension框架下的隧道扩展权限,在VPN隧道运行时维持应用与内网推送服务器的长连接
- 配合后台刷新权限,在收到内网推送消息时调用本地通知API弹窗提醒,不需要经过APNs链路
- 注意该方案无法获得原生VoIP推送的系统级优先唤醒权限,呼入时延会高于APNs通道的VoIP通知,且上架App Store很难通过Apple的权限审核。
- 合规通用方案推荐
如果你的隔离网络允许配置白名单转发规则,可在VPN网关侧放行APNs相关的域名和端口,让APNs流量通过隔离网络的网关统一转发,这是Apple官方允许、且最稳定的隔离网络下推送实现方案。
内容的提问来源于stack exchange,提问作者Aziz
相关产品推荐
相关产品推荐

