Avoid sharing paid app with google account - android

I have implemented Android license verification to protect users sharing APK files of my paid app. But what if they purchase the app from one Google account share the account details with each other? Is there a way to determine if such a thing is happening and limit the number of devices that can download that app with one account or outright ban that Google account if they share the details with, let's say 5 devices or something like that? Does Google Play Console let me see what Gmail accounts are used to install the app? How can I avoid users sharing the account/app without implementing a fully blown sign in system of my own? I am not dealing with the most advanced hackers or anything. Just avoiding an average Joe sharing account details in a group chat is my goal.

Related

Android Application let specific users access it

I am working on an app that'll be available to specific customers, after figuring out that this approach does not work, I am switching to pushing it to the public as a free app but give login credentials to specific users. Would that violate any of the subscription rules by android? would the app be taken down if people can't sign up, knowing I will charge for the account personally?
You can do this easily using Firebase Authentication. Here is the documentation for it.
Just connect your app to Firebase, create login screen with Activity and create accounts with the usernames and passwords for your users and give them the credentials.
As for the Google Play billing policies, I believe this violates their rule that you should only get paid through Google Play so they get 30% of the income, however, if it all happens outside of the app, and there are no platforms to get paid through (like PayPal) integrated in the app itself, it shouldn't be a problem as far as I know.

Google Play In-App Billing - How to let testers use items for free?

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.

Google Play Private Channel - Releasing to specific external users

I've got my personal Google Play Developer account, but within the company I work for, I'd like to start distributing an app. We have a Google Apps account with a very limited number of users - (we only have 5 people on the account), while the company itself has a few thousand employees.
Ultimately, we'd want to distribute to a wider array of people (people who are not on the Google Apps account) and potentially even include users who are not employees.
I imagine setting up a "white-list" of external users who can see the app, download it, get updates - but I can't find out whether this exists or not for private channels. Before I request the company pay the $25 for a developer account so that I can see whether or not this is possible, I was wondering if anyone knows the answer?
"Can I publish an app to a specific group of users?
No. But you can publish an app targeting a specific country or specific device models."
"Can I publish an app to both the public Google Play store and a Private Channel?
This functionality is not supported in the initial release. An app can either be published publicly or to a Private Channel, and not both."
https://support.google.com/a/answer/2494992?hl=en

Allow users to buy additions to my app via google - Android

I have looked around on the internet and cannot find anything on this topic. If my app is a game and I want users to buy tokens from me for a price and they pay one dollar for 100 tokens, how can I make my app communicate with google and bring up a menu so they can purchase through google? Is there any tutorials on this subject?
To make sure people understand it, If my app has an Activity which has a button that reads "100 tokens for 1$" Then another button that reads "500 tokens for 2$" and they click either button, it will bring up a google popup that says purchase. Then it uses their google account information through the app market to purchase the tokens. Many apps have this feature so I hope you know what I am talking about.
Please help me out, and thanks.
Also, I have looked at In-App Billing and they say you must post your app on the Google Play market complete the In-App Billing process. How can I add my app to Google Play without users being able to download or even see it. I want to upload for only developing reasons
In-App Billing is indeed the correct approach for having user purchases within your application. As you mentioned, this is only available via Google Play published apps. However, if you do not want to publish your app publically, you can use Google Play's Beta-testing program to upload an app to Google Play but only make it available to a specific group of people (those who you allow to join a Google Group or Google+ Community).
As long as you never publish a production version and only publish to the alpha/beta channel in the Google Play Developer Console, then you can create an app that utilizes In-App Billing without being public.

Android: is there a mechanism for one user to purchase an app for other users?

Say a company would like to purchase my app for each of its employees. Each employee has their own Google account. But, in order for the company to pay for the app for their account, they need to log in with their account, and have access to the company's credit card information. Is there any convenient way for a company to purchase an app for its employees?
You may have to implement a licencing system. Have the market version of the app require a key be entered before it starts working. You'll need a backend system to manage the creation and usage of these keys that will also provision the app on the phones.
There may be a better way but I've never heard of a "gifting" mechanism for the Android market.

Categories

Resources