Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xamarin.IOS.dll use of Advertising identifier (IDFA)

We are wanting to submit our Xamarin application for review for the Apple Appstore and in the submission process the following question is asked:

Does this app use the Advertising Identifier (IDFA)? The Advertising Identifier (IDFA) is a unique ID for each iOS device and is the only way to offer targeted ads. Users can choose to limit ad targeting on their iOS device.

It also gives a very dire warning in red:

Ensure that you select the correct answer for Advertising Identifier (IDFA) usage. If your app does contain the IDFA and you select No, the binary will be permanently rejected and you will have to submit a different binary.

Here is a screenshot of the question:

enter image description here

I wasn't sure how to answer this because our application does not serve adverts at all but I was not sure whether any components that we are using are using IDFA, and considering the dire warnings I did not want to take any chances.

I googled some information about this question and found this useful article which explained what to search for in your code to ensure that you are not using IDFA. Here is the relevant content:

Apple advised the publisher to check code, including third-party libraries, to remove any incidences of the following:

class: ASIdentifierManager selector: advertisingIdentifier framework: AdSupport.framework

So I did the following grep search in my project:

grep -lr  "ASIdentifierManager" *

This search returned a result saying that ASIdentifierManager was found in both the 32 bit and 64 bit versions of Xamarin.iOS.dll.

So am I correct in assuming that it would not be safe for me to answer "No" to the question because Xamarin.iOS is using ASIdentifierManager. Would it be advisable to answer "Yes" to this question even though our application does not serve adverts? Or is there some way to compile the application so that ASIdentifierManager is not referenced in Xamarin.IOS.dll?

like image 931
BruceHill Avatar asked Jul 16 '15 10:07

BruceHill


People also ask

How do I get iOS IDFA?

Find My Apple Device ID The simplest way to locate your iOS device's IDFA is to use a third-party app called The Identifiers. The purpose of the app is to display a device's IDFA, so all you have to do is install and open the app to see your IDFA.

What is iOS advertising identifier?

iOS Device Apple's mobile ad ID is known as the IDFA, short for ID for advertisers. The IDFA on an iOS device is hidden by default. It can be accessed using a third-party app. There are several free apps available on the App Store that allow you to know your device's IDFA.

How do I find my IDFA Ad ID?

Android – Find your Advertising ID Simply open the Google Settings app on your Android device and click on “Ads.” Your Advertising Identifier will be listed at the bottom of the screen.

How do advertisers use IDFA?

The Identifier for Advertisers (IDFA) is a random device identifier assigned by Apple to a user's device. Advertisers use this to track data so they can deliver customized advertising. The IDFA is used for tracking and identifying a user (without revealing personal information).


1 Answers

I think you can answer "no" if your app doesn't using the ad APIs.

I have two Xamarin apps in the app store and I have always answered "no" and haven't been rejected yet. I believe the reason is that while the Xamarin library API references the ad API since the apps aren't actually calling it they are ok and aren't counted as using IDFA.

like image 175
kwiersma Avatar answered Oct 04 '22 18:10

kwiersma