Is there any way of getting to know who has bought your app on the Android Market? I currently haven't got an account on the market, my app is still in development so i'm asking you guys.
I'd like to know and make a list of the people who purchased, or downloaded for free, my apps. Not their email addresses or anything, just some unique usernames, maybe from the Android Market itself. Is that possible?
If not, is there any way to get this information AFTER the app has been bought? The in-app billing system i'm guessing is anonymous as well, as it's still part of the Google/Android Market billing system. But if i were to use PayPal to make "my own in-app billing" would that work? I'm guessing i can see any PayPal transactions from where/who it originated, no?
If someone can offer me a suggestion on how i could get this information, with the user's willing participation of course, i'd be grateful.
To track users, people generally use some kind of Analytics app:
Google Analytics for Android and Flurry are popular, to name a couple.
I know of no other way to track general downloads, other than the Android developer dashboard/console
To answer your first question:
Google Android purchases (market and in-app) show up in the Merchant section of Google Checkout.
EDIT: Also, once a purchase is made, it is not anonymous and you as a merchant have freedom to contact the customer directly.
EDIT #2: To address your second comment:
From https://checkout.google.com/sell/orders a merchant can see the following information for each order:
Google Checkout Order Number
Total $ (or other currency) Amount
If they've yet been charged/pending/or other Credit Card/Other processing problems and current status.
Order Details (Include user name - which is Full Name - and App Name)
Additionally, within each order you get:
Customer's full name
Billing Address
Full email, not masked
Sold on, Charged on, Confirmed on Dates/Times
App name ID
So, Quite a bit information.
Related
I recently launched mobile app I found a purchase made by the user for some reason for this transaction my app could not capture customer details nowhere I could find in console customer details like mail id phone number I was under impression iap report from Google play will provide all these details & hence in my app not annoying my users to provide their details at time of purchase but it looks like Google does not share these details
What is my next step?
Please help, don't want to keep my customer waiting
Thank you
Google does not provide the developer with customer details in the course of processing an IAP. This is probably "by design"; after all, if you don't need someone's personal information to complete the purchase, why should they give it to you?
Also note there are legal concerns here, such as GDPR. You may prefer that Google deals with all that heavy stuff, so you don't have to.
If you happen to have certain information at the time the order is made, you can supply it as the developerPayload member of the purchase. That will attach the information to your order. Otherwise, you're pretty much stuck with what you have.
Or, if you'd like to implement Google Sign-In in your app, you'll find that you can get a great deal of information about your user, at the cost of a single button press.
This question has already been asked a lot of times but no complete/detailed answer has been provided so far.
I'm not sure if this is the right place for this question. I need to configure the Google Developer Console (and Google Wallet as well) in order to sell apps in Play Store. As you probably know Google has a list and not all countries are easily allowed to sell applications. However, there is one workaround using Payoneer and Google Wallet in order to get money from the apps sold. Basically you need to obtain an account in Payoneer and apply for "US Payment Services", doing this you will get a banck account in the US, after that you will need to create a Google Wallet Merchant Account and here is the problem:If your country is not listed in Google as an allowed location you will need to change the configuration in Google Wallet to an US address (you can get one in usbox.com for instance) and after that you will be able to create the Merchant account. The problem is that sells in Play Stores fail even if these steps were completed. I think that the problem is that I cannot verify my identity because I don't have an SSN or ITIN number.
Does anyone have more experience about this or know the required steps and configuration for Non-US Residents?
There is no general answer because if you are not a US resident, it still depends on your country. Depending on your country, you may get paid through wire transfer:
https://support.google.com/googleplay/android-developer/answer/2700656?hl=en
This applies to many but not all non US residents.
The general process is described here:
https://support.google.com/googleplay/android-developer/answer/173779?hl=en
I am working on an Android 4+ app that is free and includes some In-App Purchase items. Some testers are participating in the current beta-test and once the final version is published I would like to let these testers use the IAP items for free.
Is there some "easy" or official way to do this?
This will be my first app in the Play Store (only worked for iOS so far) and I do not know if there is any possibility to create promo codes or something like this to let users purchase non-free IAP items for free.
The only solution I found so far would be some kind of back door within the app, e.g. "Go to page XY, click twice on image A to bring up the unlock screen, enter your username and key..."
Of course this would work but I do not like this solution. Beside the additional work to implement such a solution it would not be really save. I do not know most of my testers in person and if one decides to publish his unlock key on the internet I cannot prevent all kind users from unlocking the app for free (at least not in the current version).
So, is there any way within the Play Store API to get this working?
Short answer: No!
Detailed answer and a possible way to do this:
Right in the Developer Console --> Settings --> License Testing Panel. There you can add up to 400 eMail adresses. Anyone who's using one of those eMail adresses is able to make test-purchases, this means they won't be charged but the Google Server will respond with something like "Yeah he/she bought this item".
Limitation: It's meant test purchases, mainly for applications that aren't published.
From the docs:
You can use any Google account as a test account. Test accounts are
useful if you want to let multiple people test In-app Billing on
applications without giving them access to your publisher account's
sign-in credentials. If you want to own and control the test accounts,
you can create the accounts yourself and distribute the credentials to
your developers or testers.
Though it's still possible to make test-purchases in published application. But there's one major drawback: The purchase will be cancelled automatically after 14 days.
Quote from the docs:
Test purchases are real orders and Google Play processes them in the
same way as other orders. When purchases are complete, Google Play
prevents the orders from going to financial processing, ensuring that
there are no actual charges to user accounts, and automatically
canceling the completed orders after 14 days.
To sum it up: The In-App Billing API doesn't offer an official way to do something like this. If you wanna do this you have to implement your own solution.
See also this SO-Post "Coupons for In-App Billing" which discusses this topic as well.
We run several apps in Appstore and Google Markets where users may download and play for free. We also have the option to make in-app purchases. What I am chasing is the data of how many unique users that have made a purchase. Unfortunately we dont have that information flagged and so far I havent found any standard report of how to get these out from itunesconnect and Google Wallet.
So basically I would like to extract all history data.
If you mean "How can I extract data about payments from unique users without changing my app?" the answer is that it's not possible. Google Play and iTunes offer sales information, not such insights about sales. The only thing you can do, which doesn't solve your current problem, is introducing a SDK such as Flurry and create events for purchases.
I have a few questions connected to Android In-App Billing:
Is it possible to make a purchase from non-Market app? I understand that it would be a vulnerability, but I have no opportunity to find out if it's possible or not.
How can I get purchase state for a particular product? As far as I understand it can be done using RESTORE_TRANSACTIONS request, but it's not recommended to use very often. That's not a theoretical problem. My application allows users to buy content using in-app billing. Content can be downloaded from a server, and server must allow content downloading only if it was purchased. But it can't check if content was purchased or not without using signed response from Android Market.
How can I get price and description of an item from Android Market? Seems that I know the answer and it's "there's no way it can be done", but maybe I'm wrong. It would be very useful to have a possibility of retrieving item's price.
It's very interesting to me how you solved/are going to solve these problems in your apps. Answer to any of these questions will be appreciated.
In order:
1- Nope. The in-app billing process is part of Market. If the app comes from elsewhere, there's no way for Market to verify the origin/authenticity of the application.
2- It's your responsibility to store the purchase state for a particular product. From the doc:
You must set up a database or some other mechanism for storing users' purchase information.
RESTORE_TRANSACTIONS should be reserved for reinstalls or first-time installs on a device.
3- Unfortunately, at this time you're right. File a feature request!
In the meantime, one option is to set up a website with appengine, store listings of all your content & pricing there, and then manually sync prices listed on your appengine server with the updated prices in Market. Then have your Android app pull the data from the AppEngine server. This is much better than hardcoding price values into the app itself, since you don't need to have everyone update the app immediately to see accurate pricing whenever you change something. The only caveat of this method is that if the user is in a different country, in-app billing will display an approximated price in their native currency, and there's no way for you to determine exactly what price will be displayed to them.
Related, One of the Android Developer Advocates is giving a talk on LVL/IAP at IO, called "Evading Pirates and Stopping Vampires using License Verification Library, In-App Billing, and App Engine." - It would definitely be worth your while to watch when they release the session videos on the website.