通过api发起推送ios收不到,极光web后台推送可以收得到

jpush
ios
收不到消息
标签: #<Tag:0x00007fb833da1dd8> #<Tag:0x00007fb833da1c98> #<Tag:0x00007fb833da1978>

(wongy) #1

代码如下

    public static void PushAlertAll(String alert) {
    		try {
    //			jPushClientDIAOZHATIA.sendPush(
    //					PushPayload.alertAll(alert));
    			jPushClientTRADEPOLICY.sendPush(
    					PushPayload.alertAll(alert));
    		} catch (APIConnectionException e) {
    			e.printStackTrace();
    			System.out.println(e.getMessage());
    		} catch (APIRequestException e) {
    			e.printStackTrace();
    			System.out.println(e.getMsgId()+""+ e.getErrorMessage() + " " +e.getLocalizedMessage());
    		} catch (Exception e){
    			e.printStackTrace();
    		}finally {
    			jPushClientDIAOZHATIA.close();
    		}
    	}

这个推送只有Andorid才能收得到 ios收不到
但是我用极光web后台推送:选择广播形式,选择ios生产环境;就可以收得到消息。照常理说PushPayload.alertAll()这个方法是可以推送给所有平台的所有用户的。代码推送没有出现异常

屏幕快照 2018-04-03 下午3.20.29
屏幕快照 2018-04-03 下午3.20.05


#2

API推送消息给iOS,需要指定推送的环境!请让后台修改apns_production,false是开发,true是生产。

关于测试两种环境的说明: 常见问题 - JPush 合集(持续更新)


(wongy) #3

请问一下PushPayload.alertAll()这个方法也是需要设置推送环境吗?


#4

都需要,只要你的目标里面有 iOS 的,都要给他指定环境


(wongy) #6

使用的key是570b353ec3e03b21112e2108


(wongy) #7

我正是按照官方的文档来的 很简单不需要设置那个环境的
但是还是无法完成对ios的推送,使用的官方代码如下

屏幕快照 2018-04-03 下午7.43.53


#8

不管是用什么方式推送,请都设置环境参数!SDK 有默认设置一个参数,不同的 SDK 或许不一样,而这个参数应该设置什么,取决于你现在要推送的是生产还是开发的消息!所以不要用默认的!

示例是示例,麻烦你们根据需求自己创建 pushpayload
根据链接中的 example 示例,设置apns_production :


(wongy) #10

找到问题了谢谢