极光推送 服务端开发(nodejs)

极光官网: https://www.jiguang.cn/

1 极光推送环境配置

1.1 注册极光免费账号

这里写图片描述

1.2 进入应用中心,创建应用

这里写图片描述
得到AppKey 和 Master Secret
Master Secret:用于服务器端 API 调用时与 AppKey 配合使用达到鉴权的目的,请保管好 Master Secret 防止外泄。

1.3 创建极光推送包名

配置极光安卓了app包名
点击扫描下载安装包,我们得到了可以测试的安装包
安装后即可开始测试。

1.4 进入极光控制台中的 应用中

这里写图片描述

发起推送 测试是否环境配置成功.
成功则推送配置已经完成。

2 服务器端使用

2.1 配置极光推送sdk

文档: https://docs.jiguang.cn/jpush/server/sdk/nodejs_sdk/
本SDK提供JPush服务端接口的节点封装,与JPush Rest API组件通信。使用时引用该模块即可,可参考附带Demo学习使用方法。
安装 npm install jpush-sdk

2.2 极光推送概念

推送目标:

  • alias:别名(每个用户只能指定一个别名)
  • tag:标签(为安装了应用程序的用户打上标签,其目的主要是方便开发者根据标签,来批量下发Push 消息)
  • registration_id:客户端初始化 JPush 成功后,JPush 服务端会分配一个 Registration ID,作为此设备的标识。(标识某台设备上的app)

2.3 demo

  client.push().setPlatform(JPush.ALL)
    .setAudience(JPush.alias(targetAlias))  
    .setNotification( JPush.android('Hi,JPush', 'JPush Title', 1, {'key':'value'}), JPush.ios('Hi, JPush', 'sound', 1))
    .send(function(err, message){
        if (err) {
            console.log(err.message);
            return callback(null);
        }else{
            // console.log('Sendno: ' + message.sendno)
            // console.log('Msg_id: ' + message.msg_id);
            return callback(null);
        }
    })

setPlatform(JPush.ALL)
指定推送给所有平台。 可接受JPush.ALL, android, ios, android等参数

setAudience(JPush.alias(targetAlias))
指定推送目标 setAudience,可接受tag(), tag_and(), alias(), registration_id() 创建的对象
setNotification(‘Hi, JPush’, JPush.ios(‘ios alert’, ‘happy’, 5))
本方法接收 ios(), android(), winphone()等方法创建的对象,如果第一个参数为字符串,则指定全局的 alert。除了指定的ios端,其他平台都是收到全局的alter

JPush.android(alert, title, builder_id, extras, priority, category, style, value, alertType)
这里写图片描述

3 测试中发现的问题

(1) 我们可以使用手机系统中的应用双开功能,来实现得到两个测试app,从而得到2个用户。
(2) 当使用 mocha 测试 极光推送时,如果先发送了响应,会导致测试用例判断测试成功而回收资源,导致极光推送失败(还没有完成推送就已经被回收了的现象)

猜你喜欢

转载自blog.csdn.net/m0_37263637/article/details/79932721