@havesource/cordova-plugin-push
Version:
Register and receive push notifications.
141 lines (114 loc) • 6.4 kB
text/xml
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
xmlns:android="http://schemas.android.com/apk/res/android"
id="@havesource/cordova-plugin-push" version="7.0.0">
<name>Cordova Push Plugin</name>
<description>Enable receiving push notifications on Android and iOS devices. Android uses Firebase Cloud Messaging. iOS uses Apple APNS Notifications.</description>
<license>MIT</license>
<js-module src="www/push.js" name="PushNotification">
<clobbers target="PushNotification"/>
</js-module>
<engines>
<engine name="cordova" version=">=10.0.0"/>
<engine name="cordova-android" version=">=12.0.0"/>
<engine name="cordova-ios" version=">=6.0.0"/>
</engines>
<platform name="android">
<config-file target="res/xml/config.xml" parent="/*">
<feature name="PushNotification">
<param name="android-package" value="com.adobe.phonegap.push.PushPlugin"/>
</feature>
</config-file>
<config-file target="AndroidManifest.xml" parent="/manifest">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="${applicationId}.permission.PushHandlerActivity"/>
<permission android:name="${applicationId}.permission.PushHandlerActivity" android:protectionLevel="signature"></permission>
<uses-permission android:name="${applicationId}.permission.BackgroundHandlerActivity"/>
<permission android:name="${applicationId}.permission.BackgroundHandlerActivity" android:protectionLevel="signature"></permission>
</config-file>
<config-file target="AndroidManifest.xml" parent="/manifest/application">
<activity android:name="com.adobe.phonegap.push.PushHandlerActivity" android:exported="false" android:permission="${applicationId}.permission.PushHandlerActivity"/>
<activity android:name="com.adobe.phonegap.push.BackgroundHandlerActivity" android:exported="false" android:permission="${applicationId}.permission.BackgroundHandlerActivity">
<intent-filter>
<action android:name="com.adobe.phonegap.push.background.MESSAGING_EVENT"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<receiver android:name="com.adobe.phonegap.push.BackgroundActionButtonHandler"/>
<receiver android:name="com.adobe.phonegap.push.PushDismissedHandler"/>
<service android:name="com.adobe.phonegap.push.FCMService" android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
</config-file>
<config-file target="config.xml" parent="/*">
<preference name="AndroidXEnabled" value="true" />
<preference name="GradlePluginGoogleServicesEnabled" value="true" />
<preference name="GradlePluginKotlinEnabled" value="true" />
</config-file>
<preference name="ANDROIDX_CORE_VERSION" default="1.16.0"/>
<preference name="FCM_VERSION" default="24.1.0"/>
<framework src="androidx.core:core:$ANDROIDX_CORE_VERSION" />
<framework src="me.leolin:ShortcutBadger:1.1.22@aar"/>
<framework src="com.google.firebase:firebase-messaging:$FCM_VERSION"/>
<source-file src="src/android/com/adobe/phonegap/push/FCMService.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/PushConstants.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/PushHandlerActivity.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/BackgroundHandlerActivity.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/PushPlugin.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/BackgroundActionButtonHandler.kt" target-dir="java/com/adobe/phonegap/push/"/>
<source-file src="src/android/com/adobe/phonegap/push/PushDismissedHandler.kt" target-dir="java/com/adobe/phonegap/push/"/>
</platform>
<platform name="browser">
<js-module src="www/browser/push.js" name="BrowserPush">
<clobbers target="PushNotification"/>
</js-module>
<asset src="src/browser/ServiceWorker.js" target="ServiceWorker.js"/>
<asset src="src/browser/manifest.json" target="manifest.json"/>
<hook type="after_prepare" src="hooks/browser/updateManifest.js"/>
</platform>
<platform name="ios">
<preference name="IOS_FIREBASE_MESSAGING_VERSION" default="11.8.0"/>
<config-file target="config.xml" parent="/*">
<feature name="PushNotification">
<param name="ios-package" value="PushPlugin"/>
<param name="onload" value="true"/>
</feature>
</config-file>
<config-file target="*-Info.plist" parent="UIBackgroundModes">
<array>
<string>remote-notification</string>
</array>
</config-file>
<config-file target="*-Debug.plist" parent="aps-environment">
<string>development</string>
</config-file>
<config-file target="*-Release.plist" parent="aps-environment">
<string>production</string>
</config-file>
<source-file src="src/ios/AppDelegate+PushPlugin.m"/>
<source-file src="src/ios/PushPlugin.m"/>
<source-file src="src/ios/PushPluginConstants.m"/>
<source-file src="src/ios/PushPluginFCM.m"/>
<source-file src="src/ios/PushPluginSettings.m"/>
<header-file src="src/ios/AppDelegate+PushPlugin.h"/>
<header-file src="src/ios/PushPlugin.h"/>
<source-file src="src/ios/PushPluginConstants.h"/>
<header-file src="src/ios/PushPluginFCM.h"/>
<header-file src="src/ios/PushPluginSettings.h"/>
<framework src="PushKit.framework"/>
<podspec>
<config>
<source url="https://cdn.cocoapods.org/"/>
</config>
<pods use-frameworks="true">
<pod name="Firebase/Messaging" spec="$IOS_FIREBASE_MESSAGING_VERSION" />
</pods>
</podspec>
</platform>
</plugin>