Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

iOS Advertising Identifier rejection FAQ

Discussion in 'iOS and tvOS' started by Mantas-Puida, Feb 3, 2014.

  1. MobApps

    MobApps

    Joined:
    Aug 5, 2013
    Posts:
    17
    @ Mantas:

    Yes...AdMob banner ads are displaying continuously at bottom and chartboost and revmob are displaying turn by turn on gameover screen. Also there is "More Games" button on main menu which displays chartboost and revmob turn by turn.

    We are using this strategy in our all games, but only this game getting rejected. Its rejected 4th time..its really paining...please let me know how can I get rid of this???
     
  2. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
    If your app is displaying ads via 3rd party service (non - iAd) you should be fine. I think you should contact reviewer and let them know where they should look for ads.
     
  3. Nordir

    Nordir

    Joined:
    Apr 25, 2012
    Posts:
    20
    Maybe my experience will be useful for those who use 3d party advertising services:

    - My game was rejected
    - I replied to the Apple review team, giving instructions for how to see ads in my game and attached screenshots with the in-game ads
    - My game was ready to sale in 2 days after that

    P. S. I use Unity 4.3.1f1
     
  4. StarHunter32

    StarHunter32

    Joined:
    Feb 10, 2013
    Posts:
    99
    Is this fixed in 4.3.4?
     
  5. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
    No
     
  6. jarowe

    jarowe

    Joined:
    Mar 12, 2014
    Posts:
    1
    I did this and my app passed and is now on the App Store however now my iAds aren't showing up. I really need my ads to show up. Please help me understand.
     
  7. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
    Following these fix instructions should NOT affect iAds anyhow.
     
  8. StarHunter32

    StarHunter32

    Joined:
    Feb 10, 2013
    Posts:
    99
    I did the necessary steps, but when building I still get the iAD.mm depreciation warnings. Is this normal?
     
    Last edited: Mar 14, 2014
  9. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
    Yes, that's normal.
     
  10. StarHunter32

    StarHunter32

    Joined:
    Feb 10, 2013
    Posts:
    99
    Thank you. :)
     
  11. Lisan

    Lisan

    Joined:
    Jun 17, 2009
    Posts:
    220
    I've got approval after all, although i believe my latest build was the same as previous. I've just executed "Clean" command in Xcode.
    When will be next Unity release with fix integrated?
     
  12. claytoncurmi

    claytoncurmi

    Joined:
    Jul 6, 2010
    Posts:
    168
    Hi devs,

    I want retrieve a unique identifier per device. I know that Apple recently removed the UDID due to certain privacy issues (read more here). The Unity docs mention that the SystemInfo.deviceUniqueIdentifier will be replaced with the Vendor ID and if that fails it is replaced with the Advertising ID.

    I have Unity 4.3.0f4 and I would like to know if my version includes the behaviour mentioned in the docs. I don't want to update at this moment if possible.

    Regards,
    Clayton
     
    Last edited: Mar 20, 2014
  13. claytoncurmi

    claytoncurmi

    Joined:
    Jul 6, 2010
    Posts:
    168
    Found the answer here - http://unity3d.com/unity/whats-new/unity-4.3
     
  14. AtrisFlex

    AtrisFlex

    Joined:
    Mar 28, 2014
    Posts:
    1
    I just submitted my first App to the App Store today, I didn't make these changes, is this something that has been fixed or do I need to make the changes? Thanks.
     
  15. appxplore-tech

    appxplore-tech

    Joined:
    Jul 4, 2012
    Posts:
    62
    I just face with this issue yesterday. My game has shown advertisement but It still show me an error about "Improper usage of IDFA". After some search i found that the problem comes with MMedia SDK. I am using Admob SDK and MMedia as one of the mediation network of Admob. Unfortunately even the latest SDK of MMedia can't solve the issue, I had to remove it and make submission to AppStore.
     
  16. MixelScarl

    MixelScarl

    Joined:
    Sep 13, 2013
    Posts:
    3
    I've got exactly that print but the store still refuses my app, what should I do?
     
  17. Lisan

    Lisan

    Joined:
    Jun 17, 2009
    Posts:
    220
    I've got several apps approved after i updated Flurry plugin, and manually edited code in Xcode as this post says.
    But today i did the exact same thing with the next app (exactly the same structure as previous approved), but got following message while trying to submit it:
    "Improper Advertising Identifier [IDFA] Usage. Your app contains the IDFA API but you have not indicated its usage on the Prepare for Upload page in iTunes Connect"

    It seems the recipe from this post doesn't work anymore. What should we do about it?
     
  18. Joskym

    Joskym

    Joined:
    Oct 2, 2013
    Posts:
    39
    Same problem here.
    It seems that when the app is using the ASIdentifierManager class, it gets automatically rejected (cf : https://discussions.apple.com/message/25619523?tstart=0#25619523?tstart=0 )

    I managed to found that the DeviceSettings.mm class is using it and GameAnalytics too.

    Does Unity have to fix something to ensure Apple will not refuse the app?
     
  19. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
    Very first post of this thread contains instructions how to remove "ASIdentifierManager" from DeviceSettings.mm. Proper handling of this API will come with Unity 4.5, which has recently entered RC phase.
     
  20. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
    1) You should doublecheck that your Xcode is updated as first post on this thread tells.
    2) Try cleaning Xcode derived data folders before making final build
    3) Make sure you are making new archive in Xcode and are submitting very latest (just made) archive to the App Store.

    If none of these helps I would be happy to look at your project as bugreport.
     
  21. Lisan

    Lisan

    Joined:
    Jun 17, 2009
    Posts:
    220
    Mantas, thanks!
    Advice to clean derived data folders was succesful in my case.

    Update: oops, not this time. Yesterday i wasn't able to even submit the app, i got warning in submitting process. Today, after cleaning DerivedData folder app was successful validated and submitted, but after that i got letter with the exact same warning:
    Improper Advertising Identifier [IDFA] Usage. Your app contains the Advertising Identifier [IDFA] API but you have not indicated its usage on the Prepare for Upload page in iTunes Connect.

    After that my app is in "Invalid Binary" state. So no, it doesn't help.
     
    Last edited: Apr 30, 2014
  22. Joskym

    Joskym

    Joined:
    Oct 2, 2013
    Posts:
    39
    Yeah, if any of your plugins is using the ASIdentifierManager, you will be rejected. "Hey we are Apple, we think different, and you have to think exactly the same thing when we want and how we want". Unity is using it by default, but you can correct it by doing all the stuff on the first page.
    If you already did it, search for ASIdentifierManager on your xcode project and good luck.
    GameAnalytics have the problem, you can avoid it by using the vendorId, but they are looking for a more efficient solution.
    Many ads plugins are using this class so you may rage a little bit, like me for 2 days...
     
  23. Lisan

    Lisan

    Joined:
    Jun 17, 2009
    Posts:
    220
    Unfortunately i am trying to upload exactly the same project, as was approved the last time. Only fixed a couple of bugs in Unity, made new build, corrected DeviceSettings.mm. No new plugins. But what was approved a week ago no longer approved now.
     
  24. Joskym

    Joskym

    Joined:
    Oct 2, 2013
    Posts:
    39
    Yeah, same for everyone. Things that was working before doesn't work since yesterday. Hope you will find which plugin is not compliant with apple crazy things
     
  25. Joskym

    Joskym

    Joined:
    Oct 2, 2013
    Posts:
    39
    Finally, I recompiled everything from scratch, removing TapJoy(we weren't using it anymore anyway), but we keeped the DeviceSettings.mm from Unity, without changing it and it passed validation.

    At the end of the story, we still don't understand what the F*** is the problem with the new apple thing...
     
  26. Lisan

    Lisan

    Joined:
    Jun 17, 2009
    Posts:
    220
    Anyone here using Prime31 Flurry plugin?
    Plugin is updated, but maybe this new Apple validator don't accept it anymore. IDFA is used in FlurryAds lib (according to grep -Rni 'advertisingIdentifier' *;)
    If i just remove this lib, project doesn't build in Xcode.
     
  27. Joskym

    Joskym

    Joined:
    Oct 2, 2013
    Posts:
    39
    Apple seems to have reverted the limitation according to GameAnalytics devs.
    2 days spending on finding what could not pass the validation and they finally reverted it without a word...

    Am I the only one thinking that there is a lack of communication?
     
  28. Lisan

    Lisan

    Joined:
    Jun 17, 2009
    Posts:
    220
    I'm just noticed that Flurry plugin has documentation on how to deal with IDFA.
    https://prime31.com/docs#iosFlurry
    Now everything is allright.

     
  29. Lisan

    Lisan

    Joined:
    Jun 17, 2009
    Posts:
    220
    What do you mean, "reverted"? Where is proof link?

     
  30. Joskym

    Joskym

    Joined:
    Oct 2, 2013
    Posts:
    39
  31. Lisan

    Lisan

    Joined:
    Jun 17, 2009
    Posts:
    220
    I think this is misunderstanding. Apple hasn't reverted anything, it's just added more options in ItunesConnect to specify the purpose of IDFA usage.
    If you select "yes, i am using IDFA", you can choose what are you using it for. Major changes here in comparison with initial version, that you allowed to use it not only for serving ads, but also to attribute app installation or action taken inside to previously served ads. I am not sure i understand it correctly, but i think it means, that we can use IDFA for tracking ad campains purpose (so it's good news for services like MAT and Appsflyer), but can't use it for pure analytics (like Flurry and GameAnalytic did before). So no, it's not reverted for GA.
     
  32. Joskym

    Joskym

    Joined:
    Oct 2, 2013
    Posts:
    39
    The IDFA question on iTunes Connect was here before Apple started reject applications. We submitted by clicking the first box (deserve ad) the first time, it passed. We submitted the second time with the same box clicked, without making any chance on ad stuffs, and it was not working anymore on Apple Validation. They definitely made a revert on something they turned on during few days.
    For example, we tried to submit on tuesday, it was rejecting us on xCode directly and during the day, a change was made on validation process, to let you pass xCode validation but we were still rejected in iTunes Connect (I'm pretty sure they changed this to give us a way to change the box we choosed on IDFA stuffs on "Ready for Upload" process)
     
  33. cxplanet

    cxplanet

    Joined:
    May 20, 2014
    Posts:
    2
    Wanted to chime in here too - it appears this new rejection is occuring because Apple is finding an advertisingIdentifier inside the libiPhone-lib.a. I believe this is different than the source code changes Unity suggested back in February. I'm hopeful there will be a release soon from Unity that addresses these two issues.
     
    Last edited: May 20, 2014
  34. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864

    We can't confirm that. One of our test applications was accepted couple days ago.
     
  35. seon

    seon

    Joined:
    Jan 10, 2007
    Posts:
    1,441
    Using Unity 4.2 (stuck there cause of WiiU) and after making the DeviceSettings.mm changes as per page one of this thread, we are still being told by Xcode that we are using the IDFA, and we are unable to submit our update :(

    Mantas, in Unity 4.2, was there anything else we needed to do to get past he IDFA issue?
     
  36. cxplanet

    cxplanet

    Joined:
    May 20, 2014
    Posts:
    2
    Sorry, didn't see this reply. It would be great to know if you have since submitted a test app and had it accepted after my post a week ago - we have used your source code change posted in Feb with no issues until our last submission a week ago.

    It is curious that I don't see more posts about it here though, there are only 3 developers indicating there is an issue in the last 2 weeks, I can see why you would assume this is operator error.
     
  37. Angry-Water

    Angry-Water

    Joined:
    Sep 11, 2012
    Posts:
    58
    Hi, I am using Unity3D v4.5, I don't serve any AD in my app, should I still to modify code in DeviceSetting.mm to prevent rejection?
     
  38. byerdelen

    byerdelen

    Joined:
    Mar 27, 2010
    Posts:
    68
    Hi,
    I am using 3.5.7f6 for an old project. Unity does not have the DeviceSettings.mm inside. Also I couldn't find any code that is using the UDID or IDFA. But the project is still warning in Xcode as "Improper Advertising Identifier [IDFA] usage. Your App contains the Advertising Identifier [IDFA] API but you have not indicated it's usage on the Prepare for Upload page in iTunes Connect"
    We are using Facebook and Gamecenter plugins of Prime31 but there is nothing on their side that is stopping that.
    Can you give me a place to find where can I find necessary code in Unity 3.5.7?
    Thanks
     
  39. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
    Unity should not be affected by this problem. Most probably Facebook plugin is causing your troubles. You can inspect what symbols it is using via "nm" command.
     
  40. Shaun-Peoples

    Shaun-Peoples

    Joined:
    Feb 26, 2013
    Posts:
    24
    Hi Angry,

    I just had to modify DeviceSettings.mm on a 4.5.13f submission that was rejected, so I'd imagine so.
     
  41. Angry-Water

    Angry-Water

    Joined:
    Sep 11, 2012
    Posts:
    58
    @Shaun Peoples Mine seems ok, maybe the reason is I have the Facebook sharing of iOS 6+ (iOS provided) and I remember it must use IDFA.
     
  42. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
    You should not need to modify projects made with Unity 4.5 (or later). We made sure that IDFA is not retrieved unless you really call it from your scripts. Please let me know if you don't use 3rd party plugins and still get rejections with Unity 4.5.
    Thanks!
     
    Sailendu and Angry-Water like this.
  43. Angry-Water

    Angry-Water

    Joined:
    Sep 11, 2012
    Posts:
    58
    Great!!! Thank you!!!!
     
  44. Tap To Play

    Tap To Play

    Joined:
    Jun 19, 2014
    Posts:
    9
    Hi,

    We also got rejected because of this. Using Unity 4.3.4f1. However, our app shows ads (RevMob and Unity Ads). They are prominent enough, I'm not sure how Apple could have possibly missed them. It's always possible that our ad providers were unable to serve any ads in the less than 10 minutes they spent with our app (we can see when they signed up, and rejection came immediately after).

    We have answered in the resolution center with some screenshots and info about the ads, so I'm hoping that will be enough to persuade them.

    If not - will applying this fix cause any problems with RevMob/Unity Ads?
     
  45. Tap To Play

    Tap To Play

    Joined:
    Jun 19, 2014
    Posts:
    9
    Ok, we can confirm that we were approved within 24 hours after providing information about the banners. So if you get rejected even though your app displays banners, just send them some info and screenshots.

    Still seems silly though, the ads were clearly visible.
     
  46. Reisender

    Reisender

    Joined:
    Jun 26, 2014
    Posts:
    35
    Hi all! Does anybody knows if this issue is fixed in 4.5.2? I was recently rejected while building with 4.5.1.
     
  47. Mantas-Puida

    Mantas-Puida

    Joined:
    Nov 13, 2008
    Posts:
    1,864
    Which issue? 4.5.x should be fine out of the box if you are not using third party plugins.
     
  48. NAKAS

    NAKAS

    Joined:
    Jan 16, 2013
    Posts:
    23
    My last app just got rejected for this reason with no third party plugins related to unity. I am using Iapprater though. I'm going to try to resubmit with the changes.
     
  49. Catacomber

    Catacomber

    Joined:
    Sep 22, 2009
    Posts:
    682
    We don't use ads. Your fix Mantas Puida worked perfectly for me. I'm sure it wasn't just because I'm also a cat with lucky lives! : ) I now have a text document with your fix that I routinely copy and past over the offending code when I need to. I know I could change the template but don't want to do that right now.

    Thank you so much for your help. I also put a note in iTunes Connect that our game does not use iAd. Same for Push Notifications by the way. : ) And for Game Center although I think I will use Game Center at some point.

    Our game WizzardIsland was approved within a week. I recently submitted an update using the latest Unity version and while I was nervous some of the iAd code may have changed in the new Unity version, apparently it didn't and I copied and pasted the fix into DeviceSettings.mm and everything built and archived and uploaded fine.

    Since we don't use iAd---if any version of Unity changes that code, please let us know so we can change the code we substitute. I'm sure you would do that routinely. Just mentioning because of my nerves. Thanks again.

    People should remember that they have to state in iTunes Connect that their game does not use that identifier. If they answer yes, then even if they use your code, they may have a problem.

    I don't use third-party plugins that might be a problem. It was more important for us to get our first 3d game up. So far your help has worked like a charm.

    ^^

    Edit: Our update was submitted on Sunday and approved today.

    Thanks again for your fix.
     
    Last edited: Jul 31, 2014
  50. Catacomber

    Catacomber

    Joined:
    Sep 22, 2009
    Posts:
    682
    Whoa! Just reread some of the last posts.

    Are you saying, Mantas Puida, that with the latest version of Unity, I don't need your fix anymore?