ihhub / fheroes2

fheroes2 is a recreation of Heroes of Might and Magic II game engine.
https://ihhub.github.io/fheroes2/
GNU General Public License v2.0
2.58k stars 359 forks source link

Google Play Store release preparations #6822

Closed ihhub closed 1 year ago

ihhub commented 1 year ago

Preliminary checks

Describe the problem requiring a solution

We would like to release fheroes2 in Google Play Store and we need to make sure that this is going to be flawless.

Describe the possible solution

I still think that there might be issues with the release and this is a list of needed steps to make we should do:

Feel free to express your opinion about the steps.

Additional info

No response

oleg-derevenetz commented 1 year ago

Right now only English and German are supported

And Russian.

possibly detect OS language and set it in the configuration file for the first run

I recommend to let the user select the in-game language at the first run, just like it works now, because Android supports much more languages than supported by the fheroes2 (and original game resources support even less number of languages).

add support of other languages in virtual keyboard (at least the main languages in which the OG was released

I believe this is optional and not vital really :)

Alucard648 commented 1 year ago

What about also porting to RuStore? For russian auditory.

oleg-derevenetz commented 1 year ago

What about also porting to RuStore? For russian auditory.

In fact, there will be no need for any special porting, already released APK could be used (APK signature should ideally be the same to allow installation from one store and upgrade from another store (or manually)). But AFAIK RuStore has some limitations regarding open source projects driven by a team (they don't have an idea who is personally responsible for a project in such cases), and they were going to make a special procedure for the publishing of such projects. But I'm not aware of the details and timeline.

ihhub commented 1 year ago

Hi @oleg-derevenetz , thanks for the input! I corrected the list.

Mr-Bajs commented 1 year ago

Android is getting more restrictive. After the android release of fheroes2 Google has as far as I can tell, trying to restrict users access to the android/data folders. There seams to be a fair amount of annoyance on the web when searching for a solution about this.

I assume publishing on Google Play will add alot of new users, and probably alot issues and problems with people that can't load custom maps or delete save files from a bloated save files folder.

As of now it can be solved by trying a another file manager which may or may not work. And maybe at any future Andoid update no file manager will have access to android/data.

oleg-derevenetz commented 1 year ago

I assume publishing on Google Play will add alot of new users, and probably alot issues and problems with people that can't load custom maps or delete save files from a bloated save files folder.

What exactly are the issues with uploading custom maps or deleting save files using the fheroes2 toolset that is included into fheroes2 Android APK for at least a two months now?

Mr-Bajs commented 1 year ago

Oh, i didnt realise that the apk installed two apps.... Sorry bout that. I'll check it out.

I feel stupid but how do you use the toolset to import new maps though?

oleg-derevenetz commented 1 year ago

I feel stupid but how do you use the toolset to import new maps though?

Create a ZIP file with the following structure:

maps/custom_map_1.mp2
maps/custom_map_2.mx2
...

and unpack it using the toolset.

Mr-Bajs commented 1 year ago

@oleg-derevenetz thanks. :)

ihhub commented 1 year ago

According to Google Play Store console:

Add a privacy policy to your store listing to help provide transparency about how you treat sensitive user and device data. Learn more

You must add a privacy policy if your target audience includes children under 13. Check the User Data policy to avoid common violations.

So in other words we need to add a file within the repository which should contain Privacy Policy.

By the way primary Content Evaluation is this: image

It is lower than Homm 5-7 because the graphics are pixelated.

ihhub commented 1 year ago

Also there is another issue: we create an APK file for Android but according to Google Play console we need an AAB file: image

ihhub commented 1 year ago

Hi @oleg-derevenetz , could you please change GitHub Actions to compile AAB as well as required by Google Play Store?

oleg-derevenetz commented 1 year ago

could you please change GitHub Actions to compile AAB as well as required by Google Play Store?

Yes, I'll do this later today.

ihhub commented 1 year ago

@oleg-derevenetz , thank you so much for this!

ihhub commented 1 year ago

Google Play Store requires these entries to be entered for an app: App name: fheroes2 Short description: fheroes2 is a recreation of the Heroes of Might and Magic II game engine Full description: fheroes2 is a recreation of the Heroes of Might and Magic II game engine.

This open source multiplatform project, written from scratch, is designed to reproduce the original game with significant improvements in gameplay, graphics and logic (including support for high-resolution graphics, improved AI, numerous fixes and user interface improvements), breathing new life into one of the most addictive turn-based strategy games.

I think it's pretty straightforward.

ihhub commented 1 year ago

The screenshots from the main GitHub page are accepted as it is so we can go with them at the moment.

Laserlicht commented 1 year ago

I've created a simple video that shows the install process for the GOG-Version. Can we link this somewhere useful?

https://user-images.githubusercontent.com/13953785/230806059-b926692a-7d82-4b72-903f-19832bbb15ea.mp4

ihhub commented 1 year ago

Hi @Laserlicht , there is no need to install fheroes2 in order to copy files into an Android device. You can manually create an archive containing MAPS, DATA, MUSIC and ANIM directories from HoMM2 GoG installation.

ihhub commented 1 year ago

This is not critical but Google warns about this:

There is no deobfuscation file associated with this App Bundle. If you use obfuscated code (R8/proguard), uploading a deobfuscation file will make crashes and ANRs easier to analyze and debug. Using R8/proguard can help reduce app size. Learn More

Laserlicht commented 1 year ago

Hi @Laserlicht , there is no need to install fheroes2 in order to copy files into an Android device. You can manually create an archive containing MAPS, DATA, MUSIC and ANIM directories from HoMM2 GoG installation.

Yes, of course you don't need to install fheroes2. I don't do that either. But I copy the extraction scripts. Without them you can't get the ANIM folder in the GOG version. There is no ANIM folder in the installation directory.

ihhub commented 1 year ago

@Laserlicht , you can install Windows version of the HoMM2 which contains this.

Laserlicht commented 1 year ago

@Laserlicht , you can install Windows version of the HoMM2 which contains this.

@ihhub But in GoG sadly no...

screen

ihhub commented 1 year ago

Hi @Laserlicht , it's literally DOS version, see DOSBOX* files. Let's move this conversion out of this issue into a separate discussion.

ihhub commented 1 year ago

Hi @oleg-derevenetz , is it possible to download and install demo version in one shot? I can see reports from Google and it looks like they are manually done. The person did not succeed running the game.

ihhub commented 1 year ago

I think we need to remove Bluetooth access from the app:

Features
5 features
Hide detail
expand_less

android.hardware.bluetooth, 
android.hardware.screen.landscape, 
android.hardware.touchscreen, 
android.hardware.type.pc, 
android.hardware.usb.host
ihhub commented 1 year ago

Hi @oleg-derevenetz , is it possible to download and install demo version in one shot? I can see reports from Google and it looks like they are manually done. The person did not succeed running the game.

We might face 2 situations:

I think it should cover all possible cases. What do you think?

oleg-derevenetz commented 1 year ago

I can see reports from Google and it looks like they are manually done. The person did not succeed running the game.

Do you mean the reports from the "Pre-launch report" section? They are not manually done, they are automated. They just mindlessly crawl the app by pushing random buttons, entering random text and so on. Even if they didn't succeed to launch the game, this means nothing.

I think we need to remove Bluetooth access from the app:

Why? Bluetooth access is here to allow SDL to use various input devices over Bluetooth.

I think it should cover all possible cases. What do you think?

Let's no hurry with this. If the application will be really rejected due to some issues related to demo version, then it will be possible to think about the implementation.

ihhub commented 1 year ago

Valid points. Thanks for the replies! I uploaded a version from a master branch just to test if we have any issues.

ihhub commented 1 year ago

Yes, it was pre-launch section.

oleg-derevenetz commented 1 year ago

Yes, it was pre-launch section.

These tests just mindlessly crawl the app by pushing random buttons, entering random text and so on.

ihhub commented 1 year ago

@oleg-derevenetz , thank you for the explanation! I haven't done this in the past so I had no idea about it.

ihhub commented 1 year ago

Hi @Laserlicht , I can see a potential of creating a video for installation for multiple OSes. However, let's move it to a separate discussion if you are willing to work on a video which we can potentially release on fheroes2 YouTube channels.

ihhub commented 1 year ago

Google is still reviewing the app. According to the Internet the first review might take up to 5 days so we have to patiently wait...

ihhub commented 1 year ago

It happenned: https://play.google.com/store/apps/details?id=org.fheroes2

ihhub commented 1 year ago

@oleg-derevenetz , somehow google rejected 1.0.3 version stating that version 5 is being used which is very weird.

oleg-derevenetz commented 1 year ago

stating that version 5 is being used which is very weird

Version code 5? Version code needs to be increased with every release.

ihhub commented 1 year ago

stating that version 5 is being used which is very weird

Version code 5? Version code needs to be increased with every release.

Yup. I uploaded with version 4 for per-1.0.3 release but version 5 which is 1.0.3 release was rejected at the stage of uploading AAB package. I might try later to do it again.

oleg-derevenetz commented 1 year ago

I uploaded with version 4 for per-1.0.3 release but version 5 which is 1.0.3 release was rejected at the stage of uploading AAB package.

Somewhere in the Google Play Console UI you should be able to see which packages use which versions.

ihhub commented 1 year ago

image

These are only releases I made.

ihhub commented 1 year ago

This is what I receive when I try to upload 1.0.3 release: image

oleg-derevenetz commented 1 year ago

Try to look in the "App Bundle Explorer" section for a rogue bundle with version 5. At least you can always increase the versionCode one more time :)

ihhub commented 1 year ago

Found!

ihhub commented 1 year ago

Done. Google Play Store has 1.0.3 version. Success!

oleg-derevenetz commented 1 year ago

Hi @Laserlicht

Hi @Laserlicht , there is no need to install fheroes2 in order to copy files into an Android device. You can manually create an archive containing MAPS, DATA, MUSIC and ANIM directories from HoMM2 GoG installation.

Yes, of course you don't need to install fheroes2. I don't do that either. But I copy the extraction scripts. Without them you can't get the ANIM folder in the GOG version. There is no ANIM folder in the installation directory.

This should be addressed by #7055. Could you please test this PR and give your opinion when you have time?