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

Hi dan300,

my app has been accepted for upload with 2189 as well.

And yes, it has not been so much work to fix the tableViews :wink:

I did it another way: As the lines in the tableView never showed up properly, I put small rectangles on top of each row: width = row.width, height = 1 or 2. This works fine. They should not have an alpha as this might result in white lines.

I keep getting rejected over and over again. Any word Corona?

Elevate Entertainment…  What version of Corona SDK are you using?  What plugins are you using? Are you using the facebook.* API?  Are you using any Ads?

I tried multiple daily builds (2288, 2189). I’m using Flurry & Facebook. No ads.

Facebook’s SDK users this IDFA.   You must select the right values in iTunes Connect when telling it you’re ready to upload your binary, which is to say that your app uses it.  You may have to include the iAds plugin in case their scanner looks for it.  I don’t know all the magic tricks here.  Now assuming you can get by the auto-check when uploading, you may still get punted by Apple’s reviewers unless you are actively showing advertising.  Several people  have posted recipes for getting this done.

What can Corona Labs do about it?  Well right now, not much. It appears with 2189 or later and not using Facebook and making sure you get the settings right in iTunes Connect apps are getting apps through,  As for apps that need the Facebook API, until Facebook releases an SDK that doesn’t use this, you will have to check the right settings and potentially show an ad.

Rob

We did check the right settings, but still got rejected multiple times. We’re not going to show an ad because its paid. I guess i’ll plead our case to apple.

Did you try initializing iAds at least or including the plugin?

Guys. ROB was right. IF you are using facebook plugin you have to declare that you are using IDFA.

If you are using social plugin is not necesary.

If you get a message saying something about limit tracking, it is because you are using booth at the same time.

Facebook plugin is not necesary is you are using social one for facebook.

Guys. ROB was right. IF you are using facebook plugin you have to declare that you are using IDFA.

If you are using social plugin is not necesary.

If you get a message saying something about limit tracking, it is because you are using booth at the same time.

Facebook plugin is not necesary is you are using social one for facebook.

I have both social & facebook plugins and I could upload my app & got approved (“ready for sale”) after I checked IDFA & the first option under it. (I do have some ad showing in my app)

FYI.

So it seems that if you have ads in the app Apple will give it a pass with the right checks, but if you don’t have ads they will reject it.

Its totally the Facebook Plugin. We removed it and switched over to the Social Plugin and it passed the binary check.

I had this issue, then went to 2189 this morning and that resolved it. 

My app used NO ads, no plugins, no anything. It’s a paid game but this stupid IDFA thing kept popping up. I’d upload binary and within 2 minutes status would go from upload recieved to invalid binary. 

After I went to 2189 build, that went away and now waiting for review. What a pain in the ass! 

@Rob, I don’t understand why you keep saying that we HAVE TO show ad to pass review team iDFA check. When submitting a binary in itunes connect you can choose option that IDFA only attributes app installation from previously served advertisement - that is from EXTERNAL ad like facebook ad, or an ad in another app. So I DON’T have to show the ad in my app if I just want to call facebook.publishInstall() method to be able to advertise my app in facebook feed.

The problem is, I’m writing it again, that Corona builds don’t respect Limit Ad Tracking, so don’t just force us to show the ads to hack it around if we don’t won’t to show ads for some reason. If apple makes it possible to use IDFA to attribute app installation from previously served external ad, Corona should adjust and allow its users to do the same. I need a social plugin for sharing, but I also I need a facebook plugin for calling publishInstall method. Right now I have only two options with Corona: either delete facebook plugin, ( and close the opportunity to advertise on facebook) or keep the facebook plugin and display ad in ‘about us’ screen, which isn’t a real solution of the problem.

This respectation of Limit ad Tracking - is it something that facebook has to change in its own API first so you could wrap it later in lua for Corona? Or Corona engineers could change the code to make the future builds respect this setting earlier?

@whammy, there are two parts to this:

1.  Passing the automatic check in Application Loader.

2.  Passing the human check in about a week when your app is reviewed.

There seems to be plenty of suggestions above on how to properly submit an app and get it past the application loader.  The Facebook SDK tracks ads.  I’m pretty sure it’s due to their publisehdInstall’s API call.  Now everyone seems above seems to be saying that if you don’t use Facebook, things are good.  If you do use Facebook, you have to check that you’re using the identifier and the first option under it.  What I don’t know and I’m guessing is that if you are saying that you’re checking this and still getting rejected by Application Loader, then it must be scanning for a known ad library and I was suggesting you add an ad library to respond to that.

Now for part 2, the App Review process;  There was a post a couple of weeks ago about some one who got rejected by the human reviewers for saying they were using ads when they were not.  Since it takes around a week to get approved, many people posting to this post are still waiting on that answer.  So if you say you use the IDFA and you are not really using it, the human reviewers may punt you.

I fully agree that putting ads in a pay app is bad, but I’m just offering suggestions on how to get around Apple being difficult about this until Facebook gets us away to make this optional. 

Just a quick update:

Based on our investigation, the Facebook SDK is causing rejections for lots of developers (not just Corona devs).

We’re looking into what can be done. The challenge is that the current, released Facebook SDK (v3.14) does continue to access the offending API (advertisingIdentifier) which it presumably needs for monetization purposes.

OK, thanks for the note. 

@Walter, I may be wrong, but in my opinion this advertisingIdentifier will be in use in all facebook future SDK because it tracks app installs from their facebook feed ads. Apple seems to be fine with that - that’s why they got this option to select when submitting a binary: “IDFA is used to attribute app installation from previously served ad”. The thing they don’t seem to approve is lack of respect of Limit Ad Tracking settings in iOS. Is it something that Corona engineering can fix, or it has to be fixed by Facebook first?

@whammy, both the advertisingIdentifier and ad tracking would need to be controlled by Facebook’s SDK (and also ad network SDKs). It’s up to Facebook to honor the ‘advertisingTrackingEnabled’ iOS API that would then honor the Limit Ad Tracking settings. In the past, we’ve been able to work around a lot of things, but as you can see, we are facing hard limits here on what’s controllable from our side.

Okay, so quick follow-up.

We’ve updated the Facebook plugin to the latest version of the Facebook iOS SDK v3.14 (which was just released yesterday). There’s a chance this may satisfy Apple. Let us know if you have any luck!

Sounds good! My build has passed an Application Loader check with Facebook plugin included (I selected the second IDFA usage option - attributes app installation from previously served advertisement)

We’ll see how it goes with a human check in about a week.

Thanks Corona for a quick update!