In iOS, we have provisional profiles to setup device UDIDs. So, our app will install on devices only which UDIDs are added to provisional profile at development stage. We generally added only customer device. So only customer can install the app. The build will not install any other device.
Is there any feature like above in Android?
NOTE: I knew we have feature in Google Play. But, I need this feature while development.
You can filter which users (not devices) can install your app.
In order to do that, use Google Play Developer Console to publish beta application APK - it can be installed only once user joins specific Google+ community or Google group.
So you have to create such a group or community and make it private - this will allow you to filter out which users can join.
After those users join, you will send them test URL and app will be installed on their devices.
Have a look at this Google Play Help article for more details.
The Play Store's method of doing this is via the new beta-testing feature. You add your testers to a Google+ community, and they get access to your application via the Play Store.
If you don't want to use the Play Store, you can implement a restriction within the app itself to accomplish this. The Identifying App Installations Android Blog post has some great information on how to uniquely identify devices. You can use one of these methods to check the device's identifier against a list of "approved" devices in your Activity's onStart(), and simply call finish() if the user is not "approved."
Related
Google Play has something called Private Apps: https://support.google.com/googleplay/work/answer/6145139?hl=en
However, to my understanding this means that only members of my organization can install the app. It doesn't say what "organization" mean but I assume it's members of a Google Workspace or a specific email domain.
I want to achieve something similar to Apples "Unlisted apps": https://developer.apple.com/support/unlisted-app-distribution
This means the app is present on the Appstore, but it's not listed or searchable. Only if you have the link to the app you can download it, and the user will receive automatic updates.
Is there something similar on Google Play? I want to distribute and update the app via Google Play, but only to users that I share the url with.
You can publish the app on the Google Play store via the Play Console and while selecting where to launch (publish) the app, add the app/app bundle only to the closed testing option. There you can add specific email ids and only those will be able to see the app, get updates, etc. no one else.
we use internal testing on playstore to test the app internally before we move to closed and open beta. More details can be access in the below link
https://support.google.com/googleplay/android-developer/answer/9845334?hl=en
I have set up an internal testing channel on the Google Play Store. I have added a few testers for my app but could not find a way to check if a particular tester from the list has installed the app or not.
I think this can be found out in Appstore.
We would like to know who has installed the app.
I attempted using the firebase analytics dashboard and play console dashboard for the app as well, app statistics etc, but with no luck.
Is there a way to find this in Playstore?
The best way to distribute an Android or IOS application for testing to users is through Beta Crashlytics.
From there you will be able to see exactly who installed your application and who didn't.
It will let you know from your Fabric panel who has installed the app.
See documentation here on how to distribute your apk.
Google Play does not provide this information. Any feature like this would have to be carefully evaluated on how it affected user privacy.
The signup for internal testing requires the Google Play email address the user will use to install the app. While I have never found anything more than a count of testers who installed, you can retrieve the current account of the user using the app. It isn't exactly a neat and autonomous process, but you could craft a means to compare the list of potential users to the installed account.
The permission required is GET_ACCOUNTS and then you would use AccountManager to retrieve a list of accounts and iterate through them to see if any match a list of testers.
I am working of app support COSU app android. The app is working fine for me but I am not understand how user will update our app, because COSU app user can't access any other application even google play store. So now the question is that how user will update our application without google play access.
I have one solutin download app from our server, but in this case user will lose save data like the data we are storing in SharedPreference. Please guide me if you have any other solution for that. Thank in advence
According to Google's docs on COSU (Google Play app management), it is possible to "install, update, and uninstall apps using the Play EMM API". Under "Google-hosted private app management" it describes the ability to host private apps through Play that your users can install/update:
Simplifies the Google-hosted private app publishing and update
workflows available to all admins through managed Google Play, by
enabling admins to update Google-hosted private apps through the EMM console instead of through the Google Play console.
Enterprise admin can upload new versions of apps that are already published privately to the enterprise using the Google Play Developer Publishing API.
If you don't want to use Play for this functionality you can read the "Self-hosted private app management" section.
You can also look at "Managed Google Play" to publish private apps for your users: https://support.google.com/googleplay/work/topic/6145152
After you register for a Google Play Developer account and set up the correct administrator privileges to upload and publish the app to managed Google Play, you can use the Enterprise Mobility Management (EMM) console to distribute the app to users.
Going the EMM route will let you update apps with the same functionality as regular Google Play apps where updates don't cause users to lose data. Unfortunately Google's documentation isn't detailed or centralized for this feature. Going through Google will also require that all of your devices are signed in to Google account in order to install apps or receive updates that you deploy though the EMM console.
Another option is to use a mobile device management (MDM) solution. If you have Samsung devices you can look into Samsung Knox which has a much simpler method for distributing your app: https://www.samsungknox.com/en/article/manage-apps
Another MDM option for single use apps is Mason (https://bymason.com/). Mason lets you upload your app, select any or all of your devices, and then deploy your APK to your users. When updating your app, all you have to do is increment your app version and the update functionality will be the same as a regular Google Play update. Your users also don't have to be signed in to a Google account.
If this sounds useful to you feel free to reach out to me trevor # bymason.com
DISCLAIMER: I work at Mason
I would like to deploy android apps to my employees. We have roughly 900 employees.
I was looking here, and it indicates that I have to setup a private channel by enabling Google apps for my domain. I've also read that it costs $50/employees to have my entire company on google apps.
Are there any other ways to deploy android apps strictly to my employee base? Am I really going to have to pay $50 per head?
Any advice is welcome.
No you don't need to pay that.
Get a developer licenses from developer.android.com ($25)
Then create a google group for your Employees and invite them all using their gmail (or other google, see screen shot below) accounts they have installed on their devices.
Step 1 complete, they are all inside the google group you have specified.
in the developer console:
Upload your apk as an alpha or beta apk (see screen shot below), set up the app as normal with all required fields, but when specifying the testing group you can reference this google group you have just created, which will give you a url that can only be accessed by those google accounts in the group.
Send this link out to all the employees that you previously invited to that google group and get them to accept the link for alpha/beta testing.
Once, accepted the employees will be able to download the apk from the Android device with that google account. (The app can then be found in the PlayStore app under Apps & Games -> My apps & Games - > All)
Now anytime you upload a new Alpha/beta apk all users of this group will see the app update or if auto update apps is enable for them, it will happen automatically.
for more details on beta setup: Alpha/beta help
Good Luck and happy coding!
you can always just install the apk file.
but in that case all your users/employers would have to enable other sources in the settings and get the file on the device somehow and start it(which might require an extra app).
How about just making it a public app and restrict the access to the app somehow (e.g. with a company login)
I was wondering is there a way to get the apps user bought from Google Play Store or pretty much all the applications. Ofcourse this would need user permission but is there any api which can be used to fetch this information ?
No, there's no official API for getting all user activity on the Google Play store, outside of your own application. However, you can use technologies like LVL and/or in-app-billing APIs to determine whether a user has purchased your own app, from within your own app.
You can get all installed applications. Look the answer of Nelson Ramirez: How to get a list of installed android applications and pick one to run