I have a app that the ambition is to be executed on multiple devices on the same account. The problem is that it payments must be made by per amount of devices it is installed on. Or a Payment like 1-10 devices, 11-20 devices.
At the same time, the ambition is to be able to use Google Play to make it possible to push out updates on the app to all devices at once. But that is in conflict with the Google Play's terms of payments.
I only found how to restrict the app on some devices, but not how to make it possible to take payments per device.
Limit (Restrict) app installations per account (detemined by unique devices) in Android
Are there a solution to make payments per device, and still use Google Play, or are there any other solution?
Related
we have a business where we have developed an android platform in 1,000 devices inside taxis.
For this, we need to login 1,000x into play store.
We have used one account so far (test#gmail.com) but it seems that often it automatically logs out on many devices, even though it should permanently be logged in, to receive software updates.
We currently tried to log in around 80 devices, but about 40 of them get logged out of Play Store.
Is the issue that we can't login multiple devices with 1 account or what can be the problem?
Are we able to use one account and keep them logged in on all devices?
From Google Play Terms of Service
Limits on access on Devices. Google may from time to time place limits
on the number of Devices and/or software applications you may use to
access Content (for more information, please visit the Help link for
the relevant Content within Google Play). Google may record and store
the unique device identifier numbers of your Devices in order to
enforce such limits.
We have an Android app that we'd like to run on thousands of identical tablets that we will own and rent to our customers. The app runs in a sort of "kiosk mode" (we use app pinning, in the parlance of this page: https://developer.android.com/work/cosu.html). We're also, at present, configuring our app as the device owner using adb shell dpm set-device-owner ....
We have two goals here:
Be able to push updates to the app out to all our devices without any user interaction on each device.
Reduce the manual configuration of each new device when we unbox it and set it up as much as possible.
Can we use Google Play Store to push app updates out? I had in mind that we'd use the Alpha or Beta release for this and never actually publish the app for others to install. Using Google Play Store of course requires a Google Account to be added to the device, and once we do that, I fear our options for using a device owner app are limited, not to mention the fact that adding that Google Account may not be able to be scripted using adb or similar. We'd like to avoid manually adding the Google Account if possible.
Unfortunately the Google Play sandbox is still very consumer app oriented. However, the Play EMM API and Managed Google Play have some capabilities around distributing apps: https://developers.google.com/android/work/distribute
Their EMM documentation covers provisioning as well via either a device-driven flow (using nfc) or a user driven flow (using a google account): https://developers.google.com/android/work/prov-devices
Alternatively you could look at 3rd party MDM solutions or use a platform built for enterprise mobile deployment like Mason: http://bymason.com
Mason allows you to create a custom Android OS in a just a few minutes (kiosk mode app, disable camera/sms, remove apps and settings, etc). Applications can be bundled and versioned along with the operating system or deployed independently. Mason supports background app and os updates 100% controlled and configured by you.
You can order large volumes devices from Mason with your OS and apps preloaded on them as well.
Feel free to ping me directly: dylan # bymason.com
Big Disclaimer: I work for Mason
I wrote one kiosk mode device owner app. Since it was a system app, we just had it use the system ability to do silent installs, self hosted the updates and checked for updates on a regular schedule. No configuration needed. I think you're more likely to hit legal problems than anything else- are you really using high end tablets that have legal licenses to Google Play for a kiosk mode app? Or are you using the cheap tablets from China? Remember that Google Play is not a free app- there's a licensing fee and usage agreements you have to sign to have the right to distribute it. The cheap tablets tend to just illegally sideload it, or not have it.
Advantages to doing it ourselves: we had absolute control over rollout, there was no company saying when we could send updates, and no way for the user to reject/not download an update. As you scale you could have even used more intelligence, and done rolling updates to the fleet via push notification.
What billing options could I use to allow users who download my app to have to pay for each additional device they install it on.
My app once purchased runs on tablets devices WITHOUT internet connection. GP allows users to install this on as many devices as they like using the same account details.
Increasingly my app is being used for commercial corporate use and I want a way to insure I get paid when the app is installed by commercial companies more than once. For example a Bar or Hospital has many tablets running my app, but they only paid once.
As far as I can see there is no specific billing to fit my purpose.
One thought was to display some kind of commercial user agreement at startup that stated that for non personal use they would have to purchase licenses directly to allow them to use it legitimately for each additional device they install it on.
This would rely on honesty, so can be ignored.
So my questions are:
Is there a billing method I've overlooked that could handle this situation?
Is there an alternative way to handle this?
Would I be in breach of GP if I had an commercial user agreement that sort of contradicts the GP billing model. eg paid apps can be installed on multiple devices owned by the same user account? And request additional payment for each device its installed on not using billing.
I developed a remote app where the user has to provide an ethernet ID for the target device.
For users who have two of these devices I would like to give the possibility to install the app twice, one for each device.
But they should not have to pay for the second one (eg just selling the same app with different package-names might not even be accepted by Apple, while on Android it is possible)
Designing the app in such a way that it works with two devices would make it quite complex to use.
Is there a good workable solution for this for iPhone and/or Android?
Many thanks
From an iPhone perspective, this wouldn't be possible. Selling the app with different package names is a very poor solution for a number of reasons:
As you say, it wouldn't be accepted by the App Store (and would probably be eventually removed from the Android Market if it is just a duplicate app).
You have no control over which version of the app people download, and then need to keep track of this, which is overly complex.
2 versions of the app would be acceptable if the user has 2 devices, but what if they have 3? What if they had 10?
To me, this would seem like an issue that would be solved by some sort of severside registration server which links up to some logic within the app in order to determine whether the user has made the necessary payment in order to use the app.
In other words -- and if I am understanding the concept of your app correctly (more explanation would be needed for a more complete answer) -- the user goes onto your site (or within the app) and creates an account, registering their Ethernet ID(s) and arranging any payment (or does this via in-app purchase). You could even charge on a per-device basis and have this built in to the app via in-app purchasing.
So the app itself would be free, but in order to use the app they would need an account which has been registered with you in order to ensure it is only being used by paid users.
Not sure exactly what you trying to build but there are other apps (games & tools) have a client and a server app.
Usually people give the client app away for free, but charge for the server app.
Another way, you could do in-app billing so give the app away for free, but charge for the features in the app to unlock it.
Implement your own registration server that keeps track of registered/licensed devices a user has.
That would you would know that a user has bought the required upgrade that can be used with his/her registration on x number of devices.
Each device the user downloads the app onto and logs into their account.
The app could check check if they have purchased the licence on at least one of their devices, thus unlocking the features.
Not definitive, but those are the two ways I would look into if I were developing such an application
Any iOS app from the App store can already be installed on multiple devices, as many as are logged into to the same iTunes customer account. The customer only pays once for one to as many installs as they have devices on that same account.
I'm designing an API for an Android app. An iPhone requires a user to get an Apple ID, do Android mobile devices in the same way 'require' users to get a Google ID?
Ideally I want to be able to assume that users downloading our app on Android will have a Google account, so that we authentication via the Users and OAuth APIs is a snap.
You're not required to have a Google account associated with an Android device, though most people probably do. You do need one if you download apps through the Market, but you can also side-load apps, use other markets like the Amazon App Store, etc.
For both the Android phones that I've bought in the US (an HTC G1 and an HTC G2) it has forced me to enter my Google account information (or create a new Google account), before I could do anything on the device (similar to how the iPad forces you to connect it to iTunes before you can use it).
Some people suggest clearing the data associated with all the Google apps on the phone to disconnect the device from the Google account, or you can just remove the account through Settings -> Accounts & Sync.
I suspect it boils down to exactly how the carrier delivers the phone to users. If you want your app to be available globally then you should assume many users will NOT have a Google account.
Generally, users need a Google ID to use Android Market. As far as I know, they do not need one to use other markets (such as Amazon). What are you authenticating?