<?xml version="1.0" encoding="utf-8"?>
<plugin
    xmlns="http://apache.org/cordova/ns/plugins/1.0"
    xmlns:android="http://schemas.android.com/apk/res/android" id="cordova-plugin-umengpush" version="1.0.0">
    <name>UMengPush</name>
    <js-module name="UMengPush" src="www/UMengPush.js">
        <clobbers target="cordova.plugins.UMengPush"/>
        <clobbers target="UMengPush"/>
    </js-module>
    <preference name="IOS_APPKEY" default=""/>
    <preference name="UM_APPKEY" default=""/>
    <preference name="UM_MESSAGE_SECRET" default=""/>
    <preference name="HUAWEI_APPID" default=""/>
    <preference name="XIAOMI_ID" default=""/>
    <preference name="XIAOMI_KEY" default=""/>
    <preference name="MEIZU_APPID" default=""/>
    <preference name="MEIZU_APPKEY" default=""/>
    <preference name="OPPO_APPKEY" default=""/>
    <preference name="OPPO_SECRET" default=""/>

    <platform name="android">
        <hook src="scripts/android_app_name.js" type="after_prepare"/>
        <hook src="scripts/android_package_name.js" type="after_prepare"/>
        <hook src="scripts/addcustommirror.js" type="after_prepare"/>
        <config-file parent="/*" target="res/xml/config.xml">
            <feature name="UMengPush">
                <param name="android-package" value="com.yl.umeng.UMengPush"/>
                <param name="onload" value="true" />
            </feature>
        </config-file>
        <config-file parent="/*" target="AndroidManifest.xml">
            <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
            <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
            <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
            <uses-permission android:name="android.permission.INTERNET"/>
            <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
            <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
            <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
            <uses-permission android:name="android.permission.INTERNET" />
            <uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE" />
        </config-file>
        <config-file mode="merge" parent="/manifest/application" target="AndroidManifest.xml">
            <activity android:exported="true" android:launchMode="singleTask" android:name="com.yl.umeng.PushActivity" android:screenOrientation="landscape"/>
            <meta-data android:name="UM_APPKEY" android:value="a$UM_APPKEY"/>
            <meta-data android:name="UM_MESSAGE_SECRET" android:value="a$UM_MESSAGE_SECRET"/>
            <meta-data android:name="HUAWEI_APPID" android:value="a$HUAWEI_APPID"/>
            <meta-data android:name="XIAOMI_ID" android:value="a$XIAOMI_ID"/>
            <meta-data android:name="XIAOMI_KEY" android:value="a$XIAOMI_KEY"/>
            <meta-data android:name="MEIZU_APPID" android:value="a$MEIZU_APPID"/>
            <meta-data android:name="MEIZU_APPKEY" android:value="a$MEIZU_APPKEY"/>
            <meta-data android:name="OPPO_APPKEY" android:value="a$OPPO_APPKEY"/>
            <meta-data android:name="OPPO_SECRET" android:value="a$OPPO_SECRET"/>
            <meta-data android:name="com.huawei.hms.client.appid" android:value="appid=$HUAWEI_APPID"/>
            <!-- 以下为基本配置信息，需要自行添加至您的AndroidManifest文件中 start-->
            <service
                android:name="com.taobao.accs.ChannelService"
                android:exported="true"
                android:process=":channel">
                <intent-filter>
                    <action android:name="com.taobao.accs.intent.action.SERVICE" />
                </intent-filter>
                <intent-filter>
                    <action android:name="com.taobao.accs.intent.action.ELECTION" />
                </intent-filter>
            </service>

            <service
                android:name="com.taobao.accs.data.MsgDistributeService"
                android:exported="true">
                <intent-filter>
                    <action android:name="com.taobao.accs.intent.action.RECEIVE" />
                </intent-filter>
            </service>

            <receiver
                android:name="com.taobao.accs.EventReceiver"
                android:process=":channel">
                <intent-filter>
                    <action android:name="android.intent.action.BOOT_COMPLETED" />
                </intent-filter>
                <intent-filter>
                    <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
                </intent-filter>
                <intent-filter>
                    <action android:name="android.intent.action.PACKAGE_REMOVED" />
                    <data android:scheme="package" />
                </intent-filter>
                <intent-filter>
                    <action android:name="android.intent.action.USER_PRESENT" />
                </intent-filter>
            </receiver>

            <receiver
                android:name="com.taobao.accs.ServiceReceiver"
                android:process=":channel">
                <intent-filter>
                    <action android:name="com.taobao.accs.intent.action.COMMAND" />
                </intent-filter>
                <intent-filter>
                    <action android:name="com.taobao.accs.intent.action.START_FROM_AGOO" />
                </intent-filter>
            </receiver>

            <service
                android:name="com.taobao.accs.internal.AccsJobService"
                android:permission="android.permission.BIND_JOB_SERVICE"
                android:process=":channel"/>

            <service
                android:name="com.taobao.accs.ChannelService$KernelService"
                android:process=":channel" />

            <service
                android:name="org.android.agoo.accs.AgooService"
                android:exported="true">
                <intent-filter>
                    <action android:name="com.taobao.accs.intent.action.RECEIVE" />
                </intent-filter>
            </service>

            <service
                android:name="com.umeng.message.UmengIntentService"
                android:exported="true"
                android:process=":channel">
                <intent-filter>
                    <action android:name="org.agoo.android.intent.action.RECEIVE" />
                </intent-filter>
            </service>

            <service
                android:name="com.umeng.message.XiaomiIntentService"
                android:exported="true"
                android:process=":channel">
                <intent-filter>
                    <action android:name="org.agoo.android.intent.action.RECEIVE" />
                </intent-filter>
            </service>

            <receiver
                android:name="com.taobao.agoo.AgooCommondReceiver"
                android:exported="true"
                android:process=":channel">
                <intent-filter>
                    <action android:name="${applicationId}.intent.action.COMMAND" />
                </intent-filter>
                <intent-filter>
                    <action android:name="android.intent.action.PACKAGE_REMOVED" />
                    <data android:scheme="package" />
                </intent-filter>
            </receiver>

            <service
                android:name="com.umeng.message.UmengMessageIntentReceiverService"
                android:exported="true"
                android:process=":channel">
                <intent-filter>
                    <action android:name="org.android.agoo.client.MessageReceiverService" />
                </intent-filter>
            </service>

            <receiver
                android:name="com.umeng.message.NotificationProxyBroadcastReceiver"
                android:exported="false" />

            <service
                android:name="com.umeng.message.UmengMessageCallbackHandlerService"
                android:permission="android.permission.BIND_JOB_SERVICE"
                android:exported="false">
                <intent-filter>
                    <action android:name="com.umeng.messge.registercallback.action" />
                </intent-filter>
                <intent-filter>
                    <action android:name="com.umeng.message.enablecallback.action" />
                </intent-filter>
                <intent-filter>
                    <action android:name="com.umeng.message.disablecallback.action" />
                </intent-filter>
                <intent-filter>
                    <action android:name="com.umeng.message.message.handler.action" />
                </intent-filter>
                <intent-filter>
                    <action android:name="com.umeng.message.message.sendmessage.action" />
                </intent-filter>
            </service>

            <service
                android:name="com.umeng.message.UmengDownloadResourceService"
                android:permission="android.permission.BIND_JOB_SERVICE"
                android:exported="false" />

            <provider
                android:name="com.umeng.message.provider.MessageProvider"
                android:authorities="${applicationId}.umeng.message"
                android:exported="false">
                <grant-uri-permission android:pathPattern=".*" />
            </provider>
            <!-- 以下为基本配置信息，需要自行添加至您的AndroidManifest文件中 end-->
        </config-file>
        
        <config-file parent="/*" target="AndroidManifest.xml"/>
        <framework custom="true" src="src/android/plugin.gradle" type="gradleReference"/>
        <source-file src="src/android/UMengPush.java" target-dir="src/com/yl/umeng"/>
        <source-file src="src/android/UMApplication.java" target-dir="src/com/yl/umeng"/>
        <source-file src="src/android/PushActivity.java" target-dir="src/com/yl/umeng"/>
    </platform>
    <platform name="ios">
        <config-file parent="/*" target="config.xml">
            <feature name="UMengPush">
                <param name="ios-package" value="UMengPush"/>
                <param name="onload" value="true" />
            </feature>
        </config-file>
        <!--API_KEY-->
        <config-file parent="UMengPush" target="*-Info.plist">
            <dict>
                <key>UMPUSH_APPKEY</key>
                <string>$IOS_APPKEY</string>
            </dict>
        </config-file>
        <header-file src="src/ios/UMengPush.h"/>
        <header-file src="src/ios/AppDelegate+UmengPush.h"/>
        <source-file src="src/ios/UMengPush.m"/>
        <source-file src="src/ios/AppDelegate+UmengPush.m"/>
        <framework src="src/ios/librarys/SecurityEnvSDK.framework" custom="true"/>
        <framework src="src/ios/librarys/UMCommon.framework" custom="true"/>
        <framework src="src/ios/librarys/UMCommonLog.framework" custom="true"/>
        <framework src="src/ios/librarys/UMPush.framework" custom="true"/>
        <framework src="src/ios/librarys/UTDID.framework" custom="true"/>
        <resource-file src="src/ios/librarys/UMCommonLog.bundle"/>
        <framework src="CoreTelephony.framework" />
        <framework src="UserNotifications.framework" />
        <framework src="libz.tbd" />
        <framework src="libsqlite3.tbd" />
    </platform>
</plugin>
