I’m happy to announce that a new version of Numbers puzzle / 15 Puzzle (Game of Fifteen) is now available on Google Play.
What’s new
* Redesigned/improved interface with beautiful animations
* Dark mode
* Android 13 support
* New 5×5, 7×7, 10×10 game board sizes. 10×10 puzzle is available on 7″ and 10″ inch tablets
* Fixed issue where some puzzles may be unsolvable.
* Pause and continue playing option
* Statistics for all game board sizes
If you liked this article and think it is useful use the buttons below.
As Android developer I have various mobile devices (phones, tablets, watches) with all Android version starting 4.0 (Ice Cream Sandwich, API 14) up to Android 12 (L, API 31). Those devices accompanied by very detailed test scenarios help me ensure best possible user experience 🙂
As Android developer I have various mobile devices (phones, tablets, watches) with all Android version starting 4.0 (Ice Cream Sandwich, API 14) up to Android 12 (L, API 31).
When prepping release for an app, all test cases for that particular app are performed on each device. For each Android version I keep track of active installs and user rating. Applying that data in the test scenario. This helps me focus more on particular set of for ex. unhappy users running specific OS version.
Each Android version has number of active installs and rating. Going to Google Play Store dev console and collecting this information by hand is somehow tedious job, so I decided to automate it using ‘Google Cloud Storage Util‘ and a bit of Windows PowerShell scripting.
How
Our task is to fetch Google Play store monthly reports for app installs and ratings by OS version, filter them and get data that can easily be copy pasted in the ‘Active Installs‘ tab of the test scenario.
1. Cloud Storage bucket ID
Google Play reports, beside dev console can also be accessed via Google Cloud Storage bucket associated with your developer account. You can go to “Download reports”, pick the report type you want and select “Copy Cloud Storage URI” next to it.
Google Play Cloud Storage URI
The url will look like this
gs://< bucket_id >/stats/installs/
gs://< bucket_id >/stats/installs/
where < bucket_id > will be your actual developer account cloud storage bucket. Remember this bucket id. We will be using it later.
We will be utilizing the gsutil.cmd assuming that the script is available in system PATH.
Next we need to authorize gsutil to access our cloud storage data. Follow the instructions on how to Authenticate stand-alone gsutil. For ‘project-id’ use the project ID of the app you want to get reports for. I’m interested in retrieving reports for GSM Signal Monitor & SIM Card Info app so I will be using it’s Cloud Storage project id.
Cloud Storage Project ID
If everything is setup correctly, opening command prompt and typing “gsutil help” should produce result similar to the screenshot below:
gsutil help command output
3. PowerShell magic 🙂
Script below will fetch installs and ratings reports from Google Play for specific app for the current month. Will get the last date available in the install report, filter both install and rating reports by ‘last available date’ and strip the reports from rows / columns we are not interested in. It will iterate over the active installs and will try to match installs with the ratings.
Replace $bucketId and $appPackageName with your cloud storage bucket id and your app package name.
Reports fetched from Google Play and the final output will be saved in the current working directory.
Upon execution you will get a report for your app active users/ratings by Android version, based on the data for the last date available in the install report nicely opened in your default text editor.
Script output: Active users and ratings.
P.S: Enable column selection mode in Notepad++ to get only the numbers. Use the arrow keys or your mouse while holding Shift + Alt.
P.S1: More info on how to retrieve various reports with gsutil here.
Feel free to modify the script to suit your reporting needs 🙂
If you liked this article and think it is useful use the buttons below.
Once upon a time all my Android apps and VMSoft related stuff were part of one big BitBucket git repository along with an issue tracker. This was a good idea when being an Android dev was just a hobby for the weekends and not my primary job.
Enough rambling 🙂 , this blog post is about moving files from one git repository to another and preserving your history.
Our goal is to move a single directory from one big Git repository to it’s own repository, we would like to preserve the commits history for that specific directory also.
In this example our big repo will be called A and our new repo that will host it’s own subset of files will be called B
First filter the files from the big repo (A) by leaving only the ones you need:
git clone< repo A url >cd< repo A directory >
git clone < repo A url >
cd < repo A directory >
Remove the “origin”
git remoterm origin
git remote rm origin
and filter A by < directory_to_move >. This action will go trough all the history and files and remove anything that’s not in < directory_to_move >.
More info on the inner workings of git filter-branch here.
filter-branch will leave you with the contents of < directory_to_move > in the root of repository A. Commit the changes and we can continue with the next step.
git add .
git commit
git add .
git commit
Moving to the new repository
Link repo A with repo B. The command below will make repository A branch of repository B.
git remote add repo-A-branch <git repository A directory>
git remote add repo-A-branch <git repository A directory>
According to the msysgit wiki on GitHub and the related fix this error, Filename too long, comes from a Windows API limitation of file paths having 260 characters or fewer.
Resolution
To resolve this issue, run the following command from GitBash or the Git CMD prompt (as administrator):
git config --system core.longpaths true
git config --system core.longpaths true
This will allow file paths of 4096 characters.
If you liked this article and think it is useful use the buttons below.