极光推送分为web推送与api推送两种方式,web推送即通过极光后台给设备推送,一般推送不针对单个用户的消息,比如:欢迎参加xx活动。而api则一般推送包含变量的消息,如:{xx用户}提现{xx金额}已到账!

同时,web与api的推送的目标平台有四种,分别为:Android,ios开发环境,ios生产环境,WinPhone四种。

场景

集成了官方文档中提供的服务端SDK库(PHP),在通过api给指定registration_id推送消息时,Android设备可以收到推送,而ios设备调用无报错,但是在后台推送历史查看(筛选条件选择Api)查看时,发现ios推送记录目标为0,成功0;如下图所示:
在这里插入图片描述通过web方式给ios生产环境推送时则可以推送成功(ios开发环境为开发同学调试时使用,app发布我直接拿我自己手机的registration_id调的所以是生产环境推送),所以肯定不是app端sdk集成的问题。

解决方法

点开该条记录的详情,可以看到apns_production为false,查看极光推送api文档可知apns_production字段,True 表示推送生产环境,False 表示要推送开发环境;如果不指定则为推送生产环境。但注意,JPush 服务端 SDK 默认设置为推送 “开发环境”。该字段仅对 iOS 的 Notification 有效。
在这里插入图片描述
在调用api时将apns_production设置为true即可推送成功。

最近app接极光推送,虽然踩过坑,但是也学习了很多,如果有接推送遇到问题的同学评论区留言,大家一起探讨。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐