多个应用如何发送推送,最好有例子参考


(Kto Ti) #1

我现在有个需求,有3个app,但是是同一个后台给三个app推送,看了v3的接口貌似不大好实现,求例子。而且看了参数,貌似不能设置tag或者alias?求大神解答


#2

可以对一个账号下多个不同的应用进行分组,同一组应用,推送消息时可以一起推送
控制台分组配置: https://docs.jiguang.cn/jpush/console/Instructions/#_6
推送的专用API: https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push/#group-push-api


(Kto Ti) #3

我已经分组了,但是 grouppush这个接口貌似不支持tag和alias参数吧,这个是所有的一起推送的吗?


#4

只是API和key不一样,其他的参数和用appkey对一个应用的推送是一样的啊,唯一不支持的字段文档里面也说了


(Kto Ti) #5

我是做java后台的 能给个例子么?


#6

跟你用appkey推送一样的啊,去创建PushPayload


(Kto Ti) #7

你好,我用你那个方法试了一下,android可以收到,ios的收不到,但是从极光后台发送可以收到,不知道什么原因


(Kto Ti) #8

代码如下 已经设置生产环境

 public static PushPayload buildPushObject_android_and_ios() {
        Map<String, String> extras = new HashMap<String, String>();
        extras.put("test", "https://community.jiguang.cn/push");
        return PushPayload.newBuilder()
                .setPlatform(Platform.android_ios())
                .setAudience(Audience.alias("ALNPet1"))
                .setOptions(Options.newBuilder()
                        .setApnsProduction(true)
                        .setSendno(ServiceHelper.generateSendno())
                        .build())
                .setNotification(Notification.newBuilder()
                		.setAlert("alert content")
                		.addPlatformNotification(AndroidNotification.newBuilder()
                				.setTitle("Android Title")
                                .addExtras(extras).build())
                		.addPlatformNotification(IosNotification.newBuilder()
                				.incrBadge(1)
                				.addExtra("extra_key", "extra_value").build())
                		.build())
                .build();
    }

#9

web推送可以收到,API推送不行,请自行对比二者推送历史-详情中的区别,一般是iOS环境问题、appkey不对、推送目标不一样。

API推送消息给iOS,需要指定推送的环境!请让后台修改apns_production,false是开发,true是生产。
如果修改没有用,检查自己的代码,是否有覆盖、引用、改的是A推送代码,实际推送却用的B代码等影响

客户端的环境与证书有关!
关于测试两种环境的说明: 常见问题 - JPush 合集(持续更新)