JPush ios接收问题


(zhmj) #1

Java 服务端

PushPayload payload = PushPayload.newBuilder().setPlatform(
        		Platform.android_ios()
        ).setAudience(
        		Audience.newBuilder()
                //.addAudienceTarget(AudienceTarget.tag("tag1", "tag2"))
                .addAudienceTarget(
                		AudienceTarget.alias(alias)
                ).build()
        ).setNotification(
        		Notification.newBuilder()
        		.setAlert(content)
        		.build()
        ).setOptions(
        		Options.newBuilder()
        		.setApnsProduction(true)
        		.build()
        ).build();

发送通知ios没有提示,也不出现角标。
但是在极光开发后台发送通知能有提示也出现角标。
这是什么原因?


#2

请传alert和badge。


(zhmj) #3

有ios跟android通用方法吗


#4

Android与iOS的参数值是不一样的,通用的只有Notification里面的alert。
请分别传值定义。


(zhmj) #5

那我还要Java端判断客户是用是ios还是android设备,还是两个都设置起来就可以啊


#6

为什么需要判断?
你直接推送给所有的平台,你的目标是Android的就收到的是Android里面的数据,iOS就是收到iOS的数据。


(zhmj) #7
PushPayload payload = PushPayload.newBuilder().setPlatform(
        		Platform.android_ios()
        ).setAudience(
        		Audience.newBuilder()
                //.addAudienceTarget(AudienceTarget.tag("tag1", "tag2"))
                .addAudienceTarget(
                		AudienceTarget.alias(alias)
                ).build()
        ).setNotification(
        		Notification.newBuilder()
        		.addPlatformNotification(
        				IosNotification.newBuilder()
                        .setAlert(content)
                        .setBadge(5)
                        .setSound("happy")
                        .addExtra("from", "新钢集团")
                        .build()
        		)
        		.addPlatformNotification(
        				AndroidNotification.newBuilder()
                		.setAlert(content)
                        .build()
        		)
        		.build()
        ).setOptions(
        		Options.newBuilder()
        		.setApnsProduction(true)
        		.build()
        ).build();

这样就可以了是吧


#8

你可以测一下。

另外角标你传5,那么收到的就是5.


(zhmj) #9

android是如何设置.setBadge(badge)的啊


#10

Android没有支持角标