I use a library for my app which takes Google Advertising Id for some reason.
This will violate the Android Advertising Id policy.
My question is if I disable taking this id using the firebase metadata tag (ignoring what will happen to the library), am I still violating that policy?
The tag, according to firebase doc is:
<meta-data
android:name="google_analytics_adid_collection_enabled"
android:value="false" />
I mean how google detects that using getAdvertisingId method is violating?
Related
I got below mail from play store. so we are using firebase sdk for analytics in our app.
Could you guys help we need to fill the below form.
New Advertising ID declaration form coming to Console
Starting July, you'll need to tell us in Play Console if your app uses an advertising identifier. This will let us provide helpful feedback if your release is at risk of having an advertising identifier zeroed out. You will not be able to create releases targeting Android 13 until you complete the advertising ID declaration form.
As a reminder, apps that target API level 33 (Android 13) or later and use advertising ID must include the normal permission com.google.android.gms.permission.AD_ID in their Android Manifest.xml. This will prevent your advertising identifier from zeroing out. If you do not declare the permission in your manifest file, or if you use an SDK that omits the permission from their library manifest, this may impact your advertising and analytics use cases.
I had the same question so I contacted Firebase Support and they replied that Google Analytics for Firebase uses Advertising ID by default. More info: https://support.google.com/firebase/answer/6318039?hl=en
The answer to ask someone else is not helpful at all. Especially when you don't have a "digital analytics team" or a "marketing team" as a single app developer. The question is whether Firebase uses the AD_ID internally to track visitors or not, not whom to ask.
Ok then. I did some research and and I found that Firebase is not using the AD_ID at all. Also in the codebase of the Firebase plugins I was not able to find the AD_ID string somewhere - just for the iOS implementations. So I guess (let's say about 90 %) you can fill the declaration form by saying "no, I am not using the AD_ID", when you are only using Firebase and no other tracking / advertising plugins.
Another information: Google will not remove your app, if you do a mistake here. So if your app actually uses the AD_ID and you don't know it, the worst case which would happen then is that they are filling the AD_ID with zeros, means you would get in trouble "only" with tracking or analyzing your visitors/customers.
Most likely yes, but it depends on the exact firebase libraries your using.
My app doesn't use ads, but I do the following firebase libraries.
implementation 'com.google.firebase:firebase-core:21.1.0'
implementation 'com.google.firebase:firebase-analytics-ktx:21.1.0'
implementation 'com.google.firebase:firebase-crashlytics:18.2.12'
This answer states that
You may not be including this permission explicitly in your AndroidManifest.xml but it could still be present in your final merged manifest after the build is done, contributed by one of the dependencies you have on your project.
I checked my app's merged manifest file and the com.google.android.gms.permission.AD_ID was included in the final manifest.
from Configure Analytics Data Collection and Usage:
In some cases, you may wish to temporarily or permanently disable
collection of Analytics data, such as to collect end-user consent or
to fulfill legal obligations. Google Analytics offers multiple options
for disabling and deactivating Analytics collection. Used together,
they support many typical use cases.
Temporarily disable collection: If you wish to temporarily disable
Analytics collection, such as to get end-user consent before
collecting data, you can set the value of
firebase_analytics_collection_enabled to false in your app's
AndroidManifest.xml in the application tag.
Does it mean that if I want to disable data collection and ad ID featues I need to add
<meta-data android:name="firebase_analytics_collection_deactivated" android:value="false" />
<meta-data android:name="google_analytics_adid_collection_enabled" android:value="false" />
to every AndroidManifest.xml file? Including the one in my library (com.android.library) module?
All my attribution sources in Firebase Analytics for our Android and iOS apps are "(direct)", even though we have over 250k first_open events showing up since we migrated from Google Analytics to Firebase Analytics.
Is there something we need to configure for these to register properly, or am I not using the Console reporting correctly, or maybe something else?
I am expecting at least some basic sources like "organic search" to show up.
The Firebase SDK library uses an app-instance identifier to identify a unique installation of the App.
When using the SDK, an app-instance identifier gets generated at the app level.
By default, the Firebase SDK collects identifiers for mobile devices (for example, Android Advertising ID and Advertising Identifier for iOS) and utilizes technologies similar to cookies.
On iOS, the SDK collects the Advertising Identifier if it is available. For IDFA to be available, a developer has to link in the following libraries:
libAdIdAccess.a
AdSupport.framework
If the Advertising Identifier is unavailable, the SDK collects the Vendor Identifier. If the Advertising Identifier becomes available after the Vendor Identifier was reported, the SDK stops collecting the Vendor Identifier.
By default, on Android the SDK collects the Advertising ID. If the Advertising ID is not collected, the device's hardware identifier, e.g., Android ID (SSAID), is collected instead. This alternative Android identifier cannot be reset.
source: https://support.google.com/firebase/answer/6318039?hl=en
You need to add the following dependencies to your app:
1.a For iOS setup:
Follow https://firebase.google.com/docs/ios/setup
And make sure you add the following Pods:
Firebase/Analytics
Firebase/DynamicLinks
1.b For Android setup:
Follow https://firebase.google.com/docs/android/setup
If you use Option 1 in the tutorial link, make sure you enable Analytics in step 4.
If you use Option 2 in the tutorial link, make sure the following dependencies are included:
Analytics
Dynamic Links
2. For iOS and Android, add the AdSupport framework to your App:
https://firebase.google.com/support/guides/analytics-adsupport
You can get this to work for your Android app by implementing Google Play Campaign attribution in your app. Checkout the latest instructions. After adding this to your Android app, you can use UTM parameters on your links and the correct campaign attribution will show up in Firebase.
Add libGoogleAnalytics.jar to your project's /libs directory.
Add the following permissions to your project's AndroidManifest.xml manifest file:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Add the following code snippet to your project's AndroidManifest.xml manifest file:
<!-- Used for install referrer tracking -->
<receiver android:name="com.google.android.apps.analytics.AnalyticsReceiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" >
</intent-filter>
</receiver>
But I never entered my UA-xxxxx-yy ID. The ID entered for Pageviews and Events tracking like this:
tracker.startNewSession("UA-xxxxx-yy", this);
Google Analytics for Android SDK ReadMe says: (NOTE: do not start the GoogleAnalyticsTracker in your Application onCreate() method if using referral tracking).
With referrer tracking where do i put my ID or not? If need, how? If not, why?
At first, it seemed strange to me that Google would require those who only need to do install referrer tracking to incorporate two permissions that might otherwise be unneeded, plus a library, into their apps, given that the information needed to track referrers is already available on the Google Play servers, and could presumably be accessed from there via a Web-based interface, similar to the one used to track purchases on the Chrome Web Store. When you consider that the app-based Analytics interface does not even cover purchases via the GP Web pages, the case for doing this seems even more convincing.
This omission still seems odd in the general case of tracking an arbitrary referrer, but I recently discovered that in the specific case where the referrer that you are trying to track comes from an Adwords ad, there seems to be an easier means of tracking Google Play app installs that does not require any modifications to your app. All of this is set up through the Adwords interface, not through Google Play, and not through modifications to your app.
You did not indicate whether your referrers were from Adwords or from some other source or sources, so I'll provide this information, in case it is useful.
This page
http://support.google.com/adwords/bin/answer.py?hl=en&answer=1722054
describes how to set up conversion tracking of Google Play app sales via Adwords. From that page:
Tracking mobile app downloads from Google Play doesn't require adding a code snippet. It can be done with no changes to your app's code. Simply follow the steps below.
Sign in to your AdWords account at http://adwords.google.com
Click the "Tools and Analysis" tab, and then click the "Conversions" tab.
Click the "+ New conversion" button.
Name your conversion, select "Mobile app download" and click "Save and continue". Enter the package name. (You can find your package name by looking up your app in Google Play. It's the part of the base URL that identifies your application: "https://play.google.com/store/apps/details?id="
Click "Save and continue".
On the next screen, click "Done".
Your mobile app downloads conversion data will now start showing up with the rest of your conversion data within 24 hours.
Note: Mobile application download tracking for Android will only work if your links in Click-to-download or Mobile App Extension ads point directly to the Google Play Store. Third-party tracking URLs are not supported at this time.
Check the GA SDK implementation at - the measurement is explained very clearly. https://developers.google.com/analytics/devguides/collection/android/v2/campaigns#google-play-implement
if I include the code following code in AndroidManifest.xml, then will it send a notification on notification or there is something more to be included.
<receiver android:name="com.google.android.apps.analytics.AnalyticsReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
How to view installation report in Google Account and What parameters are required to be set in the account?
UA-Account number is the id to be used for websites, is it required for android app installation notification.
Can any one specify the exact procedure to view Android application installation in Google Analytics and coding snippets required.
I think all of your questions are answered here.
In summary:
You need to include the Google Analytics SDK for Android
You need a UA number, which you provide when you call startNewSession: tracker.startNewSession("UA-YOUR-ACCOUNT-HERE", this);
Google provides a fully functional sample application which starts/stops the GoogleAnalyticsTracker instance in your Activity and tracks events and page views, as well as dispatches the results (stored locally on the phone until dispatched to the analytics server)
Include AnalyticsReceiver to track referrals