<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    <!-- 推送相关权限 -->
    <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.RECEIVE_BOOT_COMPLETED" />
    
    <application>
        <!-- 极光推送基础配置（使用本模块自己的 strings.xml 资源） -->
        <meta-data
            android:name="JPUSH_APPKEY"
            android:value="@string/jpush_app_key"
            tools:replace="android:value" />
        <meta-data
            android:name="JPUSH_CHANNEL"
            android:value="@string/push_jpush_channel"
            tools:replace="android:value" />
        
        <!-- 厂商通道配置（使用本模块自己的 strings.xml 资源，覆盖厂商 SDK 的占位符） -->
        <!-- 注意：需要在各厂商开放平台申请 AppKey 和 AppSecret，并在 strings.xml 中配置 -->
        <!-- 使用 tools:replace 覆盖厂商 SDK AAR 中的占位符，完全在 capability-push 模块中管理 -->
        
        <!-- 小米通道配置（覆盖厂商 SDK 的 ${XIAOMI_APPID} 和 ${XIAOMI_APPKEY}） -->
        <meta-data
            android:name="XIAOMI_APPID"
            android:value="@string/mi_app_id"
            tools:replace="android:value" />
        <meta-data
            android:name="XIAOMI_APPKEY"
            android:value="@string/mi_app_key"
            tools:replace="android:value" />
        
        <!-- 华为通道配置 -->
        <meta-data
            android:name="HUAWEI_APP_ID"
            android:value="@string/huawei_app_id"
            tools:replace="android:value" />
        
        <!-- OPPO通道配置（覆盖厂商 SDK 的占位符） -->
        <meta-data
            android:name="OPPO_APPID"
            android:value="@string/oppo_app_id"
            tools:replace="android:value" />
        <meta-data
            android:name="OPPO_APPKEY"
            android:value="@string/oppo_app_key"
            tools:replace="android:value" />
        <meta-data
            android:name="OPPO_APPSECRET"
            android:value="@string/oppo_app_secret"
            tools:replace="android:value" />
        
        <!-- vivo通道配置（覆盖厂商 SDK 的占位符） -->
        <!-- 注意：vivo SDK 使用的 meta-data 名称是 com.vivo.push.app_id 和 com.vivo.push.api_key -->
        <meta-data
            android:name="com.vivo.push.app_id"
            android:value="@string/vivo_app_id"
            tools:replace="android:value" />
        <meta-data
            android:name="com.vivo.push.api_key"
            android:value="@string/vivo_app_key"
            tools:replace="android:value" />
        
        <!-- 魅族通道配置（覆盖厂商 SDK 的占位符） -->
        <meta-data
            android:name="MEIZU_APPID"
            android:value="@string/meizu_app_id"
            tools:replace="android:value" />
        <meta-data
            android:name="MEIZU_APPKEY"
            android:value="@string/meizu_app_key"
            tools:replace="android:value" />
        
        <!-- 极光推送服务（官方 SDK 自带，必须声明） -->
        <service
            android:name="cn.jpush.android.service.PushService"
            android:enabled="true"
            android:exported="false">
            <intent-filter>
                <action android:name="cn.jpush.android.intent.PushService" />
            </intent-filter>
        </service>
        
        <!-- 极光推送接收器（官方 SDK 自带，必须声明） -->
        <receiver
            android:name="cn.jpush.android.service.PushReceiver"
            android:enabled="true"
            android:exported="false">
            <intent-filter>
                <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>
        
        <!-- 自定义消息接收器（封装层，用于业务回调） -->
        <!-- 注意：这是额外的封装层，用于将极光推送的消息回调到业务层 -->
        <receiver
            android:name="com.narutohuo.xindazhou.push.receiver.JPushReceiver"
            android:enabled="true"
            android:exported="false">
            <intent-filter>
                <action android:name="cn.jiguang.android.intent.MESSAGE_RECEIVED" />
                <action android:name="cn.jiguang.android.intent.NOTIFICATION_RECEIVED" />
                <action android:name="cn.jiguang.android.intent.NOTIFICATION_OPENED" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>
    </application>
</manifest>

