Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firebase and IDFA Apple Review #266

Closed
Aximem opened this issue May 9, 2017 · 21 comments
Closed

Firebase and IDFA Apple Review #266

Aximem opened this issue May 9, 2017 · 21 comments

Comments

@Aximem
Copy link

Aximem commented May 9, 2017

This is not an issue but a question :
Firebase includes admob and when you type fgrep -R advertisingIdentifier . You can see :

Binary file ./Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.framework/FirebaseAnalytics matches

So even if you don't use Admob, the framework has "advertisingIdentifier" which could be a reason for Apple to reject your app. I can't find a clear answer saying "You should check YES to IDFA and cases 1 ... if you use Firebase / or NO" in case you don't use it.

Does anyone know what to do ? Thanks

@baolocdo
Copy link

baolocdo commented May 9, 2017

Having such string doesn't mean that it uses advertisingIdentifier wrongly or Apple will reject your apps. I haven't seen Apple rejects apps with Analytics because of that. Analytics SDK respects users' choice if they opt out of Ad Tracking. Also, if users turn off the Ad Tracking, "the value of the advertising identifier is 00000000-0000-0000-0000-000000000000" (https://developer.apple.com/reference/adsupport/asidentifiermanager). If you don't link Ad Support framework, Analytics won't use the IDFA.

@Aximem
Copy link
Author

Aximem commented May 9, 2017

@baolocdo Thank you so much, finally a clear answer, I couldn't find an answer about this (maybe because it was obvious) but thanks.

@Aximem Aximem closed this as completed May 9, 2017
@bushev
Copy link

bushev commented Jun 18, 2017

@Aximem @baolocdo Hello, guys!

What is your solution?

Right now I can't submit my application with FirebaseAnalytics.framework (iTunes detects advertisingIdentifier). My application is Ad-free, so I can't click "Yes, I use" near "IDFA" too...

@baolocdo
Copy link

@bushev, did your app get rejected by Apple? What is their reply? Thanks

@rsattar
Copy link
Contributor

rsattar commented Jun 19, 2017

The Analytics SDK will only use the advertisingIdentifier if and only if the AdSupport.framework is linked into your app, following the rules that Apple sets out. If you are not including AdSupport.framework, then you don't have to worry about saying "Yes, I use IDFA" before submitting to Apple.

Firebase does recommend that you do include it, even if you aren't serving ads (it doesn't enable ads in your app). It provides some additional information about your user, that you can see in your Analytics. However, it's still totally optional.

https://firebase.google.com/support/guides/analytics-adsupport

@bushev
Copy link

bushev commented Jun 19, 2017

@rsattar thanks a lot. I'm trying to pass review using this #298 (comment) recommendation.

@itsmeonline
Copy link

itsmeonline commented Jul 3, 2017

@rsattar Thanks for the heads up. We have linked in AdSupport.framework in our app, for the purposes of enhanced Firebase Analytics (e.g. without serving adds)

Question: After selecting Yes to "Does your app use IDFA...?"
Are you aware which options should be selected for such case?
(Thanks in advance)

Edit: Ok I see this linked open issue
#298 (comment)

@bushev
How did you get on - app accepted/published OK?

@lsalvoni
Copy link

lsalvoni commented Jul 7, 2017

Also stuck in this situation; grepping the project folder says FirebaseAnalytics.framework and libAdIdAccessLibrary.a of GoogleIDFASupport pod uses the advertisingIdentifier.

@iad24
Copy link

iad24 commented Aug 30, 2017

@itsmeonline Im on this situation now. Which one did u select to get approved?

@lsalvoni
Copy link

@iad24 Hey, I have submitted apps for review since my comment, and got through successfully with the following:

Does this app use the Advertising Identifier (IDFA)? -- selected Yes

Then from the three additional statements that appear:

Serve advertisements within the app -- selected No
Attribute this app installation to a previously served advertisement -- selected No
Attribute an action taken within this app to a previously served advertisement -- selected Yes

Our app does not serve any ads whatsoever but does use the Firebase SDK for analytics. Hope this helps!

@itsmeonline
Copy link

itsmeonline commented Aug 30, 2017 via email

@iad24
Copy link

iad24 commented Aug 30, 2017

@lsalvoni @itsmeonline thanks guys =)

@AEiosApp
Copy link

One more proof from me.
Just passed apple review with a new app:

  • app contains Firebase
  • app doesn't use ads in any way (only for analytics).

Then, similar steps like @lsalvoni did

Does this app use the Advertising Identifier (IDFA)? -- selected Yes

Then from the three additional statements that appear:

Serve advertisements within the app -- selected No
Attribute this app installation to a previously served advertisement -- selected No
Attribute an action taken within this app to a previously served advertisement -- selected Yes

@akshayk80
Copy link

Thanks @Isalvoni
I followed your steps and got approved within 10 hours of submission.
I used Firebase just for Analytics purposes, no adds at all.

Does this app use the Advertising Identifier (IDFA)? -- selected Yes

Serve advertisements within the app -- selected No
Attribute this app installation to a previously served advertisement -- selected No
Attribute an action taken within this app to a previously served advertisement -- selected Yes

@maziyarpanahi
Copy link

I am not sure which Pod specs others are using, but I am using Firebase/Core only and just submitted my app with the following:

Does this app use the Advertising Identifier (IDFA)? -- selected NO!

It got approved in one day.

Hope it helps.

@balkarov
Copy link

Hello.
I use

pod 'Firebase/Core'
pod 'Firebase/Database'

And have the same problem.
I choose that:

Does this app use the Advertising Identifier (IDFA)? -- selected Yes

Serve advertisements within the app -- selected No
Attribute this app installation to a previously served advertisement -- selected No
Attribute an action taken within this app to a previously served advertisement -- selected Yes

But I not sure that is right.

@maziyarpanahi
Copy link

@balkarov If you are not using any Ads or IDFA in your app, meaning you are not using any Firebase APIs to deal with ads in any way I don't think you should say Yes to the IDFA question.

@balkarov
Copy link

balkarov commented Dec 22, 2018

If I choose NO Apple say me my app uses IDFA. But when I remove Firebase from app then all ok.

@ToddKerpelman
Copy link

DISCLAIMER: I am not an expert at Apple Review policies, and this is just my personal educated guess:

If you've linked the AdSupport framework, then your app is using the IDFA.

For that first question (are you serving ads), that's really up to you and if your app is serving ads

If you've linked the AdSupport framework, Firebase automatically uses this IDFA in order to attribute the app install to a previously served advertisement, so you can say yes to the second question.

If you've linked the AdSupport framework, Firebase uses this IDFA to attribute in-app purchases and ecommerce purchases to advertisements, along with any other conversion events you might have added in Analytics. So you will probably want to say yes to the third question if your app has in-app purchases.

Firebase does honor the Limit Ad Tracking setting.

@maziyarpanahi
Copy link

Exactly, I have had the same experience with Firebase. I’m not linking adSupport framework so I answered no.

@paulb777
Copy link
Member

Related discussion at firebase/firebase-ios-sdk#1686 - since iOS11, apps that link SafariServices, will implicitly link the AdSupport framework.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests