I published many versions so far. And, the users should use the most recent app. However, apkpure shows all the app list that I released.
How come this website take all the apk or abb? I don't want the website takes my applications and block the users in the app. Is there any way to do that?
Actually it's possible to do, using one of the Android features like app bundles. This could help you to verify non Google Play installation. Or even create behavior to crash/exit in such cases.
The whole idea of the approach, it's separation application features to different bundles which could installed be installed within Google play package manager. So you can check it's documentation.
Lots of android users can not access play store when removing the google restrictions, because they want apk file for install. Third party websites publish for that kind users, As well as some desktop users want APk file specially GAME APPs. I think they not Change original APK file.
Related
I have 500k active users. My application has been probably hacked. How do I know that? My production versions are 3.x.y But I can see in Firebase statistics that 1% (about a few thousand) users use version 4.0.0. I have never released app with that version. Probably somebody just changed app version and I assume ad ids. He didn't even remove Firebase analytics so I can see that the hacked app is live. I use standard ProGuard obfuscation but as we can see it didn't help.
The question is how to find the place (site, market,..) from where hacked application is downloaded?
If you are fine to update your app, then I would first change my app to read getInstallerpackageName from PackageManager, and then record it via Firebase analytics.
If the result of this is com.android.vending it was installed from Google Play, otherwise it will be the program that installed your app. If this is another app store then great, you have found it.
If the result is something like a web browser then it is harder as the user got the app from a website. Then your best option is Google searching. The normally easiest way is include your app name and the word "APK". This tends to find most sites serving your app. You could even search for your app name, "APK" and "4.0.0" as many website list the version code on the page.
I am developing a non-free android application. How can I prevent others from sharing apk to other users, like if I am using share-it or Xender we can share a apk which is installed in our application to others. Is there any way to prevent our application from sharing the apk?
Please add your thoughts.
You cannot prevent it from being downloaded or shared. It's a problem each app faces, even well-known apps apk are available easily over internet, all you need is to search for it :)
What you can do is restrict User to use it, if he has not purchased it.
Assuming this app will be on Google Play, & what you need is Play Billing Library
Using this you can identify user has rights to use this app or not.
if the user has not purchased it, he will not be able to use your app.
If this app is not going to be on Google Play store, you can see respective app store billing library.
Set allowBackup="false" to your application in your androidmanifest file.
Read more about flags - https://developer.android.com/guide/topics/manifest/application-element.html
Is it possible for an android application to act as a custom market place?
The imagined behavior of the app:
Download XYZ app from the built in Google Play Store
Opening XYZ app yields a UI similar to that seen in the Play Store
The user can navigate through XYZ app and select a custom app supported by XYZ to install on their phone
This custom app would not be located on the Play Store and the .apk would be directly installed from the context of the XYZ app/marketplace to the users phone
I did some research and found alternative Android App Stores such as:
Amazon App Store for Android
GetJar
SLideMe
F-Droid
But is it possible to have an alternative marketplace like this that can be accessed from an app that was downloaded from the Google Play Store? Does google allow this type of practice?
So I suppose the heart of my questions is: Is it possible to create an android application that has permissions to install other 3rd party applications directly to a users phone? (without needing to leverage the Play Store or needing to jailbreak the phone)
Thanks in advance for the answers and insights! And please let me know if anything I'm saying doesn't make sense.
(Extra Credit: I would also be curious to learn about the feasibility of doing this with an iOS app as well)
To add to the other answers, you will have problems with some of Google Play's rules. AFAIK they don't allow your app to direct users to a different store. So you won't be able to keep your app on Google Play store in that case.
EDIT
It is not in the Terms and Conditions, as confirmed by #Cumulo Nimbus.
It is in clause 4.5 of the Developer Distribution Agreement:
4.5 Non-Compete. You may not use the Market to distribute or make available any Product whose primary purpose is to facilitate the
distribution of software applications and games for use on Android
devices outside of the Market.
My interpretation of the above was, and still is, that we can't point people to a different app store.
Kudos to #zmarties for pointing me at the Developer Program Policy which links out to the Developer Distribution Agreement. I knew I'd seen this somewhere...
In terms of iOS, Apple does not allow different app stores unless you jailbreak (iOS-speak for rooting) your phone. They are not as open minded as the Google.
Android apps don't need to be rooted in order to install third party apk's. The use just needs to allow this in their settings. The apps you have listed simply instruct their users to enable this setting.
The best example of a third-party "free as in freedom" app store would be F-Droid
Technically it's possible.
The current Developer Program Policy does not seem to prohibit it either - all they have to say on the matter relates to installing "dangerous products" from outside the play store:
Dangerous Products: We don't allow content that harms, interferes with the operation of, or accesses in an unauthorized manner, networks, servers, or other infrastructure.
Malicious scripts and password phishing scams are also prohibited on Google Play, as are apps that cause users to unknowingly download or install apps from sources outside of Google Play.
Having said that, I can't quickly see any alternative apps stores that are themselves in the Play Store.
I am going to have a alpha release of my app, which is not yet on the market. I want to have the app APK link sent out to friends via email so they can download it from my site CDN.
One question here: if I want to give them updates, what will be a good way? Can I download the new APK within the app, and somehow install the APK to replace the old one without anything to do with the market? So my friends can have the app upgraded while it is still in alpha release?
When I did it, I used Zubhium -- they were a web service with a small API that you could install into your app, giving you a mini "app store"-style backend and handling distribution for you. It would host and distribute your APK, connect up to their server when the app launched, check for updates, invalidate old versions, gather crash logs for you, etc. It was very good.
Zubhium are now https://www.vessel.io -- I presume they still have the above features as part of their now-much-bigger service, but when I checked you had to give them a credit card number even to sign up for the free plan, so I've not played with it.
A friend of mine uses http://testflightapp.com for iOS, and it looks like they have an Android version now, so that's certainly worth checking out. A quick search also shows up http://applover.me. #Janusz recommends http://hockeyapp.net/features in his comment.
As #Nanne points out in his answer, the Play Store itself now lets you distribute to limited alpha- and beta-test groups. That looks like it has fairly minimal features compared to the third-party services (no A/B testing, etc.), but will be familiar and free. And it doesn't need an extra SDK rolled into your app.
So, my general answer is that there's more than one professional beta-testing API/service that you could use, that they're generally very useful, quite easy to roll into your app, solve all the problems you're anticipating and more, and often have a free plan to get started. I'd recommend picking one of them rather than trying to roll your own solution.
If you want this only to be able to release your app in Alpha, and maybe later in beta, take a look at the android market again.
Check out this link: https://support.google.com/googleplay/android-developer/answer/3131213?hl=en
It boils down to the fact that you can have an Alpha-test, and a beta test, each with selected users. You can upload your app as normal, so you'll have updates via the market, but not everyone can download your app.
For the beta at least, you can select a community that is the source of your users, so all that are in that community could be testers.
This is the best method for testing I believe.
Here's the scenario i am trying to achieve:
Publish/have an app in the Android app store
However - i do not want it to be searchable through the android market search, etc.
The only way people can access the app is if i give them an explicit link to download
Is above possible? If so - how? All FAQs/instrucitons i have seen publish & make it searchable for the whole world - but i want it only accessible through #3 above.
Thanks.
Try this site https://www.push-link.com/, you can upload apk on your private account and only can be accessible thorough automatic generated link and QR code. This service contains user notification on new versions and bug reports.
Two things that are problematic with the link to an APK approach:
Some of the devices out there (I m only aware of the Motorola Atrix) don't have the "Unkown Sources" option, meaning that this won't work on them.
You loose the ability to auto update the app if you want.
I would recommend adding a login process where only your users will have access to the actual application. This way, you still have the Market advantages and only those people can activate the application.
The main disadvantage is that the application will be open to search in the Market, but as far as I know, this won't be a problem since people will immediately uninstall it since they won't be able to activate it.
In your case, what I do is, I dont upload the application to the Market and distribute it from my server.
I mean this is simple, sweet and it also saves my $25 for the market account...
Don't do this. Just publish the APK to your own website, then give the users the URL to the APK, they can download and install it directly. The only thing they'll need to do is ensure that Menu-Settings-Applications-Unknown sources is ticked.