<?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="1.13.2">

  <name>OneSignal Push Notifications</name>
  <author>Josh Kasten</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-android" version=">=4.0.0" /> <!-- This main branch of OneSignal depends on gradle and maven. -->
    <engine name="apple-xcode" version=">=6.2.0" />
    <engine name="apple-ios" version=">=6.0.0" />
  </engines>
  
  <platform name="android">
    <framework src="com.onesignal:OneSignal:2.6.2@aar" />
    
    <framework src="com.google.android.gms:play-services-gcm:+" />
    <!-- play-services-analytics is only required when gms version 8.1.0 or older is used. -->
    <framework src="com.google.android.gms:play-services-analytics:+" />
    <framework src="com.google.android.gms:play-services-location:+" />
    
    <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/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>
      <uses-permission android:name="com.amazon.device.messaging.permission.RECEIVE" />
    </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>

    <source-file src="src/ios/OneSignal.m" />
    <source-file src="src/ios/OneSignalHTTPClient.m" />
    <source-file src="src/ios/OneSignalTrackIAP.m" />
    <source-file src="src/ios/OneSignalJailbreakDetection.m" />
    <source-file src="src/ios/OneSignalPush.m" />
    <source-file src="src/ios/OneSignalReachability.m" />
    <source-file src="src/ios/OneSignalMobileProvision.m" />
    <source-file src="src/ios/OneSignalLocation.m" />
    
    <header-file src="src/ios/OneSignal.h" />
    <header-file src="src/ios/OneSignalHTTPClient.h" />
    <header-file src="src/ios/OneSignalTrackIAP.h" />
    <header-file src="src/ios/OneSignalJailbreakDetection.h" />
    <header-file src="src/ios/OneSignalPush.h" />
    <header-file src="src/ios/OneSignalReachability.h" />
    <header-file src="src/ios/OneSignalMobileProvision.h" />
    <header-file src="src/ios/OneSignalLocation.h" />

  </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>

