killapp/Assets/Plugins/Android/AndroidManifest.xml
“虞渠成” 99e461590d fix: 修复国内设备启动闪退问题,禁用 Firebase 自动初始化
修改 FirebaseAuthManager 改为懒加载,仅在用户触发登录时初始化 Firebase
移除 AndroidManifest 中 Firebase 相关自动初始化的 provider
关闭 MainScene 的服务器后门开关,提升安全性
2026-09-24 10:16:09 +08:00

60 lines
4.0 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.photonmatrix.photonmatrix">
<!-- 网络权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 蓝牙权限 -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
<!-- 相机权限 -->
<uses-permission android:name="android.permission.CAMERA" />
<!-- 移除 SDK 库合并进来的广告 ID 相关权限(本应用不使用广告 ID -->
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove" />
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID" tools:node="remove" />
<uses-feature android:name="android.hardware.camera" android:required="true" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<!-- Android 12+ 蓝牙权限 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 声明需要 BLE 功能 -->
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true" />
<application android:label="@string/app_name" android:icon="@mipmap/app_icon" android:theme="@style/UnityThemeSelector">
<!-- Unity 主 Activity -->
<activity android:name="com.unity3d.player.UnityPlayerActivity" android:configChanges="orientation|screenSize|smallestScreenSize|keyboardHidden|keyboard">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- 处理 Google 登录回调 -->
<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="com.googleusercontent.apps.785438724947-kpjbqi43hbj6eddianbjsgkgkkclkfmd" />
</intent-filter>
</activity>
<!-- 禁用 Firebase 自动初始化FirebaseInitProvider 等 ContentProvider 会在冷启动时自动初始化 Firebase 并访问 Google 服务,
在无 GMS/关闭谷歌服务的国内设备上会导致启动闪退。移除后 Firebase 改为由 C# 在真正需要时(点谷歌/苹果登录)才初始化。 -->
<provider android:name="com.google.firebase.provider.FirebaseInitProvider" android:authorities="com.photonmatrix.photonmatrix.firebaseinitprovider" tools:node="remove" />
<provider android:name="com.google.android.gms.measurement.AppMeasurementInitializer" tools:node="remove" />
<provider android:name="com.google.android.gms.measurement.AppMeasurementContentProvider" tools:node="remove" />
<!-- 禁用 Firebase Analytics 自动采集,配合块 provider 移除,确保不触发原生初始化 -->
<meta-data android:name="firebase_analytics_collection_enabled" android:value="false" tools:node="replace" />
<!-- Firebase 配置 -->
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
<!-- 如果你使用 Firebase Messaging需要添加 -->
<!--
<service
android:name=".MyFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
-->
</application>
</manifest>