热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ionic3用极光推送笔记

安卓环境:ionic3+极光jpush-phonegap-plugin:^3.4.3cordova-plugin-jcore:^1.2.3
安卓

环境:ionic3  + 极光

"jpush-phonegap-plugin": "^3.4.3"
"cordova-plugin-jcore": "^1.2.3"
android@6.4.0
 
插件github:
https://github.com/jpush/jpush-phonegap-plugin
在极光推送注册,然后创建应用--推送设置

 

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

 

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

 

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

因为我直接安装最新,但是我android@6.4,所以需要搬下插件位置。

 

 

即可。

前端代码:

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

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

 

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设置

 

 

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

 

 设置好debug

 

 

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

ionic cordova build ios

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

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

 

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

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

 

 

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

当出现这个错误的时候:

我的解决方法是:

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

 

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

 

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

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


推荐阅读
author-avatar
手机用户2602904231
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有