Testing Foreign Android Apps - android

I've developed an android application that has been distributed in a foreign country. When I uploaded it to the play store, I didn't go through alpha & beta testing I just promoted it the play store directly. Now we've had a couple of issues with the application but as it was distributed in a foreign country, we couldn't download it.
I fixed the problems and re-uploaded the application to the play store with no issues. I then added a test project to google play store and put it through alpha testing again only distributing it to a foreign country. Even in alpha test, I cannot download the application as it says I am not allowed the app in this country (the UK).
I feel like this is very poor because it stops me knowing what the app looks like once it's been uploaded (Even going through the process of testing the application before it went live, there were still issues with the app). As the client we developed this app for is also based in a foreign country (The same as where the app was distributed), they found the issues before us.
What I've Tried
On the phone FTPing into a server that is situated in the same country as where the application is distributed,
Rooting the device (Using SRSRoot for Android One Click) Which didn't work even though it said it had worked!
Downloading apps to allow me to access foreign Google Play Stores (Needed to root the device)
So I have three questions:
How can I download and test a foreign application through the Google Play Store?
Is it possible to do this without rooting a device?
Is there any Test software (E.g. TestFlight for Ios as apple bought it and it now cannot be used for android) I can use instead of going through Alpha/Beta testing on the Google Play Store?
Any information on this would be greatly appreciated, Thanks.

Related

Is it possible to upload a Android app on a store for testing purposes only (before the actual release)? [duplicate]

This question already has answers here:
How to create a Beta for my Android app?
(4 answers)
Closed 2 years ago.
Is it possible to upload an Android app on a Android play store for testing purposes only (before the actual release) so that :
The developers can test the publication process under real conditions.
The testers can download the app for free and test it before it is available to the public (possibly with a password).
The public at large does not see this test version of the app.
(Basically it’s like asking an editor for a proof exemplar, before the actual publication of a book)
This is not the same as « How to publish a beta version on Google Play ? », since a beta version is in theory accessible to all users an not to a limited (chosen, specific) list of testers.
Yes, that is possible.
I assume you are talking about the Google Play Store specifically, since it's the biggest and most official app store for android.
Google Play Store offers various test tracks:
Internal test: For up to 100 testers, invitation only
Closed test: Same as internal, just for more users
Open Test: Anyone can join
In all test tracks, users can only leave feedback instead of reviews and app ratings.
You can create multiple different tests and versions at the same time and invite different users. For example if you want to test features only in certain regions.
Additionally, there is internal app sharing which allows you to quickly share app bundles or APKs via a link through Google Play Store. This is for example usefull for CI / CD where each build is uploaded to internal app sharing. This is also currently the only solution for this usecase which supports Android App Bundles. Other solutions like Microsoft Appcenter only allow APK uploads.
Imporant info before you upload
Once you upload an APK or app bundle for the first time, certain parameters will be set and become unchangable in the specific play store entry:
app package name
app signing key
So once you upload an app in either of the test tracks, without even releasing it, you can not change the app's package name or upload it with a different signing key. A different package name will require a new play store entry.
The signing key can only be changed when the original key is still present (there is a roll-over process for that, but you need the original signing key for that!). So make sure you back up the signing key and don't use the default debug signing key for test uploads.
Further info:
Set up an open, closed, or internal test
Share app bundles and APKs internally

For online Android games, what services are available to ensure the integrity of the APK file to prevent cheating?

Suppose I develop an online game that interacts with a server for Android. What I want to ensure is that the APK file running on a given users' device is the APK that I have uploaded to the Google Play Store. (Meaning, I'm trying to avoid situations where someone extracts the APK from a device, hacks it, sideloads it back onto the device and then uses it to play the game).
Are there services provided by Google, the Play Store, Android, etc that can do that? For instance, the Play Store might have a SHA256 checksum of that APK file. Since my game is integrated with Google Play (for saving your game and progress), is there some service that I could invoke to compare the currently running game with what the Play Store has registered?
My thinking is that I can't add validation to my application itself since a sufficiently motivated modder could just bypass or forge. I was hoping something might exist at the platform-level.
Thanks in advance!
This seems to be what the SafetyNet Attestation API is for.

Android & Google Play publishing for customers

I am currently working on an Android app and I am wondering which would be the best way to distribute it to customers. I understand that one can create a private channel but I haven't been able to determine whether our customers would be able to use it. From what I've gathered, a private channel is for internal distribution; I wonder if someone without an e-mail account from our company would be able to download it this way?
If Google Play is not the answer, what would you do? I know the app can be distributed through e-mail or links to download it but I'd rather avoid having users change their devices' configuration to allow installing APK from unknown sources.
Not sure what your beef with Google Play is but even if you're not intending to publish the app at all, you can still take advantage of the beta testing mechanism -- you can distribute a Google Play to limited audience -- i.e. a list of google accounts.
Apart from that, if I'm not mistaken TestFlight supports Android package distribution. Looks like they dropped Android support

Deploy app through Google Play Store in a private channel without Google Apps?

I'm building an Android app which for various reasons cannot be listed publicly on the Google Play store.
I have found information about the Google Play Private Channel but if I understand it correctly, this can only be used when all your users are within a Google Apps domain (which mine are not).
Are there any similar methods that I could use to deploy my app (and get the benefit of easy installation for users, an updating mechanism etc.), or is my only option to publish an APK file manually?
From what I can tell, manually publishing APK files is the only choice, but this seems strange to me since my situation must be common for "private" business applications.
In particular, I am concerned that it would look unprofessional to have to guide users through the process of turning on the "Allow installation of apps from unknown sources" setting.
Any advice welcome, thanks!
I would just deploy your app using Google Play "Beta testing and staged rollout":
https://support.google.com/googleplay/android-developer/answer/3131213?hl=en
Your users have to join a Google Group or Google + community that you create so you can limit you audience and make the app non-public on Google Play but still allows your non-public users to update the app via Google Play instead of manual APK installation.
The only downside is that the members of the Google Group or Google + community will only be as private as their Google account provides. So, app users are known to each other but your app will not be public on Google Play.
Can you not use BETA or ALPHA pushes

Is it possible to program an android app that behaves similar to google's Play Store?

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.

Categories

Resources