忘れてた。ってか忘れてる。とにかく公開したかったからなぁ。クリスマスも終わったことだし、思い出しつつ書き留めとこ。
なにしたっけ…
あれマジで何したっけ。
アプリの準備
バージョンの記載と署名付きビルド
https://developer.android.com/studio/publish/?hl=ja
最初ここを見た…のかな。で、ここでバージョンの記載と署名付きビルドを知った。
https://developer.android.com/guide/topics/manifest/manifest-element?hl=ja
https://developer.android.com/studio/publish/app-signing?hl=ja
https://developer.android.com/studio/publish/versioning?hl=ja
App Bundleはよく分からんかったので使わなかった。
APIKeyってアプリ内に直で書いていいの?
と思ってちょっこす調べた。
https://teratail.com/questions/59248
GoogleAPIの場合、フィンガープリント発行してあーだこーだすればそのアプリ以外で使えなくなるので、気にせんでいいらしい。じゃあ、MapBoxのAPIは?と思ったけどよく分からん。ていうかフィンガープリントなんざ使った覚えがないので多分ダメなんじゃないか。いや嘘、よくわかんない、ほんとはあるのかも。で、他の方法はというと理解できんものばかり。
http://www.isus.jp/encryption/sample-code-data-encryption-application/
データの暗号化?
https://teratail.com/questions/34281
サーバー上?
http://k16.hatenablog.jp/entry/20110728/1311847312
SSL?
https://stackoverflow.com/questions/49610269/securing-api-key-using-ndk
C++で書く?
https://www.techjini.com/blog/securing-api-key-and-secret-key-in-android/
gradleをなんちゃらする?
使ったやつ
https://qiita.com/mickamy/items/ee55e8fab2dfb114c2f2
https://github.com/shamanland/simple-string-obfuscator
こちらを使わせていただいた。これ使うにも大変だった。
$ ./obfuscate_string.sh
みたいなのってなんだろうと思ったら、macのターミナルってやつらしい。winでもできるかなと探してみたら
http://pmw1415.hateblo.jp/entry/2015/10/17/222111
というのがあってのでインストールした。これも使えるようになるまで大変だったな…。
http://www.ritsumei.ac.jp/~tomori/unix.html
GooglePlayに公開する
https://support.google.com/googleplay/android-developer/answer/6112435?hl=ja&ref_topic=3450769
基本ここ見てやった。
紹介ページとかの画像を用意するのが面倒だったが適当にでっち上げた。この公開の部分に関しては、そんな詰まらなかったかなぁ。
AdMob広告を貼る
AdMobっていうのが定番みたい。なのだが、Mobile Ads SDKのやり方とFirebaseのやり方がGoogleのガイド中にあって、若干混乱した。公開後でないと広告を貼れないのも初めて知った。
ここらへんで詰まった気がするけど、今思えばあれはアプリのバグのせいだったのかもしれない。
その他
あとなんかあったっけかなー。
gradleで赤波線が出た時の対処
All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes).
http://tokyo.supersoftware.co.jp/code/7474
バージョン合わせないといけないみたい。