<?xml version='1.0' encoding='utf-8'?>
<plugin id="tobo-cordova-plugin-firebase" version="0.2"
xmlns="http://apache.org/cordova/ns/plugins/1.0"
xmlns:android="http://schemas.android.com/apk/res/android">
    <name>Google Firebase Plugin</name>

    <license>MIT</license>

    <engines>
        <engine name="cordova" version=">=3.2.0" />
    </engines>

    <preference name="APP_DOMAIN" />
    <preference name="APP_PATH" default ="/" />

    <platform name="android">
        <preference name="GMS_VERSION" default="11.6.0"/>
        <preference name="FIREBASE_VERSION" default="11.6.0"/>

        <js-module name="FirebasePlugin" src="www/firebase.js">
            <clobbers target="FirebasePlugin" />
        </js-module>
        <config-file parent="/*" target="res/xml/config.xml">
            <feature name="FirebasePlugin">
                <param name="android-package" value="org.apache.cordova.firebase.FirebasePlugin" />
                <param name="onload" value="true" />
            </feature>
        </config-file>
        <config-file parent="/resources" target="res/values/strings.xml">
            <string name="google_app_id">@string/google_app_id</string>
        </config-file>
        <config-file parent="/resources" target="res/values/strings.xml">
            <string name="google_api_key">@string/google_api_key</string>
        </config-file>
        <config-file target="AndroidManifest.xml" parent="/*">
                <uses-permission android:name="android.permission.INTERNET" />
                <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
                <uses-permission android:name="android.permission.WAKE_LOCK" />
        </config-file>
        <config-file target="AndroidManifest.xml" parent="/manifest/application">
            <service android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementService" />
        </config-file>
        <config-file target="AndroidManifest.xml" parent="/manifest/application">
            <service android:name="org.apache.cordova.firebase.FirebasePluginMessagingService">
                <intent-filter>
                    <action android:name="com.google.firebase.MESSAGING_EVENT"/>
                </intent-filter>
            </service>
            <service android:name="org.apache.cordova.firebase.FirebasePluginInstanceIDService">
                <intent-filter>
                    <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
                </intent-filter>
            </service>
            <receiver android:name="org.apache.cordova.firebase.OnNotificationOpenReceiver"></receiver>
        </config-file>
        <config-file target="AndroidManifest.xml" parent="/manifest/application/activity">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="http" android:host="$APP_DOMAIN" android:pathPrefix="$APP_PATH"/>
                <data android:scheme="https" android:host="$APP_DOMAIN" android:pathPrefix="$APP_PATH"/>
            </intent-filter>
        </config-file>

        <source-file src="src/android/google-services.json" target-dir="." />
        <source-file src="src/android/FirebasePlugin.java" target-dir="src/org/apache/cordova/firebase" />
        <source-file src="src/android/OnNotificationOpenReceiver.java" target-dir="src/org/apache/cordova/firebase" />
        <source-file src="src/android/FirebasePluginInstanceIDService.java" target-dir="src/org/apache/cordova/firebase" />
        <source-file src="src/android/FirebasePluginMessagingService.java" target-dir="src/org/apache/cordova/firebase" />
        <source-file src="src/android/colors.xml" target-dir="res/values" />

        <framework src="src/android/build.gradle" custom="true" type="gradleReference" />
        <framework src="com.google.gms:google-services:3.1.2" />
        <framework src="com.google.android.gms:play-services-tagmanager:11.6.0" />
        <framework src="com.google.firebase:firebase-core:11.6.0" />
        <framework src="com.google.firebase:firebase-messaging:11.6.0" />
        <framework src="com.google.firebase:firebase-crash:11.6.0" />
        <framework src="com.google.firebase:firebase-config:11.6.0" />
        <framework src="com.google.firebase:firebase-dynamic-links:11.6.0" />
    </platform>

    <platform name="ios">
        <js-module name="FirebasePlugin" src="www/firebase.js">
            <clobbers target="FirebasePlugin" />
        </js-module>
        <config-file parent="/*" target="config.xml">
            <feature name="FirebasePlugin">
                <param name="ios-package" value="FirebasePlugin" />
                <param name="onload" value="true" />
            </feature>
        </config-file>
        <config-file parent="aps-environment" target="*/Entitlements-Debug.plist">
            <string>development</string>
        </config-file>
        <config-file parent="aps-environment" target="*/Entitlements-Release.plist">
            <string>production</string>
        </config-file>

        <config-file target="*/Entitlements-Debug.plist" parent="com.apple.developer.associated-domains">
            <array>
                <string>applinks:$APP_DOMAIN</string>
            </array>
        </config-file>

        <config-file target="*/Entitlements-Release.plist" parent="com.apple.developer.associated-domains">
            <array>
                <string>applinks:$APP_DOMAIN</string>
            </array>
        </config-file>

        <config-file target="*-Info.plist" parent="CFBundleURLTypes">
            <array>
                <dict>
                    <key>CFBundleTypeRole</key>
                    <string>Editor</string>
                    <key>CFBundleURLName</key>
                    <string>BUNDLE_ID</string>
                    <key>CFBundleURLSchemes</key>
                    <array>
                        <string>$PACKAGE_NAME</string>
                    </array>
                </dict>
            </array>
        </config-file>

        <resource-file src="src/ios/GoogleService-Info.plist" />

        <header-file src="src/ios/AppDelegate+FirebasePlugin.h" />
        <source-file src="src/ios/AppDelegate+FirebasePlugin.m" />
        <header-file src="src/ios/FirebasePlugin.h" />
        <source-file src="src/ios/FirebasePlugin.m" />
        <header-file src="src/ios/NSFileManager+NRFileManager.h" />
        <source-file src="src/ios/NSFileManager+NRFileManager.m" />

        <header-file src="src/ios/Firebase/Firebase.h" />

        <framework custom="true" src="src/ios/Firebase/Analytics/FirebaseAnalytics.framework" />
        <framework custom="true" src="src/ios/Firebase/Analytics/FirebaseCore.framework" />
        <framework custom="true" src="src/ios/Firebase/Analytics/FirebaseCoreDiagnostics.framework" />
        <framework custom="true" src="src/ios/Firebase/Analytics/FirebaseInstanceID.framework" />
        <framework custom="true" src="src/ios/Firebase/Analytics/FirebaseNanoPB.framework" />
        <framework custom="true" src="src/ios/Firebase/Analytics/GoogleToolboxForMac.framework" />
        <framework custom="true" src="src/ios/Firebase/Analytics/nanopb.framework" />
        <framework custom="true" src="src/ios/Firebase/Auth/FirebaseAuth.framework" />
        <framework custom="true" src="src/ios/Firebase/Auth/GTMSessionFetcher.framework" />
        <framework custom="true" src="src/ios/Firebase/Messaging/Protobuf.framework" />
        <framework custom="true" src="src/ios/Firebase/Messaging/FirebaseMessaging.framework" />
        <framework custom="true" src="src/ios/Firebase/Crash/FirebaseCrash.framework" />
        <framework custom="true" src="src/ios/Firebase/Crashlytics/Crashlytics.framework" />
        <framework custom="true" src="src/ios/Firebase/Crashlytics/Fabric.framework" />
        <framework custom="true" src="src/ios/Firebase/Performance/FirebasePerformance.framework" />
        <framework custom="true" src="src/ios/Firebase/Performance/FirebaseSwizzlingUtilities.framework" />
        <framework custom="true" src="src/ios/Firebase/RemoteConfig/FirebaseRemoteConfig.framework" />
        <framework custom="true" src="src/ios/Firebase/RemoteConfig/FirebaseABTesting.framework" />
        <framework custom="true" src="src/ios/Firebase/DynamicLinks/FirebaseDynamicLinks.framework" />
    </platform>

    <platform name="browser">
        <js-module name="FirebasePlugin" src="www/firebase-browser.js">
            <clobbers target="FirebasePlugin" />
        </js-module>
    </platform>

    <hook src="scripts/after_prepare.js" type="after_prepare" />
</plugin>
