ionic3用极光推送笔记

安卓

环境:ionic3  + 极光

"jpush-phonegap-plugin": "^3.4.3"
"cordova-plugin-jcore": "^1.2.3"
 
插件github:
在极光推送注册,然后创建应用--推送设置
ionic3用极光推送笔记

 

应用包名一定要与config.xml一致

ionic3用极光推送笔记

 

 
 
安装插件:
ionic cordova plugin add jpush-phonegap-plugin --variable APP_KEY=your_jpush_appkey(这里为极光的appkey)
npm install --save @jiguang-ionic/jpush

ionic3用极光推送笔记

 

注意在android6.4和android7.0之后的文件结构有所不一样。

因为我直接安装最新,但是我[email protected],所以需要搬下插件位置。

ionic3用极光推送笔记

 

 

ionic3用极光推送笔记

即可。

前端代码:

1.在app.module.ts注册插件

import { JPush } from '@jiguang-ionic/jpush';

ionic3用极光推送笔记

 

2.在main.ts添加监听事件

// 打开
document.addEventListener('jpush.openNotification', (event?: any)=>{
  console.log('---------------jpush openNotification main----------------')
  console.log(JSON.stringify(event))
  alert(JSON.stringify(event))
}, false);
// 获取自定义信息内容
document.addEventListener('jpush.receiveMessage', (event?: any)=>{
  console.log('---------------jpush receiveMessage main----------------')
  console.log(JSON.stringify(event))
  alert(JSON.stringify(event))
}, false);
// 后台接受通知
document.addEventListener('jpush.receiveLocalNotification', (event?: any)=>{
  console.log('---------------jpush receiveLocalNotification mainmain----------------')
  console.log(JSON.stringify(event))
  alert(JSON.stringify(event))
}, false);

3本地通知

// jpush
    this.JPush.addLocalNotification(1, 'content', 'title', 1, 100, '{"data": "123"}');

 

ios

鉴于ios接触很少,只是做零散的笔记

ios有3种证书,开发证书,生产证书,推送证书。我就让同事拉我进开发者,我是只能查看和使用

然后一些Xcode设置

ionic3用极光推送笔记

 

 

开启与证书一直的相关设置

ionic3用极光推送笔记

 

 设置好debug

ionic3用极光推送笔记

 

 ionic3用极光推送笔记

在ionicbuild后需要添加原生代码来注册,注册成功才能接受通知,否则只能使用本地通知和自定义信息。

ionic cordova build ios

ionic cordova build ios -- --buildFlag="-UseModernBuildSystem=0"

第一个为正常build,第二个有部分build成功,但是无法真机调试的解决方案之一。

 

最后,在AppDelegate.m添加代码:这里在极光推送的ios文档有

ionic3用极光推送笔记

https://docs.jiguang.cn/jpush/client/iOS/ios_guide_new/#_5

ionic3用极光推送笔记

ionic3用极光推送笔记

ionic3用极光推送笔记

ionic3用极光推送笔记

 

 ionic3用极光推送笔记

ionic3用极光推送笔记

如果一切正常,就可以正常推送信息。

当出现这个错误的时候:

ionic3用极光推送笔记

我的解决方法是:

原来的“New Build System”设置成“Legacy Build System”

ionic3用极光推送笔记

ionic3用极光推送笔记

 

在第一次接触ios,很多各种证书问题,设置问题,所以就靠记忆回想记录,各种零散,方便自己查看。

 

推送功能,在前台,后台的时候,都安卓和ios都可以接受到发送通知,自定义信息只能在前台接受到;

在debug的时候,关了app,ios依然可以接受到通知;安卓不行;据说,大的品牌例如qq,百度等等这些app假如了厂商的白名单,任务器关了也会有相关程序在;