Google 发布商合作规范最近有更新,针对出于广告相关目的而向 Google 传送用户精确位置数据的发布商,在通知和用户意见征求方面提出了新的要求。
如果该政策适用于您,以下代码段演示了您向用户告知此类数据共享的一种方式:
Kotlin
protectedfunpresentConsentOverlay(context:Context){AlertDialog.Builder(context).setTitle("Location data").setMessage("We may use your location, "+"and share it with third parties, "+"for the purposes of personalized advertising, "+"analytics, and attribution. "+"To learn more, visit our privacy policy "+"at https://myapp.com/privacy.").setNeutralButton("OK"){dialog,which->dialog.cancel()// TODO: replace the below log statement with code that specifies how// you want to handle the user's acknowledgement.Log.d("MyApp","Got consent.")}.show()}// To use the above function:presentConsentOverlay(this)
Java
protectedvoidpresentConsentOverlay(Contextcontext){newAlertDialog.Builder(context).setTitle("Location data").setMessage("We may use your location, "+"and share it with third parties, "+"for the purposes of personalized advertising, "+"analytics, and attribution. "+"To learn more, visit our privacy policy "+"at https://myapp.com/privacy.").setNeutralButton("OK",newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){dialog.cancel();// TODO: replace the below log statement with code that specifies how// you want to handle the user's acknowledgement.Log.d("MyApp","Got consent.");}}).show();}// To use the above method:presentConsentOverlay(this);
[null,null,["最后更新时间 (UTC):2025-08-31。"],[[["\u003cp\u003eGoogle Publisher Policies now require publishers to obtain user consent before sharing precise location data for ads.\u003c/p\u003e\n"],["\u003cp\u003ePublishers need to clearly inform users about how their location data will be used, including personalized advertising, analytics, and attribution.\u003c/p\u003e\n"],["\u003cp\u003eSample code snippets in Kotlin and Java demonstrate how to create a consent overlay to inform users and obtain their acknowledgement.\u003c/p\u003e\n"],["\u003cp\u003ePublishers must customize the provided snippets to accurately reflect their specific data sharing practices for compliance.\u003c/p\u003e\n"]]],[],null,["# Precise location data policy\n\nSelect platform: [Android](/ad-manager/mobile-ads-sdk/android/privacy/precise-location \"View this page for the Android platform docs.\") [iOS](/ad-manager/mobile-ads-sdk/ios/privacy/precise-location \"View this page for the iOS platform docs.\")\n\n\u003cbr /\u003e\n\nRecent updates to the [Google Publisher\nPolicies](//support.google.com/adsense/answer/9335564#use_of_device_and_location_data)\nhave introduced new notice and consent requirements for publishers who pass\nprecise location data of users to Google, for ads-related purposes.\n\nIf this policy applies to you, the following snippet shows one way you could\ninform your users of this data sharing: \n\n### Kotlin\n\n```kotlin\nprotected fun presentConsentOverlay(context: Context) {\n AlertDialog.Builder(context)\n .setTitle(\"Location data\")\n .setMessage(\"We may use your location, \" +\n \"and share it with third parties, \" +\n \"for the purposes of personalized advertising, \" +\n \"analytics, and attribution. \" +\n \"To learn more, visit our privacy policy \" +\n \"at https://myapp.com/privacy.\")\n .setNeutralButton(\"OK\") { dialog, which -\u003e\n dialog.cancel()\n // TODO: replace the below log statement with code that specifies how\n // you want to handle the user's acknowledgement.\n Log.d(\"MyApp\", \"Got consent.\")\n }\n .show()\n}\n\n// To use the above function:\npresentConsentOverlay(this)\n```\n\n### Java\n\n```java\nprotected void presentConsentOverlay(Context context) {\n new AlertDialog.Builder(context)\n .setTitle(\"Location data\")\n .setMessage(\"We may use your location, \" +\n \"and share it with third parties, \" +\n \"for the purposes of personalized advertising, \" +\n \"analytics, and attribution. \" +\n \"To learn more, visit our privacy policy \" +\n \"at https://myapp.com/privacy.\")\n .setNeutralButton(\"OK\", new DialogInterface.OnClickListener() {\n @Override\n public void onClick(DialogInterface dialog, int which) {\n dialog.cancel();\n // TODO: replace the below log statement with code that specifies how\n // you want to handle the user's acknowledgement.\n Log.d(\"MyApp\", \"Got consent.\");\n }\n })\n .show();\n}\n\n// To use the above method:\npresentConsentOverlay(this);\n```\n| **Key Point:** This snippet is only an example. Make sure to customize the snippet to accurately reflect your data sharing practices, so users are informed of all the relevant purposes for which you share their precise location data."]]