ホーリーのプログラミング日記

ホーリーのプログラミング日記

エキセントリック・スーパーアプリクリエイター / アプリ総DL数 約180万 / 全然分からない 俺は雰囲気でアプリを作ってる / iOS : apple.co/3m3HxSm / Android : bit.ly/3ma0liZ

Bootstrapを使って簡単なサイトを作ってみた

 

昨日から勉強を始めたBootstrapなんですが、今日が圧倒的に暇だったので、一気にサイトを作るところまで進みました。

 

ドットインストールの動画見る→本を斜め読みする→再びドットインストールの動画見る→サイト作る

 

って流れでやりまして、出来たサイトがこれです。

just make 10 | HorryApps

 

f:id:gevvoihorry:20180904211614j:plain

 

非常にシンプルなサイトだし、なんならドットインストールのやつを丸パクリしてるんですが、とりあえず出来ましたよ。

レスポンシブWEBデザインになってるので、PCとスマホでレイアウトが変わるっていうあれです。

 

しかし実際にやってみて思ったんですが、やっぱBootstrapは便利ですね。僕みたいにCSSに苦手意識を持ってる人は、みんなこれやったほうがいいんじゃないかと思いました。

可変式(レスポンシブ)のサイトを作りやすいのはもちろんだし、最初から仕組みが決まってるっていうのもいいですね。

言ってしまえば自分でCSSを書くよりは自由度が低いんですが、その制限された幅の狭さがいいんですよ。悩まなくていい。

 

これから実際のサイトで書きつつ、練習していこうと思います。

 

P.S.

昨日も書いた気がするんですが、参考にしたドットインストールの動画はこれです。

https://dotinstall.com/lessons/basic_twitter_bootstrap_v5

 

本はこれを読みました。Bootstrap4ファーストガイド。

 

Bootstrap4ファーストガイド―CSS設計の手間を大幅に削減!

Bootstrap4ファーストガイド―CSS設計の手間を大幅に削減!

 

 

いつものように適当な斜め読みなので、90分くらいで読み終わりましたw

まあ大事なのは実践だと思ってるので、いざ書いてみて、分からなかったときに読み返すのが主な使い方になりますね。

何が出来るのかだけ分かれば大丈夫でしょう。多分w

HTMLやCSSに挫折なし

 

プログラミングの勉強って色んな言語がありますけど、HTMLとCSSに関しては挫折がないと思います。

ようは簡単ってことですね。挫折するほど難しくはないでしょう。

 

仮に挫折しそうな人がいたとしたら、それは難しいことのやりすぎだと思います。

WEBデザイナーになるつもりがないのなら、このへんはサクッとで大丈夫でしょう。

初心者が最初に触る言語こそHTMLでありCSSだと思うんですが、このへんは適当でいいんですよ。適当でw

 

厳密な話をするならば、HTMLもCSSもプログラミングではないですからね。

HTMLとCSSってプログラミング言語じゃないの?その違いはなに? - ホーリーのプログラミング日記

 

「プログラミングやるでー!!」って意気込んだものの、HTMLやCSSに多大な時間をかけるなんてのは本末転倒。それは「サッカーやるぞー!!」って言いながら準備体操に半日費やすようなものだと思います。

 

===

 

なんでこんなことを思ったかっていうと、久しぶりにCSSの勉強をしてるからですよ。

CSSフレームワークであるBootstrap(ブートストラップ)ですね。Twitterが提供してる。

これの勉強を今日からしてるんですが「やっぱCSSは簡単だな、変なところに突っ込まなければ楽勝だな」と思ったので「HTMLやCSSに挫折なし」のタイトルを思いつきました。

 

今はドットインストールで動画を観てるところです。

https://dotinstall.com/lessons/basic_twitter_bootstrap_v5

 

ここから本にも目を通せばOKかと。

Bootstrap4ファーストガイド―CSS設計の手間を大幅に削減!

Bootstrap4ファーストガイド―CSS設計の手間を大幅に削減!

 

 

このへんを適当に勉強して、一ヶ月ほど放置してしまった「Totonotter(ととのったー)」の開発を再開しようと思います。

バックエンドのシステムはすでに完成してるので、あとはフロントエンドだけなんですが、ここが鬼門なんですよね。CSSって書くのは簡単だけど、全体を管理するのは非常に大変だから。

 

そこでBootstrapですよ。全く知らないんですが、これがあれば管理が楽になると思います。

CSSを楽にするためならば、Bootstrapだろうがカレー味のう○こだろうが、もう何にでも手を出しますよ。僕は。

 

P.S.

あ、そうそう。書き忘れましたけど、僕のおすすめの本はこれなんですよ。HTMLとCSSの。

 

スラスラわかるHTML&CSSのきほん

スラスラわかるHTML&CSSのきほん

 

 

最近はProgateで勉強する人も多いと思いますけど、書籍もいいですよ。特にこれは分かりやすいんで、おすすめです。

Unityでプッシュ通知(ローカル)出来るようになった話

 

プッシュ通知を実装することが出来ました。いわゆるローカルプッシュというやつですね。サーバーを使わずにアプリ側でやる。

 

 

ついでにバッジも表示させることが出来たんですよ。赤丸で出るあれですけど、やっぱ大事ですよね。

 

プッシュ通知を実装したいって話は先日書いたんですが、まさにこれをやって出来るようになりました。

ローカル通知はサーバー不要。つまりタダでプッシュ通知出来るらしい - ホーリーのプログラミング日記

 

こちらのプラグインを使うことでメッセージは簡単に出せるんですよ。

Unityのローカル通知プラグイン(iOS, Android対応) - スマゲ

 

ただバッジが出せなかったので、それを色々とググりました。

結果的にはこちらを参考にすることで解決。

Unity ローカルプッシュ通知処理を書いてみた iOS編 - とあるプログラマの備忘録

 

バッジの削除はテラシュールブログさんを参考にさせていただきました。

続・ローカル通知を使う - テラシュールブログ

 

現状はとりあえず出せるってだけなんですけど、ここまでくれば、もう楽勝ですよ。

あとは通知したい時間を決めて、現在時刻からの時間差(秒数)を計り、それを引数に入れるだけでOKでしょう。

 

いやー、ついに出来ましたよ。プッシュ通知。アプリによっては、これあると本当便利なんですよね。これから適当に実装していこうと思います。

アプリ作ってる人みんな大好き

 

いきなりの話なんですけど、僕はアプリ作ってる人みんな大好きなんですよね。

主に個人っていうか、少人数のチームっていうか、まあ何でもいいんですが、みんな好きなんですよ。

 

普通に生活してると、「実際に作っちゃう人」になかなか出会わないじゃないですか。

「こんなアイディアがある」とか「こんなアプリ作りたい」って話はたまに聞くんですが、実際に作る人は稀でしょう。

 

でもアプリ開発のコミュニティに目を向けると、「こんなアプリ作りたい」って話じゃなく「こんなアプリ作ってる」って話になりますし、なんなら「こんなアプリをリリースしたよ」って話になるでしょう。

これが実に気持ちいいし、とても好きなんですよね。

 

素人でもプログラマでも誰でもいいんですが、人がアプリをリリースしたと聞くと、なんだか嬉しくなってしまいます。

大概は自分より上手だし、「すごいな、すごいな、尊敬しかないな」って気持ちが湧きますし、それと同時に「悔しいな、負けたくないな」って気持ちも混じります。

嬉しいし、すごいし、悔しい。つまり好きってことになるんですよw

 

誰がどんなアプリを作るにせよ、リリースまで行くのは簡単じゃないじゃないですか。

実際に自分でリリースするまでは分からなかったんですけど、プログラマの人でも難しいですよね?アプリをリリースするのって。

 

アプリ開発におけるプログラミングの割合って3割くらいじゃないですか。

当然作るモノによっても変わるんでしょうけど、世間のイメージほどには高くないですよね。

企画が一番大事だし、イラストやデザインもめっちゃ大事。意外とプログラミングの比率は高くないと思います。

 

だから、プログラマであれゲーム関連の仕事をしてる人であれ、リリースするのは簡単ではないんですよ。

 

ゆえにみんな好き。実際に作っちゃう人は、見てて気持ちいいんで、みんな大好きですね。

ローカル通知はサーバー不要。つまりタダでプッシュ通知出来るらしい

 

今さらながら知ったんですけど、プッシュ通知にはリモート通知(オンライン)とローカル通知(オフライン)があるんですね。

んで、ローカル通知はオフライン、つまりサーバーも不要だからタダで通知出来るってことらしいじゃないですか。

これめっちゃ便利でしょう。無料でプッシュ通知送れるなんて、今日まで知りませんでしたよw

 

こちらの記事にめっちゃ分かりやすく紹介されていました。

Unityでローカルプッシュしたい - エンジニア戦記

 

さらに世の中には、ローカル通知用の便利なプラグインを作ってくださった方がいるんですね。

こちらを使えば、なんか簡単に実装出来る気がします。

Unityのローカル通知プラグイン(iOS, Android対応) - スマゲ

 

そんなわけで、俄然プッシュ通知に興味が湧いてしまいました。

 

基本的にプッシュ通知はウザい

しかしプッシュ通知ってやつも、やりすぎるとウザいじゃないですか。てか正直な話をすれば、LINEとTwitter以外の通知はあまり意味をなしてないんですよね。僕の場合。

恐らく、自分宛てにメッセージが来てるって通知以外は、日頃必要としていないんだと思います。

 

だからゲームで何の通知を送ろうかとも悩むんですけど、放置ゲームでライフが回復したときとかはいいですよね。和尚本で言えばオーブが全部溜まったときとか。

こういうタイミングで通知を送るのはありだと思います。ユーザーフレンドリーじゃないのかなと。

 

アプリの継続率を上げることが大事

とにかく、プッシュ通知を送ることの意味って、継続率を上げることじゃないですか。

他にも色んな用途、意味はあるんでしょうけど、一番大事な役割はこれだと思います。継続率。

なんせプッシュですからね。「俺のこと忘れないでね」って送る意味が一番強いでしょう。

 

プッシュ通知を使って囲い込みをしてる

実際にダウンロードしてないから分からないんですけど、ユニクロとかの実店舗も最近はアプリじゃないですか。店のアプリをリリースしてますよね。

んで、それで客の囲い込みをしてると思うんですよ。具体的に言えばプッシュ通知を送ることで囲い込もうとしてるでしょう。

セール情報やら何やらを、客のスマホに直接送るためにアプリを作ってるんだと思います。

 

実際にダウンロードしてないんで、全部憶測ですけどねw

店のアプリにも色んな機能がありますけど、一番デカイのはプッシュ通知じゃないかと思うんですよね。これを送りたいがためにダウンロードをお願いしてるんだと思っています。

 

最後に

えー、そんなわけで、最近になってプッシュ通知に興味が出てしまいました。

ローカル通知を知ったからなんですよね。これならばお金がかからないので、いいじゃないですか。

適当なテストアプリを作って、自分のスマホに転送する形で色々と試してみようと思います。

 

P.S.

あ、そうそう。書き忘れましたけど、オンラインのプッシュ通知は前にやったことがあるんですよ。

こちらの本を参考にして、ちょこちょこやりましたね。とりあえず送れたは送れたと思います。

 

Unityネットワークゲーム開発 実践入門 UNET/ニフティクラウド mobile backend版

Unityネットワークゲーム開発 実践入門 UNET/ニフティクラウド mobile backend版

 

【解決済み】AppStoreConnectから"NSLocationWhenInUseUsageDescription"キーがないよってメールをもらった話

 

Xcodeからアプリをアップロードしたら、AppStoreConnectからこんなメールが届きました。

 

Missing Purpose String in Info.plist File. Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSLocationWhenInUseUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting spring 2019, all apps submitted to the App Store that access user data will be required to include a purpose string.If you're using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. You can contact the developer of the library or SDK and request they release a version of their code that doesn't contain the APIs. Learn more (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy).

 

 

ザックリ直訳すると「Info.plistにNSLocationWhenInUseUsageDescriptionがないよ」ってことなんですよね。

 

んで、結果から言えば、この警告を無視してもビルドは通ります。

AppStoreConnectにビルドは行ってるし、そのまま審査も通るし、アップデートされたアプリを触っても、何の問題もありませんでした。あくまでも僕の場合は。

 

まあメールにも書いてましたしね。

 

Your delivery was successful, but you may wish to correct the following issues in your next delivery

 

「今回は成功。次は直した方がいいかもよ」って。だからきっと問題ないんでしょうw

 

===

 

まあこんな風に無視でもいいんでしょうけど、気持ち悪いじゃないですか。警告を無視するのって。

最初は無視でよかったんですが、だんだん気持ち悪くなってきたので、自分なりに対処してみました。

話は単純でInfo.plistにNSLocationWhenInUseUsageDescriptionを追加するだけですからね。それをやればOKでしょう。

 

そもそもの話でNSLocationWhenInUseUsageDescriptionっていうのは、位置情報の何かなんですよね。本当に何か。よくは知りませんw

【iOS 11対応】知っておきたい位置情報周りの変更点

 

実際に位置情報も使ってないので、適当にやってみました。

 

f:id:gevvoihorry:20180830062925p:plain

 

めっちゃ見づらいんですが、Xcodeの左端、下の方にあるのがInfo.plistですよ。

これ割りと触るイメージなので、知らない人は少ないのかな?

 

f:id:gevvoihorry:20180830063112p:plain

 

そのInfo.plistで右クリックしーの、Open AsからSource Codeを選びましょう。

 

f:id:gevvoihorry:20180830063358p:plain

 

<key>NSLocationWhenInUseUsageDescription</key>
<string>適当なメッセージ</string>

 

これを追加すればOK。

 

 

f:id:gevvoihorry:20180830064127p:plain

 

Info.plist→Open As→Property Listで元の画面に戻ると、ちゃんとあるのが分かります。

(はなからProperty Listで追加してもいいんですが、何となくSource Codeでやってみました)

 

なんて書いたらいいのか分からなかったんで、"do not use"って書いたんですが、とりあえず大丈夫でしたよ。その後、警告メールはきませんでした。

位置情報なんて使わないから、使わないって書いたんですけどね。本当はもっと適切な言葉があると思います。

 

そもそもの話で、なんでこの警告メールがくるようになったのかも分からないんですが、とりあえずこれで問題なさそうなので、OKとしてみました。

 

まあ、通れば何でもいいんですよ。僕の場合はw

 

軽いノリでAppleのフィーチャーに応募してみた

 

こないだ初めてプレスリリースなるものを送らせていただいたんですよ。

個人開発したアプリのプレスリリースを無料でビシバシ送らせていただいた話 - ホーリーのプログラミング日記

 

そしたら幸運なことに、いくつかのメディアさんが掲載してくださいました。

数字4つと四則演算を使って10を作るシンプルな数字パズル「Just make 10」。簡単と思いながらもサクサク解けると嬉しいし、つまづくとめっちゃ悔しい | 面白いアプリ・iPhone最新情報ならmeeti【ミートアイ】

4つの数字を合わせて10にするゲームアプリ「Just make 10」がリリース – ゲームライターコミュニティ

 

一番嬉しかったのは、ミートアイさんのこちらですね。

 

シンプルな計算パズルであり、それを支える操作体系がストレス無くスムーズに計算ができるようになっており非常によく出来ています。

 

操作を褒められたのは初めてなので、めっちゃ嬉しかったです。操作=プログラミングですからね。移動の車中で読んだんですが、思わずシャウトしていましましたw

 

んで、このときに思ったんですよ。

 

そうだ、AppleGoogleにも送ってみよう

 

って。

 

iOSAndroidもフィーチャーっていうのがありますもんね。特集みたいなやつが。そこに応募してみようと思ったんですよ。

 

f:id:gevvoihorry:20180827212810j:plain

 

(こういうのが、いわゆるフィーチャーですよね。おすすめゲームとか今日のAppみたなやつ)

 

世界中でスマホアプリを売ってるのはAppStoreとGoogle Playだけ。ならばその店頭で紹介してもらうのは非常に効果的でしょう。そんなわけでフィーチャーに応募してみました。 

 

===

 

フィーチャーって、基本的には向こうが選んで決めてるんですが、こっちからもアピールすることが出来るんですよ。前に「くまんぼう」さんがおっしゃってたのを覚えてたので、早速検索してみました。

そしたらこの記事がヒット。見事に書いてありましたよ。フィーチャーの連絡先が。

[Unite]個人ゲームアプリ開発者はいかにして生きていくのか? 「和尚」が語るゲーム作家の生き方指南 - GamesIndustry.biz Japan Edition

(記事自体も最高にいいので、読んだことのない人は一読をおすすめします)

 

んで、結論から言うとAndroidの連絡先は分からなかったんですよ。記事で紹介されてるリンクを踏んだんですが、変なところに飛んでしまいました。

http://goo.gl/VrdbMc

 

f:id:gevvoihorry:20180827183043p:plain

 

ここであってるのか分かりませんが、よく分からなかったんで諦めました。今回Androidは諦めです。

 

んで、AppStoreなんですが、調べてみると今は専用のフォームが用意されてるらしいんですよ。

自身のアプリをApp Storeのおすすめアプリとして取り上げてもらうことをお願いするフォームができました🎉

 

なので早速そのフォームから連絡してみることにしました。URLはこちらですね。

https://developer.apple.com//contact/app-store/promote/

 

実際に飛んでいただければ分かるんですが、基本的に全部英語なんですよね。英語でアピールしなければいけませんでした。

アプリの説明や開発背景などを適当な英語で書いたんですが、どうにもパンチが足りない。

 

「これではいかん、こんなんじゃ目もとめてくれない」と思ったんで、「マーケティングプラン」ってところに自分の熱い想いを書き記しておきました。

 

f:id:gevvoihorry:20180827212220p:plain

 

No plan. Only passion.

 

計画なし。情熱のみ。

 

これがAppleさんの目にとまることを願っています。