この記事は「個人開発Advent Calendar 2018」の6日目の記事です。
昨日は asmz さんの「IT勉強会検索iOSアプリをリリースした話」でした。
普段はインフラエンジニアとして適当に仕事をしています。
今まで個人でいくつかリリースしてきたサービスの中で1つだけ紹介しつつ、個人開発の良さとか、Apple の厳しさを知ってもらえたらなと思います。
リリースしたサイト
EasyUploader というサイトで巷で言う、「アップローダー」です。
特徴
1. 同時に複数ファイルのアップロードが可能
2. アップロードできるファイルの種類は豊富
3. 自分からURLを共有しない限り、誰にも見られることはない安全性
4. 各ファイルは直リンク可能
5. 面倒なパスワード保護機能はなし(ログイン機能)
6. 有料ユーザーになれば1ファイル100MBまで、ファイルタイプの制限は無
収入
現状、主に Adsense のみ。
クリック単価の幅が大きく一概には言えないけど1日辺り「酒・タバコ」が買える程度。分かりにくいけど許してください。公表するとアカウント凍結されちゃうので;;
作った経緯
ここ最近、Golang の話題を Twitter でよく見ていて、これはいつかできてないとやばいやつだと思ったのがきっかけ。
Golang の公式チュートリアルも読まずに「Golang ファイル アップロード」とか調べて一ヶ月もかからずリリースできました。
結果的に良いコードではありませんが、基本的なことを理解することもできて、社会人になって業務でも使っているのでやってて良かったなあと思います。
本題
長い前置きも終わったので本題です。
本格的にユーザー数を増やそうと思ったら Web ページだけではなく、ネイティブアプリでも使ってもらいたい欲が芽生えてきました。
Swift は全く分からんし、Kotlin も全く分からないので、どっちかに手を付けていたらもう片方でまた時間取られるのは嫌だったので、Flutter に挑戦しました。
やることは単純で WebView で表示しているだけです。
ただ、Apple は厳しかった。
お前のアプリ中身なさすぎてクオリティ低すぎw
このリジェクトを調べていると、自ら申請を取り下げるぐらいには新参ネイティブエンジニアを苦しめるガイドラインなわけで、これを解決できた人はそうそういなさそう(調べる限り)
しかも僕の場合は、アップローダーサイトを WebView で表示しているだけなのでどうやって中身のあるように(見せる)したらいいかを考え、Flutter で AppBar + ナビゲーション機能を取り入れたところ、無事通過。
アプリ内に Android の文字を入れるな
そういうことらしいです。
TOP ページに、アプリもあるよ という表示をしていたわけですが、Apple のガイドライン違反です。
Google には怒られなかったんだけどなぁ😌