如何给部分用户推送消息至通知栏?服务器无法获取该部分人员信息

tag设置
jpush
tag推送
标签: #<Tag:0x00007fb84d44eed8> #<Tag:0x00007fb84d44ed98> #<Tag:0x00007fb84d44ec58>

(big_scorpio) #1

需要定时给 当前未浏览该APP某页面的 用户推送消息至通知栏…考虑过tag等方式 但是前提是后台需要知道哪些用户才能对其加标签推送 … 实在是头疼!!!不知道是否有方法解决


#2

你可以用本地通知,定时检测你的用户是否未浏览该页面,没有的就创建个本地通知提醒他们。


(big_scorpio) #3

谢谢您的回复,但是这个地方的消息推送是服务器来触发的 本地并不知道何时应该推送… 我在考虑是不是可以进入APP设置固定的tag,离开页面取消tag,服务器端收到推送任务后就给这个固定的tag推送消息;
但是有几点疑问:APP设置完tag或者取消tag是否需要提交给服务器?上述的做法是否有逻辑问题或者jpush是否支持该操作?:slight_smile:


#4

极光是支持的,既然tag是固定的,那么就不需要上传给你们自己的服务器。

只是极光这边有一点限制:

设置tagalias的接口调用频率是5s以上,低于5s就会报6002超时
极光后台在短时间内不允许对同个设备重复设置别名和标签
2小时内,不支持对同个regid设置相同tag、alias值;
5s内也不支持对同个regid设置不同tag、alias值

如果是设置相同的,会直接返回成功,如果超频(5s内)会直接丢弃,客户端就是收不到响应


(big_scorpio) #5

额,给全部用户推送消息,但是这个消息不直接放到通知栏,由Android和iOS接收后判断当前是否在该页面,然后推送到通知栏?


#6

你可以推送自定义消息,不要推送通知~然后判断,然后自己写代码做展示(可以创建本地通知展示或者自己写通知栏)

或者推送 没有alert的通知消息(默认不展示),Android 可以获取到数据,然后判断-然后展示

iOS的话,就需要你带上content-available之后,再不传alert的值,这样iOS才能后台获取到数据,否则是没法获取到的。了解此类消息

也可以(不带alert)通知和自定义消息同时推送 通知与自定义消息文章


(big_scorpio) #7

好的,我尝试一下,谢谢!:grin::grin:


(big_scorpio) #8

我刚才看了一下 如果是推送自定义消息的话,必须APP在前台才可以接收到是吧 那些不在该页面,把APP放到后台的就收不到通知消息了…:confused:


#9

iOS是,Android不是。所以iOS给了你另外的方法


(big_scorpio) #10

好的 我试一下 :wink:


(big_scorpio) #11

您好,过了这么久又来麻烦您,帮忙看一下思路有没有问题…

PushPayload
				.newBuilder()
				.setPlatform(Platform.android_ios())
				.setOptions(
						Options.newBuilder().setApnsProduction(true).build())
				.setAudience(Audience.all())
				.setNotification(
						Notification
								.newBuilder()
								.addPlatformNotification(
										IosNotification.newBuilder()
												.setContentAvailable(true)
												.incrBadge(1)
												.addExtra("", map.get(""))
												.build()).build())
				.setMessage(
						Message.newBuilder().setMsgContent(msg)
								.addExtra("", map.get("")).build()).build()

(big_scorpio) #12

安卓走的是自定义消息来获取
iOS按照您说的走通知 然后设置参数来控制不用在前台就可以获取消息
不知道我理解的有没有问题:sweat_smile:


#13

思路没有问题的


(big_scorpio) #14

好的,谢谢您啦:slight_smile: