[JAVA] The story of releasing the Android app to the Play Store for the first time.



Hi, I'm a freelance engineer (26 years old) working in the web industry in the Kanto area. To be honest, since I made the Android app for the first time this time, I have no idea what is common sense in the Android industry.

What article?

As I said earlier, I will not touch on what I felt during development and technical know-how in this article. To the last, I will briefly write something like that when I made and released such an application.

What app did you make?

It is an Android application that synchronizes with the user's account registered in Duolingo and allows you to easily search for the word you want to search from all the words learned in Duolingo. In addition, you can tap the word you want to see from the word list to see detailed information about that word, such as translations and part of speech.


The main points are as follows.

--You can manage the words you learned in Duolingo. --You can easily search for the word you want to find from the words you learned in Duolingo. --You can see detailed information about words.

By the way, Duolingo itself may not be a major service, so I would like to add that it is a service that allows you to learn various foreign languages for free according to the scientific learning curriculum. You can practice listening, speaking, writing and reading in a well-balanced manner, so if you are interested in learning a foreign language, please use it!

unnamed.png https://ja.duolingo.com/

Why did you decide to make it?

Duolingo is certainly a great foreign language learning site, but it has had the following weaknesses for some time. (I'm sorry if such a feature existed just because I didn't know it)

--There is no function to access the learned words. ――Even if you want to review a specific word, you can't access it directly, so it's difficult for the word to settle!

For the above reasons, we have built a system that displays a list of all the words that the user has learned and selects the word that he / she wants to refer to. Of course, as the number of words learned increases, it becomes more difficult to reach the word you want to refer to, so we have also implemented a convenient search function.

However, this search function has a very simple implementation, so I would like to improve it so that I can perform more advanced searches if I have time!

To make it available not only domestically but also overseas It also complies with laws such as COPPA (Children's Online Privacy Protection Law) and GDPR (EU General Data Protection Regulation). I will write an article about the implementation of this application someday.

Various things to release ...

Rejected to Play Store about 3 times

Yes, no joke, it was rejected twice before the release and once after the release. To be honest, I feel like I was rejected so far and released well. The reason for rejection is as follows.

――Your app is set to be "family friendly", but it doesn't comply with the policy! ――Your app name is similar to the existing brand (Duolingo), so change it!

To be honest, I don't think the examination is so strict until it is released. ** Licking the release of the Android app. ** **

Family policy

The first one, as any Android app developer knows, is the one that can be set from "App Content" on the console. At first, I set it up with the feeling that "it's an educational app, so it's decided for all ages!" ** Google teacher didn't allow such a sweet idea. ** **

After that, I read every corner of the family policy. I didn't know how to solve it, so I decided to change the target age of the crying app to 18 years old or older. Even for the advertisement displayed in the application, if the user is a child, only the advertisement for children is displayed, so it is implemented. I hope we can re-release it for the family in the near future ...

Similar to existing brand name

The second is the rejection related to the app name. Well this is easy to understand, isn't it? I think it was determined that the name of the app was initially "Duovoc", which violated the policy.

I thought it was a good name for me with "Duolingo + Vocabulary = Duovoc" (~~ ** Don't say it's crap ** ~~), Finally, I decided to fix the source that cries and cries without going out into the world.


At the time of personal development, everything can be done with Ikeikedondon, but when it comes to putting it on the market, the eyes of the public are very strict. Before the release, people who are starting to develop Android apps should stop the development once and the rules of the world that the apps they are developing are supposed to be before the trouble of making various busy changes. It may be better to check if it is properly compliant with.

By the way, I released this app, but personally, the degree of completion is about 60% at this stage. There are still many functions that we would like to add so that users can use them conveniently, so if we have the time and energy, we would like to develop them!

Recommended Posts

The story of releasing the Android app to the Play Store for the first time.
Introduction to java for the first time # 2
Android Studio development for the first time (for beginners)
The story of intentionally using try catch for the first time in my life
How to study kotlin for the first time ~ Part 2 ~
How to study kotlin for the first time ~ Part 1 ~
Beginner-friendly Android app publishing procedure, struggling for the first release⁈
Spring Boot for the first time
Spring AOP for the first time
The story of the first Rails app refactored with a self-made helper
Technical causes and countermeasures for the points I was addicted to with the first Android app & Kotlin
Learning for the first time java [Introduction]
The story of switching from Amazon RDS for MySQL to Amazon Aurora Serverless
[Socket communication (Java)] Impressions of implementing Socket communication in practice for the first time
Creating an app and deploying it for the first time on heroku
I tried using Docker for the first time
The story of learning Java in the first programming
The story of introducing Ajax communication to ruby
The basics of the App Store "automatic renewal subscription"
The story of raising Spring Boot 1.5 series to 2.1 series
The story of tuning android apps with libGDX
Impressions and doubts about using java for the first time in Android Studio
I tried touching Docker for the first time
The story of adding the latest Node.js to DockerFile
Unify the Rails app time zone to Japan time
A story about a super beginner participating in the AtCoder contest for the first time (AtCoder Beginner Contest 140)
How to use UsageStatsManager in Android Studio (How to check the startup time of other apps)
[Android studio / Java] What you don't understand when you touch it for the first time
The story of migrating from Paperclip to Active Storage
I want to know the answer of the rock-paper-scissors app
Learn for the first time java # 3 expressions and operators
Oreore certificate https (2020/12/19) for the first time with nginx
[Android] How to get the setting language of the terminal
Learning memo when learning Java for the first time (personal learning memo)
The first step to using Xib instead of StoryBoard
Command to try using Docker for the time being
A summary of what Java programmers find when reading Kotlin source for the first time
[Android] How to check if the Google Play developer service is installed when the app is launched
Changing the debug build signature of the android app to the release signature is useful in many ways.
The story of raising Spring Boot from 1.5 series to 2.1 series part2
I tried to introduce Bootstrap 4 to the Rails 6 app [for beginners]
[Rails] I tried using the button_to method for the first time
[Android] Exit the activity of the transition source at the time of screen transition
20190803_Java & k8s on Azure The story of going to the festival
Android app to select and display images from the gallery
Technical causes and countermeasures for the points that I was addicted to with the Android app & Kotlin (2. Processing related to the camera function of Android *)
The idea of C # (lambda expression, for statement) to chew
The story of pushing Java to Heroku using the BitBucket pipeline
[Android] Change the app name and app icon for each Flavor
Reintroduction to Java for Humanities 0: Understanding the Act of Programming
[Apache Tomcat] The story of using Apache OpenWebBeans to enable CDI
Modeling a Digimon with DDD for the first time Part 1
I tried to make it possible to set the delay for the UDP client of Android by myself
The story of making a binding for libui, a GUI library for Ruby that is easy to install
[Introduction] Installation of Docker Desktop for Mac for the first time and setup of virtual environment construction of CentOS
[Introduction] Setting up GridDB Community Edition in the CentOS container of Docker Desktop for the first time
The play of instantiating java.lang.Void
Think when Rails (turbolinks) doesn't load the page for the first time
The basics of the process of making a call with an Android app
What Android development beginners did before releasing the app in 2 weeks
I want to create a chat screen for the Swift chat app!