NutzCN Logo
问答 jpush在推送时,被拒绝了,是需要配置什么内容吗?
发布于 2910天前 作者 shusheng 1866 次浏览 复制 上一个帖子 下一个帖子
标签: chrome
$(function(){
	if (!Notification) {
		return;
	}
	if (console)
	    console.info(Notification.permission);
	if (Notification.permission == "denied") {
		return;
	}
5 回复

你贴的代码是页面端的推送,不是jpush

public void onMessage(String message) {
        try {
            NutMap msg = Json.fromJson(NutMap.class, message);
            String action = msg.getString("action");
            if (Strings.isBlank(action))
                return;
            String room = msg.getString("room");
            switch (action) {
            case "join":
                join(room);
                break;
            case "left":
                left(room);
                break;
            default:
                break;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    public void join(String room) {
        if (!Strings.isBlank(room)) {
            log.debugf("session(id=%s) join room(name=%s)", uu32, room);
            try (Jedis jedis = jedisPool.getResource()) {
                rooms.add(room);
                jedis.hset(NutzbookWebsocket.prefix+room, uu32, "");
            }
        }
    }

这些代码的作用,装入redis中,然后可以通知在线的用户吗

if (Notification.permission == "denied") {
		return;
	}

这个权限被denied是什么意思,没有什么权限?

是的,通过websocket

用Chrome的话,有这个API, 第一次访问的时候会提示"是否允许通知", 如果点了否, 那之后都是显示denied, 除非提示用户设置一下.

PS: 这个Notification与websocket没有依赖关系. websocket依然可以用的, 依然可以通过layer之类的弹出通知

添加回复
请先登陆
回到顶部