From what I’ve been able to gather, it appears that the geofence and push notification related cordova plugins are mutually exclusive based on the cordova android platform versions required for both.
Geofence requires cordova-android <6.3.0:
cordova plugin add cordova-plugin-geofence --save
Installing "cordova-plugin-geofence" for android
Installing "cordova-plugin-add-swift-support" for android
Android Studio project detected
Installing "cordova-plugin-compat" for android
Plugin doesn't support this project's cordova-android version. cordova-android: 7.0.0, failed version requirement:
<6.3.0
However, when you downgrade the cordova-android version to 6.2.3 then the installation of phonegap-plugin-push fails:
$ ionic cordova platform add android@~6.2.3
> cordova platform add android@~6.2.3 --save
Using cordova-fetch for cordova-android@~6.2.3
Adding android project...
Creating Cordova project for the Android platform:
Path: platforms\android
Package: io.ionic.starter
Name: MyApp
Activity: MainActivity
Android target: android-25
Subproject Path: CordovaLib
Android project created with cordova-android@6.2.3
Installing "cordova-plugin-device" for android
Installing "cordova-plugin-ionic-webview" for android
Installing "cordova-plugin-splashscreen" for android
Installing "cordova-plugin-whitelist" for android
This plugin is only applicable for versions of cordova-android greater than 4.0. If you have a previous platform version, you do *not* need this plugin since the whitelist will be built in.
Installing "ionic-plugin-keyboard" for android
--save flag or autosave detected
Saving android@~6.2.3 into config.xml file ...
$ ionic cordova plugin add phonegap-plugin-push
> cordova plugin add phonegap-plugin-push --save
Unmet project requirements for latest version of phonegap-plugin-push:
cordova-android (6.2.3 in project, >=6.3.0 required)
Current project does not satisfy the engine requirements specified by any version of phonegap-plugin-push. Fetching latest version of plugin anyway (may be incompatible)
Installing "phonegap-plugin-push" for android
Plugin doesn't support this project's cordova-android version. cordova-android: 6.2.3, failed version requirement: >=6.3.0
Skipping 'phonegap-plugin-push' for android
Adding phonegap-plugin-push to package.json
Saved plugin info for "phonegap-plugin-push" to config.xml
Any help with this would be greatly appreciated. Here’s my ionic info of a brand new app started with the tabs starter.
$ ionic info
cli packages: (C:\[Path]\npm\node_modules)
@ionic/cli-utils : 1.19.0
ionic (Ionic CLI) : 3.19.0
global packages:
cordova (Cordova CLI) : 8.0.0
local packages:
@ionic/app-scripts : 3.1.6
Cordova Platforms : android 6.2.3
Ionic Framework : ionic-angular 3.9.2
System:
Android SDK Tools : 26.1.1
Node : v6.10.0
npm : 5.6.0
OS : Windows 10
Environment Variables:
ANDROID_HOME : C:\[Path]\android-sdk
Misc:
backend : pro
Any thoughts or feedback on how to resolve this would be greatly appreciated.