跳到正文
DEV Community· BT_Sun·· 3 小時前AI 評分42

我討厭充滿廣告的 App,所以自己做了一個,然後也加入廣告

I hated apps full of ads, so I built my own. Then I added ads.

AI 導讀

一名韓國開發者因厭倦玩遊戲時遇到廣告,獨自開發 Party Picker,讓朋友用一部手機玩遊戲,抽選由誰買咖啡或接受懲罰。這款 App 收錄 20 款遊戲,支援 10 種語言,已在 Google Play 的 177 個國家和地區及韓國的 Toss 上架;為維持免費服務,開發者加入廣告,並提供一次性付費關閉廣告。

正文

I'm a developer from South Korea. I started coding about seven months ago, worked as a freelancer for seven months, and now I'm making apps as a one-person business.

This is my first post here. I don't have much experience to give advice from yet, so I'll start with the app I made and how it happened.

When my freelance contract was ending

During those seven months, I was slowly learning what development work was like. As the contract came to an end, I started thinking about what to do next.

I liked building things for a client. I also wanted to know what it would feel like to make something of my own, from the first idea to release. So I decided to try starting a business on my own.

An app for deciding who buys coffee

When I meet friends, we sometimes need to decide who's paying for coffee. Someone takes out a phone and searches for a roulette or a ladder game. The ladder game is also called Ghost Leg, and it's often used in Korea to pick someone at random.

Searching every time was annoying enough. Then we'd open a site, close an ad, and get another ad. After skipping three ads just to play one game, I thought I could make an app for this myself.

I called it Party Picker, or 뽑기파티 in Korean. Friends use one phone to pick who gets a penalty, like having to buy the coffee. Some games are based on luck, such as roulette and finger picking. Others involve skill, like stopping a timer at exactly five seconds or competing on reaction time. I kept making them and ended up with 20 games.

Party Picker home screen and the five-second game

Then I put ads in it too

After releasing it, I had to think about making money. There weren't many options for a free app I was running alone. I ended up adding ads.

It felt a bit funny. Ads were the reason I started making this, and now I was putting them in my own app.

I still wanted to do something about the parts that bothered me. Ads don't interrupt a game. The app lets you know when an ad is coming. There are no full-screen ads for the first 24 hours after installation. You can also turn ads off with a one-time purchase.

Ads I hated vs ads I shipped

I spent time thinking about where the ads would appear and how to make them less annoying. Now I was the person putting them there.

The paperwork was harder than the coding

I got a lot of help from AI with development. The other work was harder for me to figure out: registering a business, preparing to run it, writing a privacy policy, and submitting the app for review. I also had to set up ads, payments, and payout details.

I'm still learning how to do this. Even working out what a document needs can take me a while.

I released the app on Google Play in 177 countries and regions. I also released it on Toss, a Korean finance super app that hosts mini apps. The Toss version is only available in Korea.

Choosing "all countries" in the Play Console took one click. Getting anyone outside Korea to actually find the app was a different problem.

Translating it and trying to reach people outside Korea

The app supports 10 languages. I used AI for the translations and built a small tool to check for missing strings and broken placeholders. I checked the German, French, Indonesian, and Japanese screens with large text settings to see whether the text would fit.

No native speakers have reviewed the translations yet. Those checks help me find missing or overflowing text, but I still don't know how natural all the wording sounds.

My first English store description used "Pick a forfeit." I later realized that could mean choosing the penalty, when I meant choosing the person. I changed it to "Who gets picked?"

One word game still uses an English word list in every language. Its rules depend on the number of letters, so I couldn't just translate the words and keep the same rules.

Lost in translation: before and after

There were platform rules to learn too. Toss rejected my subtitle because of its sentence-style Korean ending. I had written 오늘 벌칙자 5초 대결로 정하자, roughly "Let's decide who gets the penalty with a five-second challenge." I changed it to 5초 대결로 뽑는 오늘의 벌칙자, roughly "Today's penalty recipient, picked by a five-second challenge," and submitted it again.

On Reddit, my first post was removed by a filter. I also found that many communities have account age or karma requirements before you can post. I hadn't expected sharing the app to involve so much checking of rules.

Most people who have installed it so far are in Korea. Being available in 177 countries and being used in 177 countries turned out to be very different things. That's one reason I'm writing in English here.

What I do before asking AI to code

I couldn't have made 20 games, released on Google Play and Toss, and added 10 languages at seven months into coding without AI. I use it so much now that it's hard to imagine doing this without it.

At first, I would just ask it to make a game. The result looked close to what I wanted, but something felt awkward when I used it.

I started writing down the game rules before asking for code. I also described how I wanted the screens to look and set some basic rules for the implementation. For example, the result of a random pick should be decided before its animation starts.

Design first, then let AI build

The more time I spent on that preparation, the better the app got. For me, working out the design first helped more than spending the same effort on how to ask AI for code.

AI wrote the code, but I still had to decide what to make, why it should work that way, and how it should feel to use. I didn't understand how much work that would be when I started.

The kind of developer I am so far

It's too early for me to say I'm a good developer. But doing the planning, design, development, release, and day-to-day work myself has helped me understand what I like doing.

I like taking something that bothered me and making a working app to fix it. Small decisions, like when to show an ad, take up quite a lot of my attention. I'm still experimenting with writing the design and rules before asking AI to build anything.

I've also now released a Flutter app on two different platforms, Google Play and Toss. I want to use this blog to keep a record of that work and as a portfolio, including why I made particular decisions.

The next three posts I want to write

  • Releasing a Flutter web game on Apps in Toss, including what got rejected
  • How I prepare a design before asking AI to code
  • The decisions behind making a random pick fair

For the Toss post, I want to go into more detail about the submission process and the rejections. There was more to it than I could fit here.

You can find Party Picker on Google Play.

來源:DEV Community · dev.to