You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ionic项目上传Google Play遇GET_ACCOUNTS权限隐私政策报错咨询

关于Google Play隐私政策要求的问题解答

我的问题

我用Ionic框架搭建了项目,还集成了Firebase数据库API和AngularFire2。结果把APK上传到Google Play商店时收到了报错:

您的APK使用了需要隐私政策的权限:(android.permission.GET_ACCOUNTS)

我已经在AndroidManifest.xml里确认这个权限确实存在,想请教两个问题:

  1. 我是不是必须要创建隐私政策?
  2. 做这件事难度大吗?

附上我的AndroidManifest.xml内容:

<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="2" android:versionName="0.0.2" package="io.ionic.habit" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:hardwareAccelerated="true" android:icon="@mipmap/icon" android:label="@string/app_name" android:supportsRtl="true">
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
<intent-filter android:label="@string/launcher_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<provider android:authorities="${applicationId}.provider" android:exported="false" android:grantUriPermissions="true" android:name="de.appplant.cordova.emailcomposer.Provider">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/emailcomposer_provider_paths" />
</provider>
<receiver android:enabled="true" android:name="com.google.android.gms.analytics.AnalyticsReceiver">
<intent-filter>
<action android:name="com.google.android.gms.analytics.ANALYTICS_DISPATCH" />
</intent-filter>
</receiver>
<service android:enabled="true" android:exported="false" android:name="com.google.android.gms.analytics.AnalyticsService" />
<receiver android:enabled="true" android:exported="true" android:name="com.google.android.gms.analytics.CampaignTrackingReceiver">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<service android:enabled="true" android:exported="false" android:name="com.google.android.gms.analytics.CampaignTrackingService" />
</application>
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="25" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>

解答

1. 必须创建隐私政策吗?

没错,必须要做。Google Play的审核规则卡得很严,只要你的应用请求了涉及用户隐私的权限——比如GET_ACCOUNTS,这个权限能获取设备上的账号相关信息——就必须提供公开可访问的隐私政策,不然根本过不了审核。

而且不止Google Play的要求,像GDPR这类全球通用的隐私法规,也要求这类收集用户数据的应用必须有明确的隐私政策,告知用户你收集了什么、用来干嘛、怎么处理这些数据。另外你集成的Firebase本身也可能在收集用户的分析或行为数据,这也进一步要求你必须有隐私政策。

2. 操作难度大吗?

别担心,其实没那么复杂,分几步就能搞定:

  • 先理清数据情况
    先搞清楚两点:一是你的应用通过GET_ACCOUNTS权限到底收集了哪些数据(比如账号ID、邮箱);二是Firebase服务会自动收集哪些数据(比如应用使用分析数据,如果用了Firebase Auth的话还有认证信息)。
  • 撰写隐私政策内容
    内容不用太晦涩,只要覆盖这几个关键点就行:
    • 你收集的用户数据类型
    • 收集这些数据的具体用途
    • 数据的存储方式,以及是否会共享给Firebase这类第三方服务
    • 用户拥有的权利(比如怎么查看、删除自己的个人数据)
    • 你的联系方式
      你可以参考同类型应用的隐私政策,或者用一些隐私政策生成工具来辅助(注意要符合你目标用户所在地区的法规)。
  • 在Google Play后台配置
    把写好的隐私政策放到一个公开可访问的地方(比如你的个人网站、GitHub Pages),然后登录Google Play Console,在应用的「内容分级」或者「应用信息」页面里填写隐私政策的链接就行。
  • 可选操作:移除不必要的权限
    如果你仔细检查后发现,你的应用其实根本不需要GET_ACCOUNTS权限——有时候这个权限是依赖库(比如Firebase的某些模块)自动帮你加上的——那你可以直接在AndroidManifest.xml里移除它:
    <uses-permission android:name="android.permission.GET_ACCOUNTS" tools:node="remove" />
    
    记得移除后要测试一下应用功能是否正常,如果Firebase服务不需要这个权限的话,移除后就不用因为它而额外准备隐私政策了。

内容的提问来源于stack exchange,提问作者Jack_Hardy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:47:26