# cordova-plugin-xgpush
**Repository Path**: redrice/cordova-plugin-xgpush
## Basic Information
- **Project Name**: cordova-plugin-xgpush
- **Description**: 腾讯信鸽推送服务:http://xg.qq.com/
- **Primary Language**: Objective-C
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2019-10-26
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 腾讯信鸽推送 for Cordova
## 安装方法
打开控制台,进入 Cordova 项目目录,输入:
1. 创建一个cordova项目,并添加Android平台:
```sh
cordova create TestProject com.example.testproject TestProject
cd ./TestProject
cordova platform add android
```
或者使用已有项目
2. 项目添加xml2js依赖
```sh
npm install xml2js
```
3. 添加推送平台配置项,修改根目录当config.xml, **添加各个平台的id和key(小米的appID 和appKEY前需要加_前缀** ),如下:
```xml
AccessID
AccessKey
```
4. 添加插件:
```sh
cordova plugin add https://github.com/zhoumo99133/cordova-plugin-xgpush.git
```
## iOS 特别处理
iOS需要在根目录的config.xml
iOS版本需要在xCode里面手动开启,[Push Notifications]和[Background Modes]。方法如下
[http://xg.qq.com/docs/ios_access/ios_access_guide.html](http://xg.qq.com/docs/ios_access/ios_access_guide.html)
## 示例
```js
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
xgpush.registerPush('account',function(s){
console.log(s)
},function(e){
console.log(e)
})
xgpush.on("register", function (data) {
console.log("register:", data);
});
xgpush.on("click", function (data) {
alert("click:" + JSON.stringify(data));
});
xgpush.getLaunchInfo(function (data) {
alert("getLaunchInfo:" + JSON.stringify(data));
});
}
```
## API
### 方法
方法|方法名|参数说明|成功回调|失败回调
------------------------------------|------------------|---------------------------------------------------|--------|--------
registerPush(account,success,error) | 绑定账号注册 | account:绑定的账号,绑定后可以针对账号发送推送消息|{data:"设备的token"}|{data:"",code:"",message:""} //android Only
unRegisterPush(account,success,error) | 反注册 |account:绑定的账号|{flag:0}|{flag:0}
setTag(tagName) | 设置标签 | tagName:待设置的标签名称
deleteTag(tagName) | 删除标签 | tagName:待设置的标签名称
addLocalNotification(type,title,content,success,error) | 添加本地通知| type:1通知,2消息 title:标题 content:内容
enableDebug(debugMode,success,error)| 开启调试模式 | debugMode:默认为false。如果要开启debug日志,设为true
getToken(callback) | 获取设备Token |回调|设备的token|
setAccessInfo(accessId,accessKey) | 设置访问ID,KEY |
getLaunchInfo(success) | app启动自定义参数| |返回的数据与click事件返回的一样
stopNotification()|终止信鸽推送服务以后,将无法通过信鸽推送服务向设备推送消息。再次启动app(即初始化插件)就会重新接收推送|iOS noly|
调用例子
```js
xgpush.registerPush("account",function(event){},function(event){});
```
### 事件 Event
事件 | 事件名 |
------------|---------------------|
register | 注册账号事件 |
unRegister | 反注册事件 |
message | 接收到新消息时解法 |
click | 通知被点击 |
show | 通知成功显示 |
deleteTag | 删除标签事件 |
setTag | 设计标签事件 |
```js
xgpush.on("click",function(data){
console.log(data);
/**
* {
* activity:"com.changan.test.push.MainActivity", //android Only
* content:"这是内容",
* customContent:"{"vvva":"789"}",
* msgId:101217419,
* notifactionId:0, //android Only
* notificationActionType:1, // android Only
* title:"测试推送",
* subtitle:"副标题", //iOS Only
* type:"show"
* }
**/
});
```