我的应用程序或其依赖项是否违反了Android广告ID政策?

时间:2018-09-18 06:56:25

标签: android google-play google-play-console google-advertising-id

我刚刚从Google Play收到了此消息,但没有收集广告ID。

  

警告原因:违反Android广告ID的使用   政策和《开发人员分发协议》第4.8节

     

Google Play要求开发人员在以下情况下提供有效的隐私权政策:   该应用程序请求或处理敏感的用户或设备信息。   我们已经确定您的应用收集并传输了Android   广告ID,这受隐私政策的约束。

我的任何依赖都可能使用它吗?这是依赖项列表:

implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation "org.jetbrains.anko:anko-common:$anko_version"

implementation ("com.android.support:appcompat-v7:$android_support_version") {
    exclude group: 'com.android.support', module: 'animated-vector-drawable'
    exclude group: 'com.android.support', module: 'design'
}
implementation ("com.android.support:design:$android_support_version") {
    exclude group: 'com.android.support', module: 'animated-vector-drawable'
}
implementation ("com.android.support:cardview-v7:$android_support_version") {
    exclude group: 'com.android.support', module: 'animated-vector-drawable'
    exclude group: 'com.android.support', module: 'design'
}
implementation 'com.github.PhilJay:MPAndroidChart:v3.0.2'
implementation 'com.github.apl-devs:appintro:v4.2.3'
implementation('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
    transitive = true
}
implementation 'com.firebase:firebase-jobdispatcher:0.7.0'
implementation ("com.google.firebase:firebase-firestore:$firestore_version") {
    exclude group: 'com.google.firebase', module: 'firebase-auth'
}
implementation ("com.google.firebase:firebase-auth:$firebase_version") {
    exclude group: 'com.google.firebase', module: 'firebase-firestore'
}
implementation ("com.google.firebase:firebase-storage:$firebase_version") {
    exclude group: 'com.google.firebase', module: 'firebase-firestore'
}
implementation ('com.google.android.gms:play-services-auth:16.0.0') {
    exclude group: 'com.google.firebase', module: 'firebase-firestore'
}
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:multidex:1.0.3'
implementation ("com.android.support:exifinterface:$android_support_version") {
    exclude group: 'com.android.support', module: 'animated-vector-drawable'
    exclude group: 'com.android.support', module: 'design'
}
implementation 'com.soundcloud.android:android-crop:1.0.1@aar'
implementation 'com.github.bumptech.glide:glide:4.7.1'

19 个答案:

答案 0 :(得分:65)

禁用广告ID收集

根据Firebase docs,您可以通过设置以下方式禁用广告ID收集:

<meta-data android:name="google_analytics_adid_collection_enabled" android:value="false" />

在您的AndroidManifest.xml中的<Application>标签下。

编辑:似乎人们通过这种方法取得了不同的成功。尝试添加 根据以下评论,configurations { all*.exclude group: 'com.google.firebase', module: 'firebase-core' all*.exclude group: 'com.google.firebase', module: 'firebase-iid' }进入Gradle应用程序依赖项区域。

答案 1 :(得分:59)

如今,许多开发人员都遇到了同样的问题。 我也遇到了这个问题。我没有收集任何敏感数据,甚至没有向用户展示广告。 在您的情况下,Crashlytics库可能是个问题 。它处理广告ID。 他们在邮件中提到了所需的操作:

  

需要采取的行动 :向您的商品详情和应用添加隐私政策

因此,我认为我们所有人都应该在商品详情和应用上添加隐私权政策。在采取行动之前,我们应该仔细阅读相关的隐私政策。 以下是一些可获取帮助的链接:

Privacy policy to upload an app

Usage of Android Advertising ID

Developer Distribution Agreement

Developer Program Policies

答案 2 :(得分:21)

您正在使用低于2.9.3的crashlytics。显然,它正在收集并发送Google广告ID作为其标题中的关键字。这可能是问题之一。 您可以检查它是否通过像Charles这样的代理发送广告ID。

编辑*** 通过从AdvertisingIdClient.getAdvertisingIdInfo()包中调用com.google.android.gms.ads.identifier,似乎2.9.3及更高版本仍在从中获取adsID。我通过在方法上设置一个断点来检查它。我假设它仍然以某种方式发送到结构。这意味着升级到更高版本将无法解决问题。

答案 3 :(得分:16)

对于Unity用户,问题出在 Unity Analytics

要解决此问题,我们需要执行 2个任务

重新提交大约几分钟后,Google Play批准了我的应用。

答案 4 :(得分:15)

我没有使用Crashlytics或其他任何东西。只是一个带有Facebook Ads的简单离线应用。我的应用仍然从Play商店中删除。

问题:违反了Android广告ID政策和《开发者分发协议》第4.8条的规定

问题描述::当应用请求或处理敏感的用户或设备信息时,Google Play要求开发人员提供有效的隐私权政策。我们已经确定您的应用收集并传输了Android广告标识符,这要遵守隐私权政策的要求。如果您的应用收集了Android广告ID,则必须在Play控制台中的指定字段以及应用内部提供有效的隐私权政策。

解决方案:

  1. 我使用此link为我的应用创建了隐私权政策,并根据我的应用对其进行了编辑。

  2. 我使用此link.

  3. 为我的隐私政策创建了一个网址
  4. 登录Google Play Console并转到商店状态,然后存储商品并将其网址粘贴到“隐私权政策”部分。

  5. 提交您的更新。

注意-就我而言,我不必提交邮件中提到的带有隐私权政策的新版本,并且我的应用可以在数小时内显示在Play商店中我上面提到的步骤。如果遵循上述步骤后,如果您的应用在游戏商店中不可见,那么您也应该在应用中放置一个隐私权政策部分,然后提交新的版本。

答案 5 :(得分:14)

我也收到了同样的消息,并且今天暂停了我的一些应用程序。

所以我只是删除了这三个Firebase依赖项:

import argparse, logging, re
from googleapiclient.discovery import build
from oauth2client.client import GoogleCredentials
import apache_beam as beam
from apache_beam.options.pipeline_options import PipelineOptions
from apache_beam.options.pipeline_options import SetupOptions


def retrieve_job_id(element):
  project = 'PROJECT_ID'
  job_prefix = "myjobprefix"
  location = 'us-central1'

  logging.info("Looking for jobs with prefix {} in region {}...".format(job_prefix, location))

  try:
    credentials = GoogleCredentials.get_application_default()
    dataflow = build('dataflow', 'v1b3', credentials=credentials)

    result = dataflow.projects().locations().jobs().list(
      projectId=project,
      location=location,
    ).execute()

    job_id = "none"

    for job in result['jobs']:
      if re.findall(r'' + re.escape(job_prefix) + '', job['name']):
        job_id = job['id']
        break

    logging.info("Job ID: {}".format(job_id))
    return job_id

  except Exception as e:
    logging.info("Error retrieving Job ID")
    raise KeyError(e)


def run(argv=None):
  parser = argparse.ArgumentParser()
  known_args, pipeline_args = parser.parse_known_args(argv)

  pipeline_options = PipelineOptions(pipeline_args)
  pipeline_options.view_as(SetupOptions).save_main_session = True

  p = beam.Pipeline(options=pipeline_options)

  init_data = (p
               | 'Start' >> beam.Create(["Init pipeline"])
               | 'Retrieve Job ID' >> beam.FlatMap(retrieve_job_id))

  p.run()


if __name__ == '__main__':
  run()

然后,我重新提交了这些应用,并在审核后将其接受了:)

答案 6 :(得分:6)

这是原因 Google Play服务4.0版引入了新的API和ID,供广告和分析提供商使用。 我们需要提供一个隐私声明,并使其在网络上可用。 样品去 https://digital.com/blog/best-privacy-policy-generators/

要更改您的android应用程序上的设置。在开发者控制台的商品详情中,向下滚动到“隐私权政策”。在此处添加网址。

答案 7 :(得分:5)

如果您的应用使用了诸如分析之类的Firebase SDK,则可以通过在Advertising ID文件的AndroidManifest.xml标记下放置以下行来禁用SDK级的Application收集。

<meta-data android:name="google_analytics_adid_collection_enabled" android:value="false" />

您可以详细了解here

我的应用程序甚至都不是受广告支持的应用程序,但仍然受到此section 4.8子句的打击。通过采用上述技术,我能够无需提交任何隐私政策就将其恢复到Google Play上。

答案 8 :(得分:4)

从Google邮件复制

请与政策支持小组联系。

  1. 如果您的应用请求用户数据或进行敏感权限请求(例如电话,帐户,联系人,相机,麦克风),或者您的应用使用Android广告标识符,则需要在两个位置添加有效的隐私权政策:您的应用的“商品详情”页面(以下说明)以及您的应用内。
  2. 作为第二种选择,您可以删除对用户数据或敏感权限的任何请求。例如,您需要从清单中删除{复制和粘贴权限这里}。如果删除这些请求,则无需添加隐私策略。 如果您无法完成步骤1或2,则需要从Play商店中取消发布该应用。
  3. 如果您的应用尚未发布,则无需采取任何措施,除非您日后重新发布该应用。

您可以按照以下步骤将隐私权政策添加到您的商品详情中:

  1. 登录到您的Play控制台。

  2. 选择您的应用。

  3. 在左侧,选择“商店状态”>“商店清单”。

  4. 在“隐私政策”下,输入您在线托管隐私政策的网址。

  5. 保存更改以将更新提交到您的应用。

请访问我们的help center,以了解有关Google Play隐私权政策要求的更多信息。

enter image description here

答案 9 :(得分:4)

禁用广告ID收集:

https://firebase.google.com/support/guides/disable-analytics#disable_advertising_id_collection

通过清单文件中的这两行:

<meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" />

<meta-data android:name="google_analytics_adid_collection_enabled" android:value="false" />

答案 10 :(得分:3)

创建隐私政策网页:

  • 首先,创建一个页面,其中包含已屏蔽的隐私政策 应用程序。
  • 写出您要处理的信息。如果您不处理私人数据,请清楚地写出。
  • 在Google Play控制台中添加有关应用程序隐私政策的信息(链接)

经同意的应用更新:

  • 按照Google网站上的说明进行操作:https://developers.google.com/admob/android/eu-consent
  • 添加指向您的隐私政策的链接:
    privacyUrl = new URL("https://www.your.com/privacyurl"); ConsentForm form = new ConsentForm.Builder(context, privacyUrl)

  • 通过在浏览器或应用程序的webview中打开隐私策略网页

  • 同意更新应用并上传到Google Play控制台

答案 11 :(得分:3)

我删除了我的一个应用程序,而另一个由于以下原因得到了警告: 问题:违反Android广告ID政策的使用和开发者分发协议第4.8节

我为这两个应用程序创建了隐私策略,更新了Play控制台商店列表中的链接,在两个应用程序和重新提交的应用程序的主菜单中都包含了隐私策略链接。 这两个应用程序现在都可以运行。 如果需要,您可以复制策略,请确保根据您的应用权限和名称进行编辑。 Privacy policy

我不知道这些移除游戏机和警告是否算是罢工,还是有人可以启发我。

答案 12 :(得分:3)

我正在使用Crashlytics和OneSignal。依靠Crashlytics 2.9.3的@RikvanVelzen测试,这不是我从Google获取消息的原因,而是OneSignal。

Google的要求是“您必须在Play控制台中的指定字段以及应用内提供有效的隐私政策。”

因此,我认为我只需要做两件事就不会太复杂:

  1. 将Google Play控制台中的隐私权政策链接添加到带有信息的网页上
  2. 在应用中添加隐私政策信息

以下内容似乎提供了有关操作方法的说明(只是其中的一种): https://www.iubenda.com/blog/warning-google-play-developer-policy-violation-action-required-policy-issue/

答案 13 :(得分:3)

第1步:添加隐私和策略网址以播放商店控制台

第2步:点击按钮时,在侧栏中创建一个按钮示例,只需调用以下方法,然后在此处添加您的网址

private void callThisMethodWhenPrivacyButtonClicked() {
        AlertDialog.Builder alert = new AlertDialog.Builder(this);
        alert.setTitle("Title here");

        WebView wv = new WebView(this);
        wv.loadUrl("{your privacy and policy uurl }");
        wv.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);

                return true;
            }
        });

        alert.setView(wv);
        alert.setNegativeButton("Close", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int id) {
                dialog.dismiss();
            }
        });
        alert.show();
    }

答案 14 :(得分:3)

首先,您必须创建一个隐私权政策网址,然后根据应用将该网址添加到 GOOGLE PUBLISHER CONSOLE 中。 您可以使用此网站轻松创建隐私政策。

Privacy Policies

如果您有服务器/主机,请尝试在自己的服务器上上传隐私策略页面,否则您可以使用此网站进行存储。

提及:您必须在应用程序上添加此策略页面。创建一个菜单作为隐私权警察,并在对话框中显示所有策略内容。最简单的方法。

答案 15 :(得分:3)

我的应用今天已从商店删除..同一问题 我所做的所有操作(我将隐私策略添加到应用程序中)(应用程序控制台-商店状态-商店列表) Like the image 您可以从App Privacy Policy Generator创建它 并对其进行升级并在商店列表中写入链接,然后重新提交应用 那对我来说是工作 抱歉我的语言不好

答案 16 :(得分:2)

我最近收到Google的警告,提到我违反了Android广告ID的使用政策和开发者分发协议的第4.8节。

我没有在我的应用程序上使用广告,但是我正在使用振幅 Fabric 跟踪用户事件/分析,这可能是造成此警告的原因。

解决问题所需采取的措施:

  1. 使用Firebase app privacy policy generator
  2. 生成隐私政策
  3. 将您生成的隐私权政策纳入您的应用程序中,并使用户可以访问它。

  4. 更新应用程序,并将隐私权政策链接(通过网页或Google文档)添加到您的商品详情。

答案 17 :(得分:2)

问题表明,该违规是由于使用了用户的Android广告ID。我有同样的问题。我创建了一个隐私权政策,并将网址添加到了我的应用程序和Google Play页面中。提交更新,该应用程序再次上线。请务必提及,您正在应用程序中收集可识别个人信息的Android广告ID。我已经给出了我的应用程序隐私权政策的链接,如果您需要知道它的确切含义,请参考该链接。

这是我的隐私政策:

https://nwsty.com/privacy-policy-and-terms-of-use-android/

您可以在此处轻松创建隐私政策:

https://app-privacy-policy-generator.firebaseapp.com/

enter image description here

仅供参考,这是有问题的应用程序: https://play.google.com/store/apps/details?id=com.instancea.nwsty&hl=en_US

答案 18 :(得分:0)

我今天暂停了3个应用。 我度过了忙碌的一天,但午餐后设法开始使用应用程序。我进行了工作,并提交了3个更新中的2个。现在,我正在处理第三个更新。

几分钟前,刚刚获得批准。 我的大多数应用程序已经具有隐私政策。被暂停的人没有。 在我的案例中,可疑库是Admob和Firebase Analytics。

我做了什么: 1.我创建了一个隐私政策网页,并在Google Play商店列表中添加了一个链接。 2.我在应用程序中以字符串形式添加了隐私策略,该隐私策略通过一个对话框可以弹出,用户可以接受或拒绝一次。

更新后,我屏住呼吸2个小时,瞧!