iOS Privacy and Opt-Out: Difference between revisions
From Engineering Client Portal
ColinBrown (talk | contribs) |
ColinBrown (talk | contribs) |
||
Line 69: | Line 69: | ||
In addition, the following text must be included in your app store description. | In addition, the following text must be included in your app store description. | ||
<blockquote> | <blockquote> | ||
'''"Please note: This app features Nielsen’s proprietary measurement software which contributes to market research, like Nielsen’s TV Ratings. Please see https:// | '''"Please note: This app features Nielsen’s proprietary measurement software which contributes to market research, like Nielsen’s TV Ratings. Please see https://priv-policy.imrworldwide.com/priv/mobile/us/en/optout.html for more information"'''</blockquote> |
Revision as of 21:47, 20 March 2020
Privacy and Opt-Out
There are three primary methods for implementing user Opt-out preferences:
- OS-level Opt-out - managed by Limit Ad Tracking setting on device (preferred approach).
- Legacy Opt-out - Direct call to SDK; used only for older versions of Nielsen iOS SDK (< 5.1.1.18)
OS-level Opt-out
OS-level Opt-out method available on Nielsen iOS SDK Versions 5.1.1.18 and above.
The Nielsen SDK automatically leverages the iOS's Limit Ad Tracking setting. The user is opted out of demographic measurement if the OS-level "Limit Ad Tracking" setting is enabled. As a publisher, you cannot override this setting.
Legacy Opt-out
The Legacy opt-out method is only necessary for Nielsen iOS SDK versions less than 5.1.1.18.
Nielsen iOS SDK 5.1.1.17 and above will check for OS-level opt-out first, if available. The user will be opted out if indicated at the OS-level OR the App-level.
The legacy opt-out method works as follows:
- Get the legacy Nielsen opt-out URL via optOutURL
- Display a WebView element whose loadUrl is set to the value obtained from optOutURL
- Detect if the WebView URL changes to a special URL that indicates Opt-in, or Opt-out and close the WebView
- Opt-out if the WebView URL =
nielsenappsdk://1
- Opt-in if the WebView URL =
nielsenappsdk://0
- Opt-out if the WebView URL =
- Pass the detected URL to the userOptOut function
- Example:
NielsenAppApi?.userOptOut("nielsenappsdk://1"); // User opt-out
- Example:
Legacy Opt-out example code
Swift
var webView: WKWebView!
var NIELSEN_URL_OPT_OUT : String = "nielsenappsdk://1"
var NIELSEN_URL_OPT_IN : String = "nielsenappsdk://0"
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
let urlStr = navigationAction.request.url?.absoluteString
if(urlStr == NIELSEN_URL_OPT_OUT || urlStr == NIELSEN_URL_OPT_IN){
let appApi = self.nielsenApi
appApi?.userOptOut(urlStr)
decisionHandler(.allow)
}else{
decisionHandler(.cancel)
}
}
Objective C
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
NSURLRequest *request = [navigationAction request];
NSString *url = [[request URL]absoluteString];
if([url isEqualToString:self.NIELSEN_URL_OPT_OUT] || [url isEqualToString:self.NIELSEN_URL_OPT_IN]){
[self.nielsenApi userOptOut:url];
decisionHandler(WKNavigationActionPolicyAllow);
}else{
decisionHandler(WKNavigationActionPolicyCancel);
}
}
Retrieve current Opt-Out preference
Whether the user is opted out via OS-level Opt-out or via App-level Opt-out, the current Opt-Out status as detected by the SDK is available via the optOutStatus property in the Nielsen SDK API
Required Privacy Links
Users must either have access to the "About Nielsen Measurement" page, or have similar text available within the native app. Include "About Nielsen Measurement" and "Your Choices" link in the Privacy Policy / EULA or as a button near the link to the app's Privacy Policy.
In addition, the following text must be included in your app store description.
"Please note: This app features Nielsen’s proprietary measurement software which contributes to market research, like Nielsen’s TV Ratings. Please see https://priv-policy.imrworldwide.com/priv/mobile/us/en/optout.html for more information"