意外と語られない自作iOSアプリ 「公開後」の話 (Unity製ゲーム)
←23日 25日→
お久しぶりです。2年ぶり、そして今回でラストランを迎える経済学部 4年のOrfevre 馬体重460kg(-2)です。去年2月にUnity C#で開発したゲームアプリ「1人玉入れ 世界選手権」をリリースし、大学生活の中で中学時代から夢見ていた目標を達成しました!リリース後も1年間アップデートを加え続け格闘を続けたので、今回は開発中の苦労ではなく、あまり語られることのない公開時・公開後で大変だったことや自身の変化に焦点を当ててみようと思います!
リリースしたアプリ↓
見ての通り運動会の玉入れを再現したゲームです。実は2年前に投稿したアドカレで紹介したInput Systemをそのまま使っているので、スマホのタッチ画面だけでなく記事にあるようにXboxやPlayStationのコントローラーやキーボードでも操作できます笑
目次
-
正真正銘のアプリ開発者に! 就活は?黄色い歓声は?
-
精神との戦い。〜世の中そんなに甘くない〜
-
「Appleの審査」は公開後も続く…
-
(終章) これからアプリを出したいと思ってる君へ。
↑クリックしてジャンプ
1章 正真正銘のアプリ開発者に!
↑実際にゼミの最初の自己紹介で自分のアプリ起動させてこのポーズやりましたよ笑
では実際リリース後、どのような変化があったのでしょうか?
結論から言うと「良くも悪くも一目置かれるのは間違いない!」
そして、「プログラミングちょっとやったことある!とは一線を画することが出来る!」です。
私の体験的に、学級委員長、生徒会役員をやったことよりもアプリの注目度の方が高かったのは間違いないと思います。これは単純に希少性の話でもあって、生徒会経験者は周りを探せば意外といますし、自分より技術力がある人は周りに沢山います。しかし企画を考えプログラムを書き、完成させ、実際にストアで公開するという複数要素が揃う人は本当に稀です。加えて世間一般で「プログラミングが出来る」のは凄いことという風潮があるのは誰もが認めるところだと思いますが、実際にアプリをリリースして実機で見せられるのは証拠として、「ちょっとPython書いたことある」と大きな差を生み出すことが出来ます。
多くの大学生が勘違いしている「プログラミングが出来る」の能力信仰。
就活で評価されたのは、そこではなかった。
私のガクチカ(学生時代力を入れたこと)は言うまでもなく、アプリの話をして自分が働きたいと思っていたIT系企業 (通信キャリア、ユニコーン企業、東証プライム上場ゲーム会社)から内定を頂くことが出来ました。私は文系ビジネス職でエンジニアではないですが、開発職でオファー頂けることもあり、”新卒”という点で共通する考えはあるかもしれないので一読いただけると嬉しいです。
就活というのは面白いもので面接時は厳しい質問をされ吟味されますが、合格後は自社に確実に入社してもらえるように、あなたのどこを評価・期待しているのかというフィードバックが貰えます。(電話やZoom、オフィスに招かれるパターン色々あります。)
上記3社のみならず、私のガクチカの評価されたことは共通していました。
それは、「アプリを作るだけでなく、実際に世に出して広げる活動をしていること」で、開発能力ではなく「やり遂げたこと(完成・公開)」「熱量(何をしたか)」の2軸が評価対象でした。理系の方からするとビジネス職だから当たり前じゃないかと思われがちですが、意外にも文系の中ではプログラミングが就活に役立つという迷信は確認されるのです。言うまでもなく能力が高いことに越したことはありませんが、新卒に最も求められているのは、動機や熱量の部分だと実感させられた瞬間でした。エンジニア職でオファーされた時に書かれていた文言も自分の欲しい物を自分で作ってしまうという姿勢や作り込み等の熱量の部分についての評価だったため、理系の方でも単に自分の技術力をアピールすることだけでなく、技術を使って何をしたいのか、なぜそれを取り組んだのか、きっかけは何だったのかを今一度整理して話してみると他の候補者よりさらに上のステップに行けるかもしれません。むしろエンジニアにこそ考えるべきではないかと!上記オファーは有名な会社ではないですが一応上場はしてみて文章とログイン履歴を見る限り、ちゃんと玉入れ遊んでくれたみたいなので、自分の成果物をきちんと外から見える形にしておくことが重要だとおもいます。
結局何が言いたいかというと、実際にアプリを出したことで”今流行りの”プログラミングをやっている人から、本気でテクノロジーが好きでIT業界を目指している人なんだという認識をしてもらえるようになりました。
実体験を語れる強み
面接だけでなく選考過程においてもアプリ公開が役に立ったことがあります。
それは選考を受けている会社のアプリの新機能を3時間で考え、社員にプレゼンするというワークで、社員の方から「この新機能をリリースする時、1番難しいと思われることは何か?」という質問があり、これに対する回答がウケたようでした。私は自分のアプリで時間を割いて新機能を開発してもユーザーから発見されず結局使われず悔しい思いをしたことがあったので、この体験を元に新機能の内容や実装の難しさではなく、「ユーザーに新機能を気づいてもらい実際に使ってもらうまでの最初の過程が1番難しい。起動時に通知画面を出す手はあるが離脱に繋がらないように加減するのが難しいと思う」と答えたところ、その会社も同じ悩みを持っていたようで非常に好感触でした。やはり実体験に勝るものはないようです。
“良くも悪くも”という無駄な一言は何?
アプリを見せる人、言う人は考えるべきだという意味です。残念ながら、現実世界はTwitter上のような作ったものを見せ合って和気あいあいといいねを押しながら一緒に成長していくような温かい世界や、技術が好きで互いに過度に鑑賞することなくそれぞれ好きなことをやっている素晴らしいコミュニティと同じとは限りません。
純粋に尊敬の眼差しで見てくれる人もいれば、無意味にライバル視され不用意に敵を増やすこともありえます。
実際にやってみた人からすると「プログラミングが出来る」は簡易的なものであれば、そんなに難しくないですが、世間から見るとやはりすごいと思われるようなのです。言うのであれば、あまり卑下しすぎると角が立ちますし、図に乗っていればより攻撃の対象になるので、意外と自己紹介や話のネタにするか判断が難しいのです。くれぐれもお気をつけください笑 (ゼミは自己紹介で最初不和を生んだ可能性がある)
あるわけないだろ。そんなもん。でも、印象は絶対良いので言いなさい。
同性と違って不必要に警戒されることはないので、どんどん行こう。でもアプリだけで何とかなるとは思うなよ。以上。
2章 精神との戦い。〜世の中そんなに甘くない〜
Unityでゲーム開発完了→XcodeでBuild→実機で動いた!→1万3千円使ってApple Developer登録完了→App Store Connectにアプリを登録完了→デベロッパのWebサイトとプライバシーポリシーを準備!→ストアの設定と画像&文章を作成・登録!→Appleの審査→合格→やっと公開!
さて何DLされたかな?
高校の時 iOSアプリは無料なら割とDLされる(1日50DLとか)という記事を見た気がする。私の絶望的な頭の悪さ故に高校からUnityでゲーム開発やってたのにアプリは大学2年までかかり競合なんてレベルじゃないくらいレッドオーシャンになってしまった!
結果、公開から1年10ヶ月経過した 2022年12月23日現在
iOS 698DL Android 185DL 合計883DLです。
僕の糞アプリだと現実はこんなものでした。在学中に1万DLとか目標を掲げていましたが、あと数ヶ月では1000DL到達くらいが限界でしょう…
公開直後、まだこの結末を知らない。
今でこそ文体が若干ネガティブな感じを醸し出していますが、公開直後の私はというと…
「ぃやっっっと自分のアプリをリリースできたぜ!!!
これからアップデートと広報頑張って1万DL目指すぜ!!!!!!!」
そう、やる気に満ち溢れていたのです。
玉入れは自分で言うのも何ですが本当によく作り込んだと思いますし、実は色々なアプリ紹介サイトに登録をしてDL数を伸ばそうと頑張っていました。AppRoom アプリゲット 放課後アプリ部 Applishow 思い出せるだけでもこのくらいは登録をしています。
1万DLを目標に掲げ熱を上げて改善に取り組む中、1週間に数DLしかされない想像以上に低空飛行のアナリティクスを見続け、徐々に精神が病んでいったのは想像に難くないでしょう…
赤字事業化
冒頭で書いた通りApp Storeでアプリを出す場合はApple Developer Programに登録し年間99ドル支払わなければなりません。(今年8月に更新した時は日本円で1万2980円でした) Google Play Consoleは初回25ドルのみで更新はなし。
すごく高いというわけではないですが、課金も広告も実装していて利益を出そうと頑張っていたので「赤字」という状態が精神的に辛かったです。また正真正銘のアプリ開発者であり続けるためには途中でDeveloper登録をやめるわけにもいかず、面子のための登録といいますか、何年で黒字にできるのだろうとブルーな気持ちになってしまったのです。ちなみに私はすでに3年分支払っています…
思うようには行かなかった…でも嫌なことばかりではない!
これらの活動が功を奏しているのか全く分かりませんが、実はリリース直後よりは現在の方がDL数は伸びていて収益自体も赤字ではありますが、まったくもって0というわけではなく月にペットボトル飲料1本買えるくらいから ラーメン1杯食べられるくらいには広告収益が出ています。
またアプリ掲載してくれるサイトを探している中でKADOKAWA Game Linkageが運営する電撃オンラインでインディーゲームを紹介するコーナーをやっていることを見つけ、依頼を出したところ記事を執筆していただき2022年1月に掲載してもらえました。この頃までにはアプリも大分見栄えが改善され、ランキングに登録されている名前の数も100を超えていたので、継続していてよかったと思えました。
また面接ではこの広げていこうとする泥臭さも評価していただき、さらにはこの前までKADOKAWAさんと仕事してたので刺さりました!と言われる奇跡もありました。
3章 「Appleの審査」は公開後も続く…
アプリ公開にはAppleの審査が必要という話は広く知られていますが、公開時1回だけでなくアップデート毎に審査を受けて承認を受ける必要があります。大きな改修でなければ基本的に通過しますが、Apple Storeの仕様変更(プライバシー関係とか新機種とか)やUnityのプラグイン更新で思わぬRejectを食らうことも…(これは自分の問題だけど笑) Appleばかりが注目されますがGoogleだってきちんと審査はあり、
審査は厳しいと言われるけど、実際どう厳しいの?
当然Appleほどの企業がフィーリングで審査をしているはずもなくきちんとガイドラインが設定されているので厳しいというより細かいが正しい気がします。上の画像は実際にRejectされた時のメールのスクショですが、この場合は5.1.1 法的事項>データ収集とおよび保存に違反したようです。詳細は後述。ただ私はある程度、却下理由を調べてから作ったので、リリース時そこまで苦戦しなかっただけかもしれません。例えばコンテンツがあまりにも貧相すぎたり、ボタンが押せないくらい小さかったりすると却下されるようです。Appleばかり注目されますが、当然Googleも審査はあります(最近はAppleより長いとか)。
却下理由をまとめている記事もあるので作成/提出前に読んでおくと良いかも。
【2022年度版】iOSアプリの審査リジェクト(審査落ち)理由まとめ
↑この記事でも5.1.1は紹介されてますね。今はSign in with Appleが無いと審査通らないのは知らなかった…
Appleにリジェクトされた理由をまとめたお話
↑多言語対応が完璧じゃないと落ちるとか色々書いてある
個人的に驚いた・知らなかった却下理由(実体験)
①Google Playなど他社サービスの名前を入れると落ちる
→App StoreとGoogle Play合計で500DL突破した際に起動時に感謝のメッセージをいれたポップアップを表示していたらリジェクトされた。
②AppleはOKだが、Google Playでは1stなどの順位を連想するような表現がNG
1周年という意味で1stとアイコンに入れたがPlay Consoleでは却下されてしまった…
蛇足ですが、審査する人によって差があり、本当は違反しているけど通過してしまうのを数回経験しました… え?何でこの前通ったのに今回ダメなの?となる
Appleの変更により対応が迫られるパターン
これが最も面倒臭いと言っても過言ではないストア画像の登録作業…
①新機種の登場
各機種に合わせた解像度で用意する必要があります。私のアプリはiPad対応はしていないですが、iPhoneだけでもiPhone X以降のFace IDのタイプとiPhone SEのようなTouch IDタイプの2機種用に画像を用意する必要があり、さらに玉入れは地味に日本語以外に英語、繁体中国語、韓国語に対応させたため、その言語分も合わせて用意しています。
上記の画像はiPhone 14 ProのDynamic Islandに対応したもの(英語版)でAppleのデザイン変更によって用意する画像が増えました。現在はオプションとなっていますが、今後必須になっていくと思われます。事実iPhone Xが出た時、ノッチ対応の画像用意は必須ではありませんでしたが、今6.5インチディスプレイの項目は必須になっています。
対応しないとアプリが削除されるということは無いですが、準備しないとアップデートが出来ないという状態は長い目で見ると訪れます。
②iOS 14.5 IDFA制限に対する対応
IDFAとは端末の広告IDのことで従来はこのIDを使ってユーザーがどの広告を見ているのか追跡しより好まれる広告を流すターゲティングがされていましたが、プライバシーの観点からユーザーが許可を出さない限りIDを0で返す(追跡させない)方針に変わったため、アプリで広告を出す場合、このポップアップを”最初”に表示させないといけなくなりました。
詳細は上の記事参照。上の方で見せた画像 Guideline 5.1.1の却下はまさにこれです。ATTの確認ポップアップが出る前に使用しているUnity AdsのCookie利用に関するポップアップが出てしまい却下となりました。順序を逆にして再提出したらOK. しかしこれに気づくのに時間がかかってしまったのと、最初の実装時はまだ情報が少なかったので苦戦しました… プライバシー保護は大事ですが、開発者はチェック項目が増えて大変です…
が、また就活の話になりますが、この話が割と使えました笑。
面接では本当にコイツがアプリ作ったのか?と真偽を測るような質問をされますがIDFA対応の話をするとまあ、本物っぽいと思われる。面接官も実際この作業は私達もやってるので的な感じで話してくれたことも。また広告系の会社ではIDFAに絡めた質問を出来て、当然こんな話をする文系大学生はいないので注目はされる。
③突然の仕様変更でBuild Error Bitcodeの非推奨
三田祭期間中、いつもの調子でiPhone実機にアプリを入れて展示しようとするとBuild Errorが… おかしい。これはApp Storeに承認されたXcodeプロジェクトだからBuild出来ないはずがないのに。→Xcode 14でBitcodeが非推奨になったからでした。
Xcode 14からBitcodeオプションは非推奨になった
Bitcodeの技術ついて詳しく知りたい方は上記参照。AppleはA6チップから携帯端末でも64BitのSoCを使っていていますが(この時もLIVEで発表会見てたぞ!)、最後の32Bit SoCを搭載していたApple Watch Series 3がアップデートの対象から外れたことで全て64BitとなりBitcodeが技術的な役目を終えたということです。そんな技術があったことを非推奨になってから初めて知りました…
自分のミスや作業の影響だけでなく、Appleの仕様変更についていかないといけないのがエンドレスで大変という話でした。
終章 これからアプリを出したいと思っている君へ。
これまでの章で述べたようにアプリ開発は茨の道です。思わぬエラーや仕様変更で悩まされるリアルな話が割とネガティブな感じになってしまいました。しかしそれでも挑戦したいと考えている人を私は全力で応援したいと思っています。アプリ開発者は稀な存在です。意図しないエラーで知識がつくこともあるし何より自分の成果物をスマホで見せられるのは、めちゃくちゃ良いです!そして何よりAppleからの審査に合格してApp Storeで実際に自分のアプリが公開された時は達成感を感じます。最初は玉入れと検索してもヒットしなかったのにコツコツアップデートを重ねて現在は割と上の方に表示されるようになりましたし、運動会のキーワードで1位だった時期もありました!(執筆時は3番目)
自分がアプリを出せると本気で信じる人が、本当にアプリを出せるのだと思います。
Good Luck!
One more thing…
長文読んでいただきありがとうございました。
浪人時代から慶應義塾に入れるならこのサークルに行きたいと思ってKCSを見ていました。運良く大学も合格出来て、希望のサークルで、愉快で技術力があって他者を認め合える良い人達が集まるサークルで4年間過ごせて本当に楽しかったし、みんなのおかげで沢山知識もつきました。大学生活を振り返ってみると、やはり他のどこでもなくKCSが自分にとって一番の居場所です!
大学生活がコロナと被り思い通りに活動出来ない時期もありましたが、最後の1年は18,19年入学の人たちと再集合することも出来たし、新しく入ってくれた1年生や2年生というキラキラした現役世代の人たちと交流することが出来て本当に楽しかったです。感謝しかありません。残りの少なくなってきた大学生活、なるべくサークルに顔を出したいですね!
それでは皆さん、我らコロナ世代の分までキャンパスライフ楽しんでくださいね!
See you!
Posted on: 2022年12月27日, by : Orfevre