给ionic4增加推送通知FCM插件

开发环境ionic4 + angular8 + cordova 

增加推送通知插件

// 这两个插件都可以使用
ionic cordova plugin add cordova-plugin-fcm-ng
npm install @ionic-native/fcm
// or 任选其一,推荐使用这个。插件主人更新比较勤快也经常修复一些问题
ionic cordova plugin add cordova-plugin-fcm-with-dependecy-updated
npm install @ionic-native/fcm

// 经测试这两个插件和cordova-plugin-local-notification本地通知有冲突。
// 当APP前台运行的时候接收不到通知。后台才可以。
// 只有当卸载cordova-plugin-local-notification插件后正常.
// 经过网上查询资料如果两个功能都想使用的话得用下边的插件
npm i cordova-plugin-fcm-with-dependency-updated-apns@1.2.1
ionic cordova plugin add cordova-plugin-fcm-with-dependency-updated-apns@1.2.1
ionic cordova plugin add cordova-plugin-local-notification@0.9.0-beta.3

代码使用

import { FCM } from '@ionic-native/fcm/ngx';

constructor(private fcm: FCM) {}

...

this.fcm.subscribeToTopic('marketing');

this.fcm.getToken().then(token => {
  backend.registerToken(token);
});

this.fcm.onNotification().subscribe(data => {
  if(data.wasTapped){
    console.log("Received in background");
  } else {
    console.log("Received in foreground");
  };
});

this.fcm.onTokenRefresh().subscribe(token => {
  backend.registerToken(token);
});

this.fcm.unsubscribeFromTopic('marketing');

使用的时候挺简单。麻烦就麻烦到配置这里。

需要申请Firebase项目配置。

1. 增加一个项目。项目里边再注册android 或者 IOS app资料。

2. 下载android 或者 ios 的goodgle文件保存到项目根目录下边。

3. 进入Firebase网站打开新建的APP项目页面。准备填入APNSkey

4. 进入苹果开发网站配置生成APNSKEY

登录苹果开发者网站-> account -> Certificate....  -> Identifiers -> 找到自己APP的identifiers进入

往下拉拉拉找到  Push Notifications   点击Configure。

分别为两个建立各自的证书(Certificate)..push notifi和 development都生成.

5. 点击苹果开发者网站里的keys生成  .p8结尾的文件。用来上图上传

至此在程序里测试就行了

或者使用这个里边的测试https://cordova-plugin-fcm.appspot.com

 

 

总结一下错误:

1. 控制台报这个错误的话  Failed to fetch APNS token Error Domain=com.firebase.iid Code=1001 "(null)"。 

可以看这个文章   https://stackoverflow.com/questions/38909670/firebase-fcm-failed-to-fetch-apns-token-error-domain-com-firebase-iid-code-100

或者尝试

  • The app is restored on a new device
  • The user uninstalls/reinstall the app
  • The user clears app data.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值