見出し画像

ChatGPTを使ってアプリ開発で1ヶ月で収益化を達成したまとめ

iOSアプリ開発未経験から、約3週間でアプリをリリースし、30日目には収益を得るまで達成することができました。はじめるときに、1ヶ月以内に最低でもリリースはしたいと思っていましたが、早くも収益が入ったことは嬉しい予想外でした。
僕は今回、アプリ内での広告を表示することで収益を得ました。この記事を書いていたのは、広告有効化から2日目ですが早くも下の画像のように収益が入りました。

スムーズに開発からリリースできたのは、Twitterでいつもアドバイスをくれる親切な方々と、ChatGPTのおかげだと思っています。

僕自身、以前からアプリ開発はやってみたかったのですが、環境構築とかすごく敷居が高いと思っていました。ところが、ChatGPTを使う機会が増えるにつれて、新しいことへの抵抗がなくなり、アプリ開発をやってみようと思ったのがきっかけでした。

僕は早くアプリをリリースしたかったので勉強を効率化することにとても重きを置きました。この1ヶ月でなるべく早くプログラミングの基礎を学ぶ方法やモチベーションの保ち方、ChatGPTを使っていかに楽をするかで自分なりのかなりいい方法が身についたのでこれを公開することで、アイデアはあるけどアプリ開発難しそうって方や、現時点でアプリ開発を勉強している方のお役に立てればなと思います。

有料記事になっていますが、メインの内容はほとんど無料の内容に含めています。

有料記事には実際に使った

  • ChatGPTのGPT-4にコードの解説をさせる時に使っていたPrompt

  • 30日間実際に行った学習のより詳細な流れ

  • ChatGPTを用いた文法ドキュメントの作成方法

がついてきます。
実際にコードを解説させるPromptを使用すると、入力したコードに対して以下のような出力が得られます。全てコメントアウトしているためそのまま貼り付けると、実行できてかなり便利だと思っています。

// このSwiftUIコードは、ある場所(この場合は"Turtle Rock"という名前の場所)に関する情報を表示するためのシンプルな画面を構築しています。

import SwiftUI

// ContentViewという名前のViewが定義されています。
struct ContentView: View {

    // bodyプロパティはこのViewの本体であり、これが画面に表示される内容を決定します。
    var body: some View {

        // VStackは縦にViewを積み重ねるためのレイアウトです。
        VStack {
        
            // MapViewは地図を表示するカスタムビューです(このコードでは定義されていませんが、
            // 通常は地図情報を表示するためのビューと考えられます)
            MapView()
                // ignoresSafeAreaメソッドは、安全エリア(スクリーン上部のノッチや下部のホームバーなど)を無視して表示するかどうかを制御します。
                .ignoresSafeArea(edges: .top)
                // frameメソッドはビューのサイズを設定します。この場合、高さを300に設定しています。
                .frame(height: 300)

            // CircleImageはおそらく画像を円形にクリップするカスタムビューです(このコードでは定義されていませんが)。
            CircleImage()
                // offsetメソッドはビューの位置を調節します。ここでは、Y方向に-130のオフセットを付けています。
                .offset(y: -130)
                // paddingメソッドはビューの周囲に余白を追加します。ここでは下部に-130のパディングを追加しています。
                .padding(.bottom, -130)

            // さらなるVStack。この中にはテキスト情報が含まれています。
            VStack(alignment: .leading) {
                
                // ロケーション名のテキスト。"Turtle Rock"と表示されます。
                Text("Turtle Rock")
                    // fontメソッドはテキストのフォントサイズを指定します。
                    .font(.title)

                // HStackは水平にビューを配置するレイアウトです。
                HStack {
                    // ロケーションの詳細情報を表示するテキスト
                    Text("Joshua Tree National Park")
                    // Spacerは空間を作成し、隣接するビューを押し出します。
                    Spacer()
                    // ロケーションが存在する州の名前を表示します。
                    Text("California")
                }
                // フォントサイズと色を設定します。
                .font(.subheadline)
                .foregroundColor(.secondary)

                // Dividerは水平線を描画します。
                Divider()

                // このロケーションについての見出しを表示します。
                Text("About Turtle Rock")
                    .font(.title2)
                // このロケーションの詳細説明を表示します。
                Text("Descriptive text goes here.")
            }
            // paddingメソッドはビューの周囲に余白を追加します。
            .padding()

            // Spacerは空間を作成し、隣接するビューを押し出します。
            Spacer()
        }
    }
}

// ContentView_Previewsは、Xcodeのプレビュー機能でContentViewをプレビューするための構造体です。
// SwiftUIではこのような形式でプレビュープロバイダを定義し、設計時にレイアウトを確認することができます。
struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

これらの方法は他の言語でも使用できて、プログラミング学習者にとってはかなり役に立つのではないのかと思います。

1. とにかくChatGPTを使う

今回作業を効率化するうえでこれが一番重要だったと思います。
コードを読む必要があればまず、ChatGPTにコメント付きの解説コードを作成させる。

エラーが出たらとにかくコード全部入れて原因を特定させる。検索する際も、ChatGPTにまず聞くことで検索ワードを作成させていました。
特に僕のような初学者は何が間違っているのか、何が正しいのか判断するには大いに時間を要します。文法への理解も曖昧で、プログラミングに慣れていなかったら打ち間違いも多くなりがちです。

もちろん自分で解決する力も重要です。でも、1日の脳のリソースは有限です。最初のうちはひたすらインプットに時間を割きたくて、コードとにらめっこする時間をなるべく減らしたかったのです。そのためChatGPTに課金して、GPT-4を解禁し、最大限にフル活用を行いました。これにより基礎文法や他人のコードの理解はかなり速くできるようになり、1日に詰め込める勉強量も増えました。

また実現したい処理の言語化にも大いに役立ちます。今までだと、実装したい処理を言語化して、検索する能力が必要でしたが、今では、曖昧な表現でもすぐに具体的なコードを生成してくれるため、思いついたアイデアを可視化するのにも便利でした。

2. アプリ開発に必要なものをリストアップする

これかなり大事だと思っています。僕自身、目標がないと「まあこんなもんでええか!」とだれてしまうタイプの人間のため、明確に実現可能な目標を設定する必要がありました。

僕の5月の目標としては

  • 文法教材を終わらす

  • 簡単なものでもいいからアプリをリリースする。

の2つでした。ストアを見ていると簡単な機能で出している方はたくさんいるのでリリースはいけるだろうなと思っていました。しかしCouseraはちょっとわからず、最初は行けたらいいなーぐらいでしたが、1週間やってみて、いけそうだなと確信し、明確な目標にしました。

また、各週にも目標を設定するのも有用だと思います。こちらは1ヶ月よりも短くなるので、すこしがんばったら達成できるものを設定し、頑張るのがおすすめです。
僕の場合、第3週目だと

  • アプリをリリースする。

第4週目にはアプリがリリースできていたので

  • アプリをアップデートして広告をつける

を目標にしました。
思ったより事務的な作業が多く、自分で決めた期限の夜遅くまで作業していましたが、締め切りがないとだれていたので短期間の目標設定によるモチベ管理は大事です。

3. 文法を参照する媒体を決める

正直、最近では、文法は調べたらすぐ出てくるので書籍も何もいらないような錯覚に陥ります。僕自身も記憶力がないので、とりあえず調べます。ですが、僕は絶対に困った時に参照できるものをもつべきだと思っています。その理由は、毎回の理解するまでにかかる処理を高速化できると考えているからです。
そのように僕が考える理由としては、2つあります。

1つ目は、複数のサイトを見ていると、疲れるからです。

サイトによって、書いてある内容は一緒でも文体やレイアウトが異なると毎回その理解に無意識に脳のリソースが食われます。結構これは重大な問題だと思います。それを解消するためにも、文法などの比較的基礎的な内容は参考するものを決めておけば、常に、どこに何があるか分かったうえで情報が探せて、同じ文体なので比較的、理解が速くなります。

2つ目は、気がそれるからです。

検索してからどのサイトを閲覧するかという決定でもリソースを食います。しばらくすると集中力が切れ、TwitterやAmazonPrime、Instagramの方に流れてしまいます。僕もこれは毎日失敗しています。悔しいです。ですがその可能性を減らすためにもすぐに参照できる場所に移動できるのは大事と考えています。

そういう意味では、何か書籍やスクールの教材を持っているのはいい方法じゃないかなと思います。
僕はそういうのが欲しかったのですが、電子書籍でいいのがなく、Couseraもサブスクリプションが切れるのがあったので、ChatGPT活用して自分用の文法書を作成しています。拡張性があり結構おすすめです。

4. Twitterを始める

僕の場合、独学だったため、学習仲間を見つけるためにTwitterを始めることにしました。これが今ではモチベーションの維持にとても役に立ちました。最初こそ知り合いも全然いなくてむなしく投稿していたのですが、

#駆け出しエンジニアと繋がりたい

ってタグで投稿をすると
Botが必ずリツイートしてくれ、優しい先輩方や怪しい人がいいねをしてくれます。絶対に反応がもらえるので、僕はモチベショーンの維持でかなりお世話になっていました。

このような簡単な投稿でも皆さんいいねをしてくれてとてもうれしかったです。定期的に投稿してると同じようにSwiftを勉強をしてる人が見えてきて、おすすめのサイトや動画が流れてくるのもありがたかったです。また、アプリ開発だけで生活しているようなつよつよ天上人を眺めれるのもすごいモチベ維持になりおすすめです。

#今日の積み立て
#朝活

っていうタグもいろんな方が投稿しててモチベになりますのでおすすめです。僕も基本、毎日投稿しています。あと、僕が投稿で意識していたことは、今日やることと、達成したことを毎日投稿することです。
実際にこれをすることで、何をやるべきか、昨日何をやったかを明確化することができて、便利でした。特に、今日は何もしてない!!ってなるのもいいプレッシャーになりました。

個人開発してると、リリースするまでは評価されることがほぼないのですが、投稿を続けると少しずついいねをしてもらえる数やフォロワーが増えるので数値的なものがみえてがんばろうってなります。
また、困っているとtweetすると優しい先輩方が教えてくれます。AdMob周りやリリースのときは本当にお世話になりました。アプリ開発のコミュニティは優しい方が多いなという印象です。

5. 記事を投稿する

なんでもいいです!簡単なバグでも、文法のまとめでもいいです。
言語化することで、理解が定着しやすくなります。また次回以降は間違えにくくなり、何より自分の書いた文章は同様の事態になった場合に理解が比較的容易です。どんどん投稿しましょう。
思ったより見てもらえて、これもとてもモチベになります。間違ったことなどあれば指摘もしてもらえ、アドバイスももらえるので是非ともやるべきです。
僕もQiitaはなるべく更新をしようと最近頑張っています。初学者目線の文法の話とかTipなどを投稿してるのでぜひのぞいてください!


Qiitaのプロフィール画像


Zennなども今後投稿していきたいなと思っています。あれはあれで問題解決のフローが見えるので面白いなと。

6. とりあえずアプリをリリースする

リリースしてみて、正直とてもめんどくさかったです。
年間12.800円も最初に取られるし、複数のVersion対応もしないといけないし、複数デバイスに対応しようとしたらレイアウト崩れるし、サイト作らないといけないし…
でも僕が作ったのもはとてもシンプルなやつですが、毎日少しずついろんな人が入れてくれています
毎日何人入れたとか、どの地域の人が入れたとかもわかるんですよ。それが面白くて、どんどんアプデや新しいアプリを作ろうという気持ちになっています。

まとめ

ここまで読んでいただきありがとうございました!
iOSアプリ開発を始めてまだ1ヶ月ですが、多くの方と交流できてとても楽しい開発ライフを送れています。これからもがんがん開発していくのでよろしくお願いします。
これが少しでも読んでいただいた方へプラスになっていれば幸いです。


最後に


有料記事の方では

  • ChatGPTにコードの解説をさせる時に使っていたPrompt

  • 30日間実際に行った学習のより詳細な流れ

  • ChatGPTを用いた文法ドキュメントの作成方法

を掲載しています。

ここから先は

3,538字 / 1画像

¥ 500

期間限定 PayPay支払いすると抽選でお得に!

この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?