Improper Advertising Identifier [IDFA] Usage. Your app contains the Advertising Identifier [IDFA] API but you have not indicated its usage on the Prep

I’m having the exact same problem - can’t upload my app using application loader due to this Improper Advertising Identifier. Tried 2189a and 2282 corona builds - it’s the same. I’m using a social plugin and pushwoosh for push notifications, and I also call facebook publishInstall but I have NO ADS inside my app.

What’s going on? :confused:

Uh oh. I am using PushWoosh too.

But they aren’t a plugin. Just network requests and onNotification listeners.

I cannot afford to remove PushWoosh, it’s integral to my app. But I’m not using anything else, no third party plugins, no FaceBook, nothing.

What’s really strange is that this just started for me on an older Corona build, 2100. So to me that makes it seem like it’s something they just started to do on their server for ALL builds. I hope they are taking this into consideration.

And this is preventing me from updating a critical bug fix, so I hope Corona is on it.

Good news! 2189 worked for me. And yes I did have to change my code to use 2189, didn’t really wanna do that.

So either Apple just happened to fix it after I tried my 2189 build, or 2189 fixes the problem. If you’re still having the issue with a 2189 build then it has to be one of the other plugins. It’s not PushWoosh, which as I said, isn’t really a plugin anyhow. I am having other PushWoosh issues, though that’s another topic.

OK, so IDFA is in a facebook plugin.

I did some testing - firstly I removed a social plugin from build settings and built my app without it - still application loader rejected it. Then I reverted the social plugin back, and removed the facebook plugin (I only use these two plugins in my app) and built the app without it - application loader accepted my built with no warnings!

Ouch, now I read Rob’s answer saying that’s facebook was pulled out into a plugin because it has this identifier.

OK… so what should I do now? How can I get this IDFA from facebook to provide it to apple? Also - is it possible to change settings of the app in itunes connect once I chose that my app doesn’t have IDFA? I can’t find any option for that. Do I really have to make a new App ID with bundle and all this stuff to include IDFA?

Now I found Rob’s answer in another topic: “According to the Tech Crunch article, Apple is going to reject apps that use the ASidentiferManager library that doesn’t show ads.”

So even if I declare that I have this IDFA, but I just call facebook.publishInstall to market my app in facebook feed, I’m going to be rejected because my app doesn’t show ads itself? 

Well that is not a solution, I am using facebook sharing. So i could not update my apps.

Must be something that Apple changed one day ago but it needs a solution. Even when I check I am using IDFA and I use facebook, it gives me other error.

Everyone please read this in detail.

Apple has started rejecting any app that calls this identifier that doesn’t have ads in the app.  They appear to be scanning the code looking for the SDK.  Prior to build 2169 (as I mentioned above), we provided this identifier through an API call for apps that need it.  When Apple started rejecting it, we pulled the identifier out of the core.  We also pulled the Facebook API out (iOS only) and made it a plugin so that people not using Facebook would be okay.  The Facebook SDK includes this identifer and it’s not something we control.  Since the facebook.* API is now a plugin, iOS people have to include it on purpose.

So if you do not use the facebook.* API calls (social plugin should be fine) you must build with a build after 2169.  That means using 2189 for those who have to use public builds.  We cannot go back and patch old daily builds.  New builds and daily builds are the patched updates.  You should not get rejected using 2189 or later if you are not using the facebook.plugin.

For those who need facebook.* calls, if Apple is now rejecting the app because you’re using facebook, then you may have to add at least one ad in your app.  I don’t know if the answer is just to initialize iAds, sign the contract on iTunes Connect and enable it for your app.  If it’s being rejected by software, then that might be enough.  If these rejects are coming from the review team, you might be able to bury the ad on an “about us” page or something. 

Is any one seeing this with 2189 or later and not using Facebook?

Rob

@noeguer, you’re right I tried to resubmit my app with IDFA selected on but application loader still doesn’t allow me to upload the build :confused:

Now it says, that I have declared the IDFA but " it’s not respecting the Limit Ad Tracking settings on iOS"

@Rob, I think you may be wrong - there was an option to declare what IDFA was used for. In my case it was just to say the app was installed when clicked the facebook ad (publishInstall call). Apparently apple knows that this case is quite common if they make this choice available for selection. So I guess you don’t have to place an actual ad in your app to use IDFA. The problem is that in Corona API it doesn’t respect the Limit Ad Tracking settings. Is it something you can patch?

When submitting the binary details there’s a declaration that has to be checked once declaring IDFA:

 “I confirm that this app, and any third party that interfaces with this app, uses the Advertising Identifier checks and honors a user’s Limit Ad Tracking setting in iOS and, when it is enabled by a user, this app does not use Advertising Identifier, and any information obtained through the use of the Advertising Identifier, in any way other than for “Limited Advertising Purposes” as defined in the iOS Developer Program License Agreement.”

So I guess apple takes it seriously.

Rob, i have done what you suggested. I enabled iads, I signed the contract, I checked I am using IDFA, I included iads in buid.setting. I initialize the ads (one note: is not app id is bundle id, I tested both)…I show a banner in about screen… (it doesnt show and my app get locked) but anyway I uploaded it…

I still get the same error: " it’s not respecting the Limit Ad Tracking settings on iOS"

Running into this issue as well when trying to patch one line of code … today same build 2231 gets rejected.  I did not check the IDFA box when setting up the new Version.  I do include the Facebook plugin.

So couple of questions:

  1. how do you change that setting in itunesconnect ?

  2. any update on the suggested course of action to get around this issue? 

well 3 questions then:

  1. Will we have the same problem if we do not use the facebook plugin and just use the social plugin?

Answer to this one is: No the social plugin does not seem to get flagged by itunes.  So in my case i was able to set facebook plugin to just be included for android builds and make sure that my include for facebook was wrapped by an os check so it is not pulled when running on ios.

I’m running the same problem as @whammy and @noeger.

To confirm:

  • Using public build 2189
  • using Facebook plugin for publishInstall
  • on iTunes Connect, when creating new version checked “Using IDFA”
  • “Attribute app installation to a previously served advertisement”
  • Checked “Limit Ad Tracking setting in iOS”
  • Sent new version with Application Loader
  • Application Loader didn’t let me upload the new version with an error saying that the app is not respecting the Limit Ad Tracking Setting in iOS

You can remove all plugins & build the app. Submit this new build (without plugins) and after the upload is successful (status in waiting for review), reject the binary.

And rebuild the app with appropriate plugins and upload, you are able to change the settings. 

This is how I did it.

But I am still very confused about these IDFA options. 

Corona should explain this in details. Which plugin makes this IDFA a must? And what options should I check inside the IDFA option? Any other impact or side effect?

Now after I checked IDFA & checked the advertisement option, the uploading is successful. 

@joe528, but now if you selected advertisement option than you have to display at least one ad or a review team (possibly) rejects your app 

@Rob, any Corona official statement on respecting Limit Ad Tracking in future Corona builds?

Hello all,

I have the same trouble being rejected while uploading because of the IDFA stuff – though my app does *not use any ads or social / facebook plugins. 

Being rejected is really bad for me because I am close to the deadline for shipping.

I am using public build 2013.2100 because newer builds do not display the lines in tableViews properly – in my case.

So I have to stay at build 2013.2100. 

Is there already a solution for build 2013.2100 ?

Any other ideas what I could do?

Thanks in advance!

 @whammy

I really don’t know if I should or should NOT select advertisement option. Since my app does use admob to show some ad, so I checked the option. It’s just a “guess”.

And that’s why in my message I also asked if Corona can officially explain what plugins require IDFA & what options should we check under IDFA? For now I am just guessing because probably if I get lucky I can get my app approved before Corona ever answers my questions.

Hi all…I could upload my version. I check IDFA…but I was still having problems with other error:

" it’s not respecting the Limit Ad Tracking settings on iOS"

I was thinking and In my buid setting I had two plugis,

Facebook and social…
I remove Facebook plugin , and I let social only. Take care, remove the require(facebook) in your code…
And the app was aproved…

Perhaps the limit ad tracking is cause for using both plugins.

 

Just curious - for those of you using FB only for install tracking (besides the Limited Ad Tracking issue), is it OK with Apple? Looking at our app submission portal, it looks like you can go for 1 of 3 reasons for IDFA…

* Serve advertisement within the app

* attribute this app installation to a previously served advertisement

* Attribute an action taken within this app to a previously served advertisement

Engineering is looking into it.  I don’t know much more than the current Facebook SDK still contains it and you will have to tell Apple you are using it and probably demonstrate that you are using it.

Rob

@akao, IMO the second option covers publishInstall - it attributes your app installation to a previously served (clicked) facebook ad.

@Rob, it seems not to be about demonstrating the ad, but this respecting ‘limit ad tracking’. Noeguer wrote that he showed ads but still got rejected in application loader due to this ad tracking. If you can select IDFA purpose, then you don’t have to show the ad if it was just to attribute the app installation, I guess? Let’s see what engineering says.

I finally found a way to upload an app with iAds and Vungle in it.

If your app was previously rejected you need to upload a dummy version with absolutely no plugins to reset the IDFA thing.

Then you reject the dummy binary.

Go to the itunes connect and set app ready to upload, this will give you the fresh IDFA window again.

I checked all the boxes being YES the first one

(NOTE: this happened just this morning and I don’t know if they will approve or not the app, at least they accepted it and it’s currently ‘wating for review’)

I used 2189a for building.

Also check this link for clarification: https://mohound.com/blog/2014/04/29/avoid-appstore-rejection-by-following-this-2-easy-steps/

let’s see what happens…

My app is rejected because of IDFA as well when using build 2100. 

And it works after I upgraded to 2189 without modify the code.

@orangecyan

I think it should be easier to fix the tableview in 2189 instead of keep trying to build with 2100.

My table view’s line is not displayed properly as well, the line between the list is not start from the left side, but start form about 1/3 in the middle. What I did those to fix it:

  • set the table view’s wide about .5 times wider, 

  • add 10 space in front of the text to each row

  • add a mask to cover the left part.

Hope this helps