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:
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
?
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.
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.
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.
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).
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With