<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
    xmlns:android="http://schemas.android.com/apk/res/android"
    id="onesignal-cordova-plugin"
    version="2.6.0">


  <name>OneSignal Push Notifications</name>
  <author>Josh Kasten, Bradley Hesse</author>

  <description>OneSignal is a high volume Push Notification service for mobile apps. In addition to basic notification delivery, OneSignal also provides tools to localize, target, schedule, A/B test, and automate notifications that you send.</description>

  <keywords>push,notification,push notification,push notifications,apns,gcm,adm,retention,messaging,ios,android,windows phone</keywords>
  
  <license>MIT</license>

  <js-module src="www/OneSignal.js" name="OneSignal">
    <clobbers target="OneSignal" />
  </js-module>

  <engines>
    <engine name="cordova" version=">=6.4.0" />
    <engine name="cordova-ios" version=">=4.3.0" />
    <engine name="cordova-android" version=">=5.1.0" />
    <engine name="apple-xcode" version=">=8.0.0" />
    <engine name="apple-ios" version=">=7.0.0" />
  </engines>
  
  <platform name="android">
    <framework src="com.onesignal:OneSignal:3.11.3" />
    <framework src="build-extras-onesignal.gradle" custom="true" type="gradleReference" />
    
    <config-file target="res/xml/config.xml" parent="/*">
      <feature name="OneSignalPush" >
        <param name="android-package" value="com.plugin.gcm.OneSignalPush" />
      </feature>
    </config-file>

    <!-- PhoneGap Build (PGB) does not have a amazon build target so it include the required manifest entries in all Android builds. -->
    <config-file target="AndroidManifest.xml" parent="/manifest">
      <uses-permission android:name="com.amazon.device.messaging.permission.RECEIVE" />
      <permission android:name="$PACKAGE_NAME.permission.RECEIVE_ADM_MESSAGE" android:protectionLevel="signature" />
      <uses-permission android:name="$PACKAGE_NAME.permission.RECEIVE_ADM_MESSAGE" />
    </config-file>
    <config-file target="AndroidManifest.xml" parent="/manifest/application">
      <amazon:enable-feature android:name="com.amazon.device.messaging" android:required="false" xmlns:amazon="http://schemas.amazon.com/apk/res/android" />
      <service android:name="com.onesignal.ADMMessageHandler" android:exported="false" />
      <receiver
        android:name="com.onesignal.ADMMessageHandler$Receiver"
        android:permission="com.amazon.device.messaging.permission.SEND" >
        <intent-filter>
          <action android:name="com.amazon.device.messaging.intent.REGISTRATION" />
          <action android:name="com.amazon.device.messaging.intent.RECEIVE" />
          <category android:name="$PACKAGE_NAME" />
        </intent-filter>
      </receiver>
    </config-file>
    
    <source-file src="src/android/com/plugin/gcm/OneSignalPush.java" target-dir="src/com/plugin/gcm/" />
  </platform>
  
  <!-- ios -->
  <platform name="ios">

    <config-file target="config.xml" parent="/*">
      <feature name="OneSignalPush">
        <param name="ios-package" value="OneSignalPush"/>
        </feature>
    </config-file>

    <framework src="SystemConfiguration.framework" />

    <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>

    <framework src="OneSignal" type="podspec" spec="2.11.0" />
    <header-file src="src/ios/OneSignalPush.h" />
    <source-file src="src/ios/OneSignalPush.m" />

  </platform>
  
  <!-- Windows Phone 8.1 -->
  <platform name="windows">
    <config-file target="config.xml" parent="/*">
      <feature name="OneSignalPush">
        <param name="ios-package" value="OneSignalPush"/>
      </feature>
    </config-file>
    
    <js-module src="src/windows/OneSignalPushProxy.js" name="OneSignalPushProxy">
      <merges target="" />
    </js-module>
    
    <framework src="src/windows/OneSignalSDK_WP_WNS_WRTC.winmd" custom="true" />
    <framework src="src/windows/OneSignalSDK_WP_WNS.dll" custom="true" />
    <framework src="src/windows/Newtonsoft.Json.dll" custom="true" />
  </platform>

</plugin>

