我正在使用离子3中的推送通知构建应用程序。我提到了不同的教程。我提到了这个链接Pushnotification
我没有任何构建问题,一切正常,但当我尝试使用物理设备时,我会在控制台上看到。
03-22 17:56:28.062 32273 32273 I chromium: [INFO:CONSOLE(47546)] "Native: tried calling Push.hasPermission, but the Push plugin is not installed.", source: file:///android_asset/www/build/main.js (47546)
03-22 17:56:28.062 32273 32273 I chromium: [INFO:CONSOLE(47552)] "Install the Push plugin: 'ionic cordova plugin add phonegap-plugin-push'", source: file:///android_asset/www/build/main.js (47552)
03-22 17:56:28.063 32273 32273 I chromium: [INFO:CONSOLE(84647)] "Notification init start", source: file:///android_asset/www/build/main.js (84647)
03-22 17:56:28.066 32273 32273 I chromium: [INFO:CONSOLE(47546)] "Native: tried calling PushNotification.init, but the PushNotification plugin is not installed.", source: file:///android_asset/www/build/main.js (47546)
03-22 17:56:28.071 32273 32273 I chromium: [INFO:CONSOLE(84700)] "Notification init end", source: file:///android_asset/www/build/main.js (84700)
03-22 17:56:28.088 32273 32273 I chromium: [INFO:CONSOLE(1370)] "ERROR", source: file:///android_asset/www/build/main.js (1370)
我在/ ** / appName / platforms / android / platform_www / plugins中看不到push plugin文件夹。 对于其他插件,如相机,地图,地理定位等,都有文件夹。
我跑下面的命令来安装推送插件
cordova plugin add cordova-plugin-cocoapod-support --save
npm install --save @ionic-native/push
在package.json
中"phonegap-plugin-push": {
"SENDER_ID": "senderId"
}
在config.xml中
<plugin name="phonegap-plugin-push" spec="^2.2.2">
<variable name="SENDER_ID" value="seberID" />
</plugin>
已编辑
$ionic info
cli packages: (/usr/lib/node_modules)
@ionic/cli-utils : 1.19.2
ionic (Ionic CLI) : 3.20.0
global packages:
cordova (Cordova CLI) : 8.0.0
local packages:
@ionic/app-scripts : 1.3.7
Cordova Platforms : android 7.0.0
Ionic Framework : ionic-angular 3.6.0
System:
Android SDK Tools : 26.1.1
Node : v7.10.0
npm : 4.2.0
OS : Linux 4.13
Environment Variables:
ANDROID_HOME : /home/ullas/Android/Sdk
Misc:
backend : pro
答案 0 :(得分:0)
需要检查插件的版本。
根据您的Cordova CLI,Cordova Android,Cordova iOS和Cocoapods的插件版本更新版本。
添加平台时,您会收到相同的警告,未安装的插件是什么。
检查安装要求here。
答案 1 :(得分:0)
好像几天前cordova fcm插件进行了一些更改。
您只需要更改导入语句。
新导入:import { FCM } from "cordova-plugin-fcm-with-dependecy-updated/ionic/ngx";
在构造函数中:constructor(private fcm: FCM, private platform: Platform){ }
请确保在设备准备就绪后从fcm调用任何方法。
this.platform.ready().then(() => {
this.fcm.getToken()
.then(deviceId => {})
.catch(err => console.error(err))
}
请参见https://github.com/andrehtissot/cordova-plugin-fcm-with-dependecy-updated#with-ionic