给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 [email protected]
ionic cordova plugin add [email protected]
ionic cordova plugin add [email protected]

代码使用

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文件保存到项目根目录下边。

给ionic4增加推送通知FCM插件_第1张图片

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.

你可能感兴趣的:(Cordova,Ionic)