如何以编程方式在 Android 中重置 Google 广告 ID?
Posted
技术标签:
【中文标题】如何以编程方式在 Android 中重置 Google 广告 ID?【英文标题】:How to reset Google Advertising ID in Android Programmatically? 【发布时间】:2017-03-17 12:11:50 【问题描述】:出于自动化目的,我正在尝试以编程方式重置 Google 广告 ID。
我能够获取广告 ID 和 isLimitAdTrackingEnabled。但我想以编程方式重置 ID
https://developers.google.com/android/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient.Info
用户可以从谷歌设置应用手动重置谷歌广告ID。
【问题讨论】:
有什么解决办法吗? 【参考方案1】:您可以通过编程方式重置广告 ID。
尝试以root权限执行此命令:
rm -f /data/data/com.google.android.gms/shared_prefs/adid_settings.xml
如果您删除了 XML 文件,它将自动生成一个新的广告 ID 和 XML 文件。
我在 Android 4.4 API 设备上确认了这一点。
【讨论】:
太棒了!你是我的英雄!谢谢! 在 android 5 上确认【参考方案2】:根据 Android 文档,广告 ID 只能由用户重置。
广告 ID API 不包含“重置”方法。只有用户可以通过 Google 设置应用程序重置自己的广告 ID。
Source
2020 年 12 月更新:
上面的链接坏了。似乎该文档已在此 commit 处删除。
在 d.android.com 部分中,Google 广告 ID 多次被提及为用户可重置,这表明重置标识符由用户决定,而不是由开发人员决定。 (link)
【讨论】:
很高兴知道这一点!不幸的是,该文档的链接不再有效。 感谢@AdamHurwitz 指出这一点。我已经用一些更相关的信息更新了它。似乎不存在类似的文档,但文档清楚地表明 Google Advertising Id 是用户可重置的,这表明类似的事情。【参考方案3】:注意:虽然这并不能回答所提出的问题,但它至少可能符合意图的标准,并且可能有助于其他寻找解决方法的人.
如果您能够创建Activities
快捷方式(例如 Nova Launcher 或其他第三方启动器提供的小部件功能),您可以创建指向 Google Play 服务 > 广告的活动链接(具体来说,.ads.settings.AdsSettingsActivity
)。生成的快捷方式没有图标,但名称为“广告”。
用户可以从他们选择的启动器中单击此快捷方式,然后直接进入允许用户单击“重置广告 ID”的子菜单。 您甚至可以从股票启动器创建一个活动小部件,只要安装了 Nova Launcher 或其他第三方启动器。
最终结果是执行操作所需的点击次数显着减少:
之前:(5 次点击)菜单 > 设置 > Google > 广告 > 重置广告 身份证 之后:(单击 2 次)广告活动快捷方式 > 重置广告 ID参考:有关如何创建 Activity 小部件的更多信息,请查看this link。
【讨论】:
【参考方案4】:您也可以使用一系列 adb shell 命令重置它(在 android-28、google_apis、x86 SDK 上测试过)
adb root
adb shell am start -n com.google.android.gms/.ads.settings.AdsSettingsActivity
adb shell su root input tap 100 100
adb shell su root input tap 280 360
这基本上会打开您的 Google Ads 活动,然后自动执行屏幕上的点击行为,这将重置设备 ID。
随后的点击行为在此视频中:How to set GAID
【讨论】:
以上是关于如何以编程方式在 Android 中重置 Google 广告 ID?的主要内容,如果未能解决你的问题,请参考以下文章
如何以编程方式重置或取消选中 Angular 中的单选按钮?