AI-generated Key Takeaways
-
Google Publisher Policies have been updated with new notice and consent requirements for publishers sharing users' precise location data for ads.
-
Publishers need to inform users about the sharing of their location data with Google for personalized advertising, analytics, and attribution.
-
The provided code snippets (Swift and Objective-C) offer examples of how to present a consent overlay to users, but should be customized to reflect the publisher's specific data sharing practices.
-
Publishers are responsible for ensuring transparency and accurately informing users about all purposes for which their precise location data is shared.
Recent updates to the Google Publisher Policies have introduced new notice and consent requirements for publishers who pass precise location data of users to Google, for ads-related purposes.
If this policy applies to you, the following snippet shows one way you could inform your users of this data sharing:
Swift
func presentConsentOverlayFromViewController(_ rootViewController: UIViewController) { if (rootViewController == nil) { return; } DispatchQueue.main.async { let alert = UIAlertController(title: "Location data", message: """ 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. """, preferredStyle: .alert) let alertAction = UIAlertAction(title: "OK", style: .default, handler: { _ in // TODO: replace the below log statement with code that specifies how // you want to handle the user's acknowledgement. print("Got consent.") } ) alert.addAction(alertAction) rootViewController.present(alert, animated: true, completion: nil) } } // To use the above function assuming you are in a view controller: presentConsentOverlayFromViewController(self)
Objective-C
- (void)presentConsentOverlayFromViewController:(UIViewController *)rootViewController { if (rootViewController == nil) { return; } dispatch_async(dispatch_get_main_queue(), ^{ UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Location data" message: @"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." preferredStyle:UIAlertControllerStyleAlert]; UIAlertAction *ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { [alert dismissViewControllerAnimated:YES completion:^{ // TODO: replace the below log statement with code that specifies // how you want to handle the user's acknowledgement. NSLog(@"Got consent."); }]; }]; [alert addAction:ok]; [rootViewController presentViewController:alert animated:YES completion:nil]; }); } // To use the previous function assuming you are in a view controller: [self presentConsentOverlayFromViewController:self];