I'm trying to find a way to get the UID or such for each activity record (historical data via Fit API for Android) that I read from Google Fit.
Is there any way to do it?
Related
I am writing an Android application in which users will have personal data (and only personal data). I would like to have some way for them to store it in the cloud without me paying, for example, so that their data is stored in their Google Drive (though not necessarily accessible through Google Drive UI). Is there an easy solution for this?
I had a look at Firebase, but it seems that it has 'common' data storage, which would be associated with a developer's (that is mine) account.
You can use FireBase. It's a great platform to host your app content
https://firebase.google.com/
you could create a database to store the data, but you'll require to keep a server running 24/7 if you don't want to pay for it. Also I don't see the drawback of associating the user data with your account as long as you don't rat out yourself.
I'm getting app events through Firebase analytics on Android, and when I query the data in BigQuery I find that many (not all) of the devices don't have a "resettable_device_id" (which is the IDFA according to:
https://support.google.com/firebase/answer/7029846?hl=en).
When I look in the app's database I do see identifiers that don't appear in BigQuery, but I know these are IDFAs because they match some of the BigQuery identifiers.
The app developer says that he gets the identifiers I see in the database from Play services, and he can't help with the Firebase side because the identifier is sent automatically by the SDK.
Why can't I get the identifiers? Can I change something in order to get them?
The next Android app I am creating uses third party APIs for: 1. Google API for geolocation. 2. Google APIs for Translation and 3. Zopim APIs for support chat.
Now almost all such service providers uses 'KEY' to uniquely identify who is requesting data. To implement these services I need to use the unique KEY they give me while I sign up.
Now the KEY is nothing but a String. What concerns me is, it is very easy to decompile APKs to source code. In that case, is it possible that somebody can use my app's APK to read the KEY and misuse it?
If yes, what is the solution to it? There are many apps out there that uses such KEYS from service providers. What do they do?
You can save those keys encrypted in your app server and send them securely via SSL on log in
I want to integrate a leaderboard into my Android game. However I am undecided about using my own server or using Google's leaderboards. The one thing that will tilt my preference is whether or not the Google system authenticates scores being sent. I don't want someone to get the leaderboard ID (or some other data) and send fake scores to the board. If I make my own system (e.g. in PHP) I can at least set up a method to authenticate scores being sent to the server. E.g. by using a hashing system.
So is there any information about how Google authenticates data being send by apps?
There is no server-side score validation.
Your game can attach some extra metadata with each submission, but you (or a script) need to poll the leaderboard and manually remove bogus entries. See Google Play Game Services Management Tools.
(I've used the extra metadata in a word game attaching an anti-tamper hash as well other information about what the user actually did. I haven't caught any bogus hash-mismatched submissions, but it is a handy way to see what the top-scoring players are actually doing.)
I'm trying to get androids new In-APP Billing to work with unlockable content.
For example, the user can unlock special content for a limited time.
The content comes from a web service, the problem I have is, how do I know when the user can view the content?
Because the user can buy it multiple times I use the items unmanaged.
So I somehow have to store the users information in my service, so I can provide content when he is allowed to.
The problem is that I don't have any information about the user, no ID, only a orderid which is not remembered by google.
So if he changes phone or wipes the database the access is lost.
What is the best possible way ensure the user has access to the content?
The only way i can think of is to store it on a remote server, where you could keep the data of who has what.
To create an ID for a user you could do some type of UUID creation see:
http://android-developers.blogspot.com/2011/03/identifying-app-installations.html