Ionic Geofence and Ionic Push are Incompatible


#1

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.


Call to ionic native maintainers
#2

Overly underwhelming lack of response. Reminds me of why I stopped writing up Microsoft bugs 7 or 8 years ago now.


#3

Same problem here. Anyone can point out a specific version of Ionic Push I can install to avoid dependency errors?


#4

Would love to know if you figured it out.