I'm studying the phonegap-push-plugin and I already use it on Android. I'm working with DevExtreme, a phonegap-based platform.
I saw there is just released the cordova 7.0.1 and I hope this can help me, since the push didn't work on iOS.
But, now, I have problem. With the online tool (https://build.phonegap.com), when I try to buld the template, the push plugin isn't included in the apk file (I checked this opening it as a zip file) and the ipa file isn't built because I get an error.
Here an extract from the log:
Blockquote The file “GoogleService-Info.plist” couldn’t be opened because there is no such file.
Blockquote [...] Blockquote "** ARCHIVE FAILED **
The following build commands failed: CopyPlistFile /Users/phonegap/Library/Developer/Xcode/DerivedData/Selfnet-cuvcjbwqnhuixzdmlmoklhnfmyqf/Build/Intermediates/ArchiveIntermediates/Selfnet/InstallationBuildProductsLocation/Applications/Selfnet.app/GoogleService-Info.plist /tmp/private/tmp/gimlet/2726929/project/Selfnet/Resources/GoogleService-Info.plist (1 failure) Error code 65 for command: xcodebuild [...]"
Here my config.xml file:
<widget id="com.devexpress.apptemplate" version="1.0" versionCode="1">
<name>ApplicationTemplate</name>
<description>Template</description>
<preference name="phonegap-version" value="cli-7.0.1" />
<preference name="permissions" value="none" />
<preference name="prerendered-icon" value="true" />
<preference name="android-windowSoftInputMode" value="adjustPan" />
<preference name="SplashScreen" value="splash" />
<preference name="SplashScreenDelay" value="60000" />
<preference name="AutoHideSplashScreen" value="false" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="FadeSplashScreen" value="false" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="DisallowOverscroll" value="true" />
<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarBackgroundColor" value="#000000" />
<preference name="android-minSdkVersion" value="15" />
<preference name="android-targetSdkVersion" value="22" />
<!--<plugin name="cordova-plugin-file" />-->
<plugin name="cordova-plugin-geolocation" />
<plugin name="cordova-plugin-splashscreen" onload="true" />
<plugin name="cordova-plugin-whitelist" />
<plugin name="cordova-plugin-ios-longpress-fix" />
<plugin name="cordova-plugin-statusbar" onload="true" />
<plugin spec="https://github.com/phonegap/phonegap-plugin-push.git" source="git" />
<platform name="android">
<resource-file src="google-services.json" target="google-services.json" />
</platform>
<platform name="ios">
<resource-file src="GoogleService-Info.plist" />
</platform>
<access origin="*" />
</widget>
Both the GoogleService file (iOS and Android) are in the root folder, the same as the file config.xml.
Summarized all the steps here: https://programmingistheway.wordpress.com/2017/07/19/devextremephonegap-how-to-manage-push-notifications-with-fcm/