I want to track activity referrer information in my android application.
setReferrer in the Google Analytics API seems to be a suitable method (com.google.android.gms.analytics.Tracker.setReferrer)
But I can not find any documentation for it.
What can I pass to it? Only web links? Or android app URIs are supported too?
like: android-app://com.google.android.googlequicksearchbox/https/www.google.com
I get information about the referrer from:
android.app.Activity.getReferrer
android.content.Intent.EXTRA_REFERRER
android.content.Intent.EXTRA_REFERRER_NAME
Edit:
With additional research I found some more information about referrer in Google Analytics via it's Measurement Protocol Parameter dr:
developers.google.com/analytics/devguides/collection/protocol/v1/parameters#dr
Specifies which referral source brought traffic to a website. This value is also used to compute the traffic source. The format of this value is a URL.
But it also does not clarify whether or not android app URIs are supported.
It seems like Google Analytics for mobile apps does not support referrer information at all.
Only install referrer is shown. I can't find activity referrers anywhere even if I send this info.
Related
We received an email titled "[Action Required] Remove the addApi(Drive.API) code from your apps that initialize the Google Drive Android API" informing us that on February 1, 2023, the Google Drive Android API will be fully turned off and that we would need to respond by removing any reference to addApi(Drive.API). We do not appear to use this API, but we see usages of the Google Drive API in the Google Cloud dashboard for our Android app project. This could very well be REST Drive API calls, but we're not seeing a way to confirm where these API calls are coming from.
Following the documentation's instructions exactly as written, it would appear that the only action needed would be to remove any usages of addApi(Drive.API).
So, We're looking for a confirmation that this is truly the only usage that would cause issues to leave in our Android app once the Android Drive API shuts down. Does anyone know?
We are sending enhanced conversions to Google ADS API using the Upload Click Conversions method of the API client. This is the only data we send to API. No user identifier data about customers is sent to API before that via GTM. In Google Ads UI measurements, I see that Google only shows 5% of what actual conversions are. Does this mean we need to send Google Ads API some information through GTM before we send the conversions through the API client?
Yes, you need to provide a user identifier via GTM (before) as well.
See Instructions here:
https://support.google.com/google-ads/answer/11347292
I am trying to implement app links into my app to make sure that other malicious apps cannot register for my URL.
I read the guide on app links here https://developer.android.com/training/app-links/verify-site-associations.html and I have mostly understood it. But one thing which is not clear to me is how can I prevent malicious apps from receiving my domain links if my app is not installed.
Consider this scenario.
1. My app is not installed on the user's device
2. Some malicious app is and it knows the URL that my app handles
Wouldn't this launch the malicious app and it can intercept my URL if the user selects that app from the disambiguation dialog? Is there any way to prevent it?
I understand that android:autoVerify="true" will trigger the domain verification when the app is installed, but what if the app is not installed?
Whether the user has the app installed or not, the "illegal" app won't be able to handle your links since it has not access to your domain in order to save there the needed JSON file. Am I clear?
There is a JSON file that is required during App Link configuration, that has to be uploaded to your server (that includes your app ID), through which your web-app basically says to the Android OS 'this is my counterpart on Android devices, I authorise it to handle these URLs'. Since app IDs are unique, there is no way another app can meet those conditions.
To quote the docs:
An Android App Link is a deep link based on your website URL that has
been verified to belong to your website.
So, although an app may register an <intent-filter> it ALSO has to be verified by the website whose URL it's trying to handle. And this happens on the server, so, out of the reach of a mobile client.
See also HERE for a more detailed explanation.
I've been thinking about implementing of Google Play licence check on my Java server. Is that even possible? I haven't been able to find anything on this matter. I know Android LVL is written in Java, but I'm not sure if it can run outside of dalvik machine. Is there a posibillty of checking Google account name or some kind of device ID against Google Play to check whether an app has been bought in a Java server application?
The answer above is simply verifying response data (returned by google LVL on android device) on app server.
I think the question is asking if it's possible to call some google web API to do Google Play license check on its app server. But it seems like google doesn't open the web API interface to its licensing server, all LVL calls need to be done using its google play service framework on android device.
Yes it's possible, the java sources are out there and could be downloaded (and afaik, the jar is not dexed until you compile your application) - see some kind of manual over there at developers.android.com to read about how to get the sources
I've heard about a PHP project trying to attempt it, but using java should be no problem at all - you do the same things on the server, the manuals state for the client - and let the client sends the encrypted response from the market directly to the server via SSL (e.g. byte[] post)
You should get a UID from ResponseData.userId
Read some more in this blog post and more info and links in another SO answer
Is there an API to check if the device is currently password-protected?
I can only allow caching server login keys on the device if the device itself is password protected (recommending IT policy to the BES admins is not enough for the customer). Somehow I cannot find the suitable API call(s), looking up and down through the documentation and APIs.
Found it.
net.rim.device.api.system.DeviceInfo.isPasswordEnabled()