個人アプリ開発で月収5万円目指す

アプリ個人開発 まるブログ

アプリ開発覚え書き

厳選!私が実際に役に立ったUnity,iOS おすすめ動画講座【随時追加】

f:id:marumaro7:20200624224539p:plain

はじめに

みなさんプログラミングの勉強どうやって進めていますか??

私のおすすめは断然これ!


Udemy です。

友人から教えてもらったのですが、一流講師の講座が時間を選ばず受けられます。

セール時には1000円台から受講できるので本を買うより安くコスパ最強です。

エンジニアにマンツーマンで教えてもらおうと思うと、
1時間2500円が相場なので、それを考えると定価で購入してもお得だと思ってます。
とはいうものの、副業するならコストはできるだけ抑えたいので購入はセール時が狙い目です。

質問し放題に加えて、30日間返金保障なので安心して購入できます。

Udemyというか動画教材の欠点としては、
あとで見返すときに「確認したいところがわからない」
ということがあるので、Qiitaやブログなどでメモを残しておくと良いかもしれません。

Udemyでは細かくセクションごとに分かれ探しやすくなっていますが、
それでも不思議、私は探す笑

私が実際に役に立ったUdemyのおすすめ講座を紹介します。

Unity教材

Unity ゲーム開発:インディーゲームクリエイターが教える C#の基礎からゲームリリースまで【スタジオしまづ】

Unity ゲーム開発:インディーゲームクリエイターが教える C#の基礎からゲームリリースまで【スタジオしまづ】

【感想】
Unity教材で迷ったらこれで間違いなし! marumaro7.hatenablog.com ↑こちらの記事でも紹介しましたが、Unityの基礎だけでなく、
超つまづきやすいAndroidiOSのリリース手順まで解説しています。
なんですかこれ、、、神ですか?

Unity3D入門の決定版!RPG開発の基本をUnityインストラクターと共に進めるハンズオンコース【スタジオしまづ】

Unity3D入門の決定版!RPG開発の基本をUnityインストラクターと共に進めるハンズオンコース【スタジオしまづ】

【感想】
Unityで3Dをやりたいならこれ!
基礎から学ぶので初心者でも安心♪

Unityゲーム開発入門:Unityインストラクターが教えるマリオ風2Dアクションゲームを作成する方法【スタジオしまづ】

Unityゲーム開発入門:Unityインストラクターが教えるマリオ風2Dアクションゲームを作成する方法【スタジオしまづ】

【感想】
自分でマリオみたいなゲームが作れる幸せ!
マリオメーカーよりも自由に!

[初心者向け] Blender 2.8でアニメーションを作成して Unity で動かすまでの30分講座

[初心者向け] Blender 2.8でアニメーションを作成して Unity で動かすまでの30分講座

【感想】
3Dモデルに命を吹き込む!
Unity×Blenderで制作の幅が広がります。
Blenderのインストールは事前に必要です。

Unity2Dパズルゲーム開発入門:Admob広告実装と高速にスマホゲームを量産する実践テクニック講座【スタジオしまづ】

Unity2Dパズルゲーム開発入門:Admob広告実装と高速にスマホゲームを量産する実践テクニック講座【スタジオしまづ】

【感想】
とにかく量を作る!
なるほど量産テクニックです。

Unityインストラクターが教えるシャドウバースのような本格2Dカードゲーム開発コース【スタジオしまづ】

Unityインストラクターが教えるシャドウバースのような本格2Dカードゲーム開発コース【スタジオしまづ】

【感想】
Unityのチュートリアルをなにかしらやったことある人向けです。
カードゲームの基礎はここに。

iOS教材

【iOS13対応】未経験者がiPhoneアプリ開発者になるための全て iOS Boot Camp

【iOS13対応】未経験者がiPhoneアプリ開発者になるための全て iOS Boot Camp

【感想】
ベストセラーだけあって初心者でもわかりやすい
Firebaseとの連携も解説されているのが個人的に嬉しいポイントです。

おわりに

Unity教材全部スタジオしまづやないか!と思いました?
だってわかりやすいんだもの、、、

【Kindle本】購入・ダウンロード済みKindle本のアップデート方法

はじめに

出版中のUnity C#本をあらためて見返すと
誤字脱字や句読点について気に入らない点が50ヶ所ほどあったため、アップデートしました!

また、目次を折りたたみ可能にして検索性を上げています!
(折りたたみ可能なのはPC版です。モバイル版は常時展開されたままになります。)

Kindle本執筆の経緯はこちら↓ marumaro7.hatenablog.com

↓編集後の紙の本はこちら↓ marumaro7.hatenablog.com

新しいデータを登録して無事配信開始されたのですが、
これまでにダウンロードされている方は更新されない模様

そのため、アップデート方法を書いておきます。

注意!
アップデートを行うと保存されているハイライト、ブックマーク、メモが削除されます。

アップデート方法

以下の手順でAmazonカスタマーサービスへアクセスし
更新の要望を連絡することでアップデートを反映できます。


1.Amazonカスタマーサービスへアクセス
https://www.amazon.co.jp/hz/contact-us/foresight/hubgateway


2.「Kindle電子書籍リーダー、FireタブレットKindle無料アプリ、または」をクリック


3.「Kindle電子書籍/デジタルコンテンツ/コミック」をクリック


4.「Kindle本とコンテンツに関するよくある質問」をクリック


5.「その他のお問い合せ」をクリック


6.「カスタマーサービスへ連絡」をクリック


7.「今すぐチャットを開始する」をクリック


8.チャット画面で依頼
私が連絡した時は以下の質問でした。

 Q「商品のお届けについてのお問い合わせですか?」
 A「いいえ」


 Q「お問合せ内容を教えてください。」
 A「Kindle本の同期とダウンロード」


 Q「どちらのデバイスをお使いですか?」
 A「その他」


 Q「支援のオプションは次のとおりです」
 A「チャットでサポートを受ける」


チャット欄に依頼内容を打ち込みます。

・購入の場合
 「購入済みのKindle本を最新のバージョンにしたいです。」
 「書籍名は「◯◯」」
 「注文番号は「◯◯」」
 と入力するとスムーズです。

kindle unlimitedでレンタルの場合
 「kindle unlimitedでレンタル済みの本を最新のバージョンにしたいです。」
 「書籍名は「◯◯」」
 「レンタル日は「◯◯」」
 と入力するとスムーズです。

おわりに

アップデート承認後の1日後にチャット連絡を入れたのですが
反映には3日ほどかかるようで最新版と言われアップデートができませんでした。

数日後アプリ内を確認してみると勝手にアップデートされていたため
もしかすると連絡しなくてもアップデートされているかもしれません。

本書が少しでも開発のお役に立てましたら星5付けいただけると大変助かります。
ではでは〜。

紙の本になりました!「もっと早く教えてほしかった!Unity C#入門」予想外の価格になった話

はじめに

以下のKindle書籍を紙の本にしました!
実際の本がどんな感じなのかと価格設定の裏側?にふれていきたいと思います。

もっと早く教えてほしかった!Unity C#入門


制作経緯はこちら

marumaro7.hatenablog.com

紙の本はどんな感じ?

大きさ

本の大きさはA4用紙よりひとまわり小さいくらいで厚みは約3cmです。
(494ページあります。)

先輩方の書籍と並べてみると以下の画像のようになります。
偉大なる書籍「Unityの教科書」、「Unityの寺子屋」と同じようなサイズ感にしました。

内容

申請時に フルカラーor白黒 を選択できるのですが、せっかく出すならフルカラーでしょ!
ということでフルカラー設定にしました。

文字間隔などは以下の画像のとおりです。


ちゃんと本になっていて感動!
これでわからないことがあったら本を見て開発ができる!
細かいことはいちいち覚えていられない性分なのでこれは嬉しい

価格の話

販売ページにいってもらうとわかるのですが、
ペーパーバック(紙の本のことです)の価格が技術書としてはかなり高い価格になっています。

これはAmazon側へ支払う印刷代、手数料、消費税が乗っているため
このような価格になっています。

Kindle版、ペーパーバック版のどちらが1冊売れても私に入る印税は変わらないという内容

なので利益をかなり上乗せしているように感じられると思いますがそこは強くNOと言いたい!
NO利益!


-以下、ひとり言-

学ぶ順番は考えぬいたので
チュートリアルが終わった方のスクリプトを学ぶ教材としては
一番時短できる内容だと本気で思っています。

エンジニアに教えてもらおうとすると1時間2000円は最低でもかかるわけで、
それを考えるとかなり安い価格になっているとは考えたりしています。

とはいうもののやっぱり書籍としては高い!

おわりに

もともと自分のために作ったものなので
全く売れなくても紙の本をGETできただけで大満足!

高くて買わないけど少し応援してやっても良いかな という方は、
本書ほしいものリストに追加していただければ幸いです。
(リストに入れていただけるだけでもプラスの効果があるようです。)

ではでは〜。

【Unity】Android API level31設定後の共有時クラッシュ対応 共有アセット:NatShare

環境

Unity2020.3.18f1
GoogleMobileAdsv7.0.2
NatShare1.2.5→1.2.6
Android Logcat1.2.3

はじめに

AndroidアプリでターゲットAPIAPI level31へ上げた際の対応です。

NatShareのアセットを使用して画像共有していますが、
実機で共有ボタンを押すとアプリがクラッシュするようになっていました。

原因調査

実機でしか現象が確認できなかったため
ログ画面が見れる「Android Logcat」を導入し確認しました。

これはUnityが用意してくれたパッケージとなっており、
インストールするだけだったので導入はとても簡単です。

marumaro7.hatenablog.com

共有ボタンを押したエラーは次のようになっていました。

メインのエラーに対して翻訳をかけた結果が以下です。

必要な設定が足りていない様子。

解決策

NatShareのバージョン1.2.6で対策されていそうだったのでこちらを導入しました。
(変更前のバージョンは1.2.5)

導入方法はこちらを実施しています。

marumaro7.hatenablog.com

結果、共有機能が正常に動作するようになりました。

おわりに

API level31に上げた際のほかの対応として下記も対応しています。
はなちる様のブログにはいつもお世話になっています。

www.hanachiru-blog.com

他の記事

marumaro7.hatenablog.com

【Unity】Androidの実機クラッシュログを簡単に確認する方法

環境

macOS Monterey12.4
Unity 2020.3.18f1
Android Logcat1.2.3

はじめに

Androidの実機でのみクラッシュが発生したため
実機クラッシュログを調べる必要がありました。

Android Logcatを導入したらとても簡単に確認できたので紹介します。

Android Logcat導入方法

Android Logcatは、Unityが用意してくれたパッケージです。
パッケージマネージャーからインストールするだけで
実機ビルド時に実機ログが見れるようになります。

導入手順
①ウインドウ
②パッケージマネージャー
③「Unity レジストリ」 へ変更
④検索窓で「android」と入力
⑤「Android Logcat」をインストール(画像はインストール済みです。)

使用方法

特に特別な操作をする必要ありません。

通常の実機ビルドを行う要領で「ビルドして実行」を押すだけで
ビルド完了後にAndroid Logcatというウインドウが勝手に立ち上がり、
ログを確認することができます。

Android Logcatサンプル画面

ログ確認ができるのは「ビルドして実行」を押してアプリ起動した時だけのようです。
実機側で一旦アプリをタスクキルで閉じて再起動しても再起動後は検出されません。

おわりに

Andoridのログ確認は面倒なイメージがありこれまでやっていませんでした。

今回とても簡単にログ確認できることがわかったので
今後は積極的に使っていきたいと思います。

他の記事

marumaro7.hatenablog.com

参考

qiita.com

【Unity】列挙型の要素をランダムに取得する方法

はじめに

列挙型の要素をランダムに取得したくなったのでメモ

コード

以下を実行することで、ランダムに列挙型の要素を取得できます。

using System;
using UnityEngine;

public class TestScript : MonoBehaviour
{
    //列挙型の宣言
    public enum TEST_TYPE
    {
        UP,
        DOWN,
        RIGHT,
        LEFT
    }

    //列挙型TEST_TYPEの変数testTypeを宣言
    private TEST_TYPE testType;

    private void Start()
    {
        //1000回繰り返して確認
        for (int i = 0; i < 1000; i++)
        {
            RandomTest();
            Debug.Log(testType);
        }
    }

    private void RandomTest()
    {
        //enum型の要素数を取得
        int maxCount = Enum.GetNames(typeof(TEST_TYPE)).Length;

        //ランダムな整数を取得
        int number = UnityEngine.Random.Range(0, maxCount);

        //int型からenum型へ変換
        testType = (TEST_TYPE)Enum.ToObject(typeof(TEST_TYPE), number);
    }
}

実行結果

ランダムに要素が取得できていることがわかります。

ざっくり解説

ランダムに取得する肝の部分は、以下のコードになります。
内容はコメントのとおりです。

    private void RandomTest()
    {
        //enum型の要素数を取得
        int maxCount = Enum.GetNames(typeof(TEST_TYPE)).Length;

        //ランダムな整数を取得
        int number = UnityEngine.Random.Range(0, maxCount);

        //int型からenum型へ変換
        testType = (TEST_TYPE)Enum.ToObject(typeof(TEST_TYPE), number);
    }



列挙型の要素は特に指定しない場合、
設定した文字列に対しては、数字が0から順に割り当てられます。

    //列挙型の宣言
    public enum TEST_TYPE
    {
        UP = 0,
        DOWN = 1,
        RIGHT = 2,
        LEFT = 3
    }


今回、これを利用してランダムな要素を取得しています。
1.列挙型の要素数を数える(今回は4) 

2.列挙型の要素数の値を最大値としてランダムな数を取得
 (最大値は4で設定されるため、0,1,2,3のいずれかの数字が生成される)
 ※ランダム関数 整数を返す場合は最大値が含まれない

3.取得した数字と対応する列挙型を取得
 (2が生成された場合、2と対となる要素 RIGHTを取得)

おわりに

最初、列挙型が0から始まるのを忘れていて
ランダム関数の最大値を+1でコードを書いていました。

これをすると列挙型の範囲を超えるパターンがあるのですが、
エラーは発生しないのでバグを埋め込んだことに気付きにくいです。

気をつけてください〜。

        //ランダムな整数を取得
        int number = UnityEngine.Random.Range(0, maxCount+1);

他の記事

marumaro7.hatenablog.com

爆速アプリ開発者を目指していたらKindle出版していた話

はじめに(本のリンクはこちら)

こんにちは〜! まる です!

突然ですが!この度!!Kindle出版しました!!!(突然すぎる)

ドドーン!!!


もっと早く教えてほしかった!Unity C#入門

内容としては、Unityでスクリプトを使えるようになる本です。
調子にのって500ページくらい書いてしまいました。

今回は、この本を出した経緯とKindle出版する中で得た気付きを書いてみたいと思います。
もしかしたら、あなたもKindle出版したいと思うようになるかも!?

アプリ開発収益向上における大きな壁

私は現在、会社員をしながらアプリ開発をしたりしているわけですが、
将来的にはクリエイター業で生きていきたいと考えています。

思い切って専業でやってやる!と時折思ったりもしますが、
クリエイター業はいきなり収入が途絶えることが普通にありえる世界。
そのため、月50万円くらい稼げる実力がないとしんどいのではと考えています。

今の新規アプリ開発スタイルは、UIを考え、
スクリプトをアプリに合わせていちから作っていくスタイルをとっている状況です。
そのため、あらゆるところに時間がかかり、
早くてもリリースまで2ヶ月、3ヶ月と かなり時間がかかっています。

そして、リリースしたからといって確実に売れるわけでもない。
むしろ出してみないとわからない。

このような状況の中、
これまでと同じやり方をしていても一生会社員だなと悟った私は考えました。
稼げるアプリの型を作り、ゲーム性だけ差し替えて高速リリースするべきだと。

(勘の良い開発者の方なら2作目、3作目で水平展開されていますね。汗)

2週間に1個のペースでリリースできれば、多少外したとしてもダメージは最小限です。
うん。いける。
ただ問題なのが、稼げるアプリの型を作ること!

これは難しい、何が難しいってプログラムの抽象化をうまくやっておかないと
水平展開したときに専用の処理を用意する時間が必要になってくるからです。

なんとなくの理解でプログラムを組んでいるような実力では到底実現できない領域です。
私は、コードがぐちゃぐちゃでも目標の動きを強行で実現するという
残念なコーディングスタイルでしたので、
一回り二回り成長する必要があることを強く感じていました。

最終的には設計を学ばなければいけないのですが、
それ以前の問題で、C#やUnityのスクリプトに対して
基礎が固まっていないのを感じていたため
改めて基礎から勉強することにしました。

やばい、すぐ忘れる → そうだ、本にしよう

いざ本などで基礎勉強を始めると、
あーこれはそういうことだったのか。とすごく学びになりました。

例えばif文、
これまで、条件が正しかったら処理されると考えていたのですが、
これは間違っていて、if文にはbool型の入力がされ、処理の実行が判定されています。
trueだったら処理する、falseだったら処理しないという具合です。
将来的には、bool型を返す関数をif文に入力したりするため、
これが頭に入っていないと将来的につまづくことになるんですよね。

とまぁいろいろインプットしていくわけですが、
残念なことに記憶力がなさすぎてすぐ忘れちゃうという状況に。

頭の中でこんなイメージかな、とその場は理解しても数日後には忘れてしまう。
記憶力が全くないのはもうしょうがないので、何かに残すことを考えました。

残す媒体は、ブログでもよかったのですが、
以下の理由からAmazonのサービスを使用して、
紙の本を出版することにしました。

・ブログで参照記事が入り乱れるのが嫌。
・自分が書いた記事を本として使いたい!
・本の印税というアプリ収益とはまた別の収入源がほしい!
Kindle出版の世界を体験してみたい!
Amazonが印刷、発送までやってくれるので無在庫&放置で本の出版ができる。

Amazonで紙の本を印刷・発送してくれるサービスは、
2021年10月から開始ということで
まだ一年くらいしか経っていない新しめのサービスのようです。

とりあえず電子書籍Kindle版だけリリース

電子書籍版は改訂ができますが、紙の本となると改訂ができないため
とりあえず、電子書籍版だけリリースすることにしました。

2022年8月12日に本作ります宣言して
Kindle版をリリースできたのが2022年12月24日でしたので、
制作期間は約4ヶ月半でした。
(新作アプリが1本作れちゃいますね。)

しばらく大きな問題がないか様子を見て紙の本もリリースしたいと思います。
(早く現実世界に具現化したい!)

ちなみに内容としては以下のような項目について書いています。
(詳細項目は約150項目ほどです。)

第1章 基礎知識
1.簡単なプログラムの実行
2.変数を使用した計算
3.条件分岐
4.繰り返し処理
5.配列
6.関数(メソッド)

第2章 覚えておきたい基礎知識
1.C#
2.Unity GameObject編
3.Unity コンポーネント
4.Unity 既存コンポーネント操作編
5.Unity イベント関数編
6.Unity その他

第3章 オブジェクト指向
1.クラス
2.カプセル化・継承
3.ポリモーフィズム

第4章 ステップアップ
1.デリゲート
2.ラムダ式
3.非同期処理
4.その他のC#/Unity機能
5.豆知識

ブログと同じ内容の記事で収益化できる

ここまで読んでくださった方に向けて
この内容でKindle出版すれば簡単に収益化できるのでは?
という内容を共有しておきたいと思います。

読み放題プランのKindle unlimitedで出版設定していると
1ページ読まれる毎に約0.5円の収益が発生するようです。

そのため、記事を書いてリリースし、
読んでいただけた時点で収益化ができてしまいます。
ブログ記事を書く感覚で内容を書いていけば良いのでとても簡単です。

アプリ開発のように広告実装で悩んだり、
ビルドエラーが出たりしないのがすごく良い点だなと感じています。

「書くことなんてないよ〜」と思われるかもしれませんが、
アプリリリースしたことがある方なら大丈夫です。
アプリリリースして収益を得るまでにやったこと・注意点を書けば良いのです。

アプリ開発をこれから始めたい方にとっては、
何をすべきかがよくわからない状態なので、
以下のようなことが知りたいはずです。
・どんなパソコンを使っている?
・どんなソフト使ったの?
・どこでつまづいたの?
・どうやって学んだ?
・いくら稼げるの?

こういった情報は開発者によって様々なので、
全く同じになることはなく、自然と違いが出てきます。

特に、アプリ開発においては、
今もその情報で動作するというだけでも貴重な情報となります。

Kindle出版の方法については、
kindle unlimitedの読み放題でたくさん書籍がありますので
特に悩むことはないでしょう。

以上、Kindle本を出版して得た気付きでした。

おわりに

今回出版した本の最後に書いた「おわりに」のところは、
こんなこと書いてよかったんだろうか、と今でも思うのですが、
誰も最後まで読んでいないからもういいやと思っています。

万が一読む機会があったらぜひ感想聞かせてくださいね。 ではでは〜。

【Udemy】初心者OK!Unityアプリ開発収益化 講座まとめ(無料有り)

はじめに

こんにちは、ゲーム開発プラットフォーム「Unity」を使って
個人アプリ開発をしている まる です!
まる|アプリ開発 著書:もっと早く教えてほしかった!Unity C#入門 (@maruappdev) / Twitter

最強のインプットはアウトプットということで、
勉強も兼ねてUdemyにてアプリ開発収益化に関する講座をリリースしております。

※現在、講座総登録者数は2300名様を突破しました!
 ご登録していただいた方、本当にありがとうございます!


講座本数が増えてきましたので、
講座情報や割引クーポン情報などをこの記事にまとめることにします。


講座一覧

現在4つの講座をリリースしております。

【Unity】Android & iOS対応 超簡単!ボタンクリックゲームを作成する方法

講座時間:52分

Unityで簡単なスマホ向けゲームを制作する講座です。
アプリ作成の雰囲気をつかんでいただくことができます。
無料です!

www.udemy.com


Unityのインストールから学びたいという方は、
Unity公式さんが出されているこちらの無料講座がオススメです。
Unityの無料チュートリアル - ユニティちゃんが教える!初心者向けUnity講座 | Udemy

【Unityアプリ収益化入門】「急上昇アプリランキング1位」を獲得した個人開発者が教えるユニティスマホアプリ開発コース

講座時間:4時間30分

Unityで簡単なスマホ向けゲームを制作し、
広告付きの GooglePLay と App Store にリリースする講座です。
アプリリリースだけでなく、広告を付けて収益化することもできるようになります。
また、収益をアップさせるポイントも併せて解説しています。

www.udemy.com


収益アップのポイントを自分のアプリで実践した結果がこちらです。

marumaro7.hatenablog.com

【Unityアプリ収益化入門2】コピペで簡単課金実装!!アプリ内課金を最短距離で実装する ユニティスマホアプリ開発コース

講座時間:3時間

アプリリリースができるようになったら、アプリ内課金を付けてみましょう!
手順自体は決まっているのでコピペで実装するだけです。
私が実装した時は、ネットに情報が無くかなり苦労しましたが、もう大丈夫です。

実際にアプリ内課金商品を販売してみると、
こんな価格でだれも買わないだろうという価格で設定しても
意外と購入していただけますので世界の広さを感じます。

www.udemy.com

【Unityアプリ収益化入門3】コピペで簡単プッシュ通知機能実装!収益向上を目指すユニティスマホアプリ開発コース

講座時間:4時間

アプリリリースができるようになったら、プッシュ通知を実装するのも良いです。
こちらも基本的なところの手順自体は決まっているためコピペで実装するだけです。
私が実装した時は、ブログ記事などにこれといった情報が無く、なかなかに苦労しました。

こちらの内容は、一部ブログ記事でもまとめておりますので、
実際に実装してみて、もっと先が知りたいのであればご利用ください。

marumaro7.hatenablog.com

収益化入門3とありますが、収益化入門2のアプリ内課金は実装していなくても
プッシュ通知機能は実装可能です。

www.udemy.com

おわりに(本出版しました!)

本出版しました!
こちらを読むことで、広告実装や課金実装の内容がより深く理解できるようになります。
現在、kindle unlimitedで読み放題設定にしていますので、良かったら見てみてください。


もっと早く教えてほしかった!Unity C#入門

最後まで読んでいただきありがとうございました。 ではでは〜。