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

Hi

I’m getting the same message using 2332

I’m using Admob plugin v2

If I use 2189, I get:

Error: Get plugin failed. 

Publisher: com.coronalabs 

Plugin: plugin.google.play.services

So, I’m trapped… PLEASE HELP!!!

@egruttner, if you’re using Admob on iOS, then you’re using advertising and it should pass Apple’s rules.  You just have to make sure you’re using the right combination of check marks when telling iTunes Connect that you’re ready to submit your binary.

You cannot use AdMob v2 with 2189.  It requires Android 2.3 as a minimum which was a change we made after 2189. 

Rob

Thanks Rob!

I’ve finally passed the Apple’s first approval (the problem was iOS only)

Some tips:

  • Admob v2 plugin

  • Corona Daily Build 2332

  • Itunes Connect preparation, I’ve said yes to IDFA, checked the first statement and the mandatory one

That’s it…thanks again!

Hey Rob - any chance you can take a look at the ticket I spawned from here a while back regarding issues with compatibilty mode? http://forums.coronalabs.com/topic/47664-issues-with-graphicscompatibility-1/

So just to clarify… are you saying that any build before 2169 will fail - regardless of the plugins used?

Looks like I may finally have to bite the Graphics 2.0 bullet - this could be a huge piece of work.

I was just rejected, but also have flurry and gameanalytics plugins.

Apple will reject any app build with 2168 or earlier that does not contain ads or features where they have deemed the IDFA is valid.  There was a post the other day that said iAds doesn’t use the IDFA, so you may be required to use ads from a provider that requires it.  Then you have to set the right value in iTunes Connect to match what your app is trying to do.

Flurry and GameAnalytics should not require this ID and most builds should get the latest plugin.  The problem is that prior to 2169 this ID was baked into the core, and Apple’s auto-scan see’s it and looks at your iTunes settings and if you say you don’t use it, Application Loader will punt you and not let your submit.   If you tell iTunes you’re using it when you’re really not to get past the Application Loader block, then their human testers will punt you for not using the ads.

You can put:

graphicsCompatibility = 1

in your config.lua where you set your width and height and should be able to build with minimal changes.  If you’re using the old legacy sprite library you will need to download it from our github repository and drop the sprite.lua in your folder with your main.lua and you’re good to go there. 

Rob

Thanks Rob.

I tried compatibility, but it still messed everything up - it was some time back - I’ll get into it later this week and see if there’s a simple solution.

Thanks,

Nathan.

OK, so officially my app got accepted by the apple review team. I used facebook and social plugins, I selected the second IDFA usage option - attributes app installation from previously served advertisement (I’m using facebook.publishInstall) and build my app with Corona 2169.

I display no ads.

So no - you don’t have to display ads inside your app if you use IDFA just for marketing your app with external ads.

I just read all this post…

I have the same problem with IDFA

– I’m using version 2100

–I have no ads at all

–no facebook

I call apple and they say is the third party problem

now Rob…Do I have to upgrade to 2189?

do you think it will solve the problem?

and earl3 – is it really difficult to change all the code for 2189?

Yes, you will need to upgrade to 2189.  2100 has the facebook library built in and it trips up the IDFA tester.    There shouldn’t be much in the way of changes between 2100 and 2189, though some bugs have been fixed that you may be depending on or have worked around.  You should thoroughly test your app after switching to 2189a.  Make sure to get the “a” version.  Apple will reject 2189 for a different reason.

Rob

Hey Rob,

When I run in compatibility mode my images are all over the place.

Pre Graphics 2.0 the x/y coords were the top left of the object at the point of creation, then the middle of the object from there on.

The compatibility mode doco (http://docs.coronalabs.com/guide/graphics/migration_v1.html#TOC) seems to indicate that it’s only top left this is supported?

“Display object constructors will treat the x and y values as left and top respectively, instead of the center, just like in V1”

Thanks,

Nathan.

In compatibility mode, the x, y values should resort back to top left for most objects like they did in v1.  In v2 everything has been moved to center.  Can you post your config.lua?

Here’s my config.lua for review.

application = { content = {                 graphicsCompatibility = 1,  -- Turn on V1 Compatibility Mode                 width = 320, height = 480,  scale = "letterbox",  fps = 30,         imageSuffix = {     ["@2x"] = 1.5,                     ["@4x"] = 3, -- for iPad 3 } }, }

I’m running 2189 - when I run without the compatibility flag it’s all over the place.

Here’s one object that works:

myMenuObject.MenuMessageDialog.HeadingTxt = display.newText(myMenuObject.MenuMessageDialog.Group, "Heading", 0, 0, font.bold, 16) myMenuObject.MenuMessageDialog.HeadingTxt.x = 100 myMenuObject.MenuMessageDialog.HeadingTxt.y = 100

It over-rides the original x,y at object creation with a new x & y which were always relative to the middle of the object.

Here’s one that doesn’t work:

local textOptions = { parent = myMenuObject.MenuMessageDialog.Group, text = "", x = 100, y = 100, width = 200, height = 100, align = "center", font = font.normal, fontSize = 14} myMenuObject.MenuMessageDialog.MessageTxt = display.newText(textOptions)

Note that this method of text creation which allows alignment has always been relative to the centre of the object on creation - perhaps compatibility doesn’t take this into account?

Also buttons don’t work if their alpha is zero (“myMenuObject.MenuMessageDialog.ButtonOK:setFillColor(217,217,217,0)”) which was fine before.

Nathan.

Nathan.

To confirm what whammy said, we were successful in our submission. Our app has no ads, but uses the Facebook plugin (didn’t upgrade), and we just checked the box indicating the IDFA was used for tracking installs related to ads. Our initial submission didn’t have that box checked, and failed an automated test. Once we checked that box, everything went through and was approved fine.

@daniel84 has it been through the manual review yet (and actually approved for sale)?

@beernathan, yes sir. Went through without a hitch!

OK - I’m going to roll back to 1262 and tick box 2 just to get this release out, then I’ll work on getting it working in (so called) “compatibility mode”.

@beernathan, if you want to discuss the graphics 2.0 issues more, please open a new thread so  we don’t hijack this one.

Rob

No problem - it’s now here http://forums.coronalabs.com/topic/47664-issues-with-graphicscompatibility-1/

I had to update an app using build 1262. Hopefully, no plugins at all, no ads. Got automatically rejected.

The second time I checked IDFA usage and chose the first box and the limited tracking thing, though I do not use IDFA in fact nor display any ads… No autoreject this time, but I wonder if the app will pass the review…