Google for Mobile I/O RECAP 2017
2017-08-03 20:23:02 +0900 JST
Categories: Android
2017/08/03にGoogle主催のMobile向けイベントに参加してきました。招待制?なのか知り合いには誰一人招待状が届いておらず、結果私一人さみしく参加してきました。
内容は題のとおりでGoogle I/Oをつまみつつ、Mobile向けの最新情報が紹介されていました。このイベントで初披露というものはなかったと思います。
聞いてきたものをメモレベルですが書いていきます。後で資料を公開しますと言われたけど、どうもApp DOJOに登録しないと見れないっぽい?
最新 Support Library
Support Library 26.0.0のお話
- minSdkVersionが9から14になった
- Maven経由で取得できるようになった
Gradle4.0ならさらに簡潔にかけるようになったようです
repositories {
google()
}
dependecies {
...
}
25からの変更点
挙げると結構キリがないようですが、特にText & Font系に変更があるようです。
Fonts XML
- R.font.font1.ttf で使える
- カスタムフォントをfontFamiliyとして登録できる
Downloadadable Fonts
- Google Fontsが使える
Emoji (API 19+)
- support libraryにemojiが追加
Auto sizing TextView
- TextViewの大きさを決めた枠に合わせて自動的にtextSizeを変更する
DiamicAnimation
- これまではDurationがメイン
- バネをひっぱってびよんびよんできる -> SpringAnimation
Transition
- Lolipopでしか使えなかったTransitionがICS以降でも使える
- ActivityTransitionはまだ
Vector
- VectorDrawableを使うときに、変なFillになるのを治せる
小ネタ
aapt:attr XMLの中にまったく別のXMLを定義できる。こいつのためだけに1つのXMLを書いてたみたいな時に使える
Data
PreferenceManager
これまで設定はSharedPreferenceしかなかったけど、Manager経由でSQLiteやGoogle Cloudに変更できる。
TDD(テスト駆動開発)
AndroidでTDDするの大変 (知ってた)
UnitTestはまぁまぁ、UI Testはいつも鬼門
Test tool
- Robolectricはいいぞ
Robolectricは地味に新しいAndroidに追いついている - Espressoとは使い分けするとよい(アクティビティの遷移とかはEspressoのほうが良いらしい)
Slim down APK size
APK size >= Download size
少しでも減らせればDownload sizeが減らせてキャンセル率を減らせる
また、サイズが多いと真っ先にアンインストールの対象にされる
Solution
Proguard
- 使ってないコードを全部消してくれる
Resource Shrinking
- 使ってないリソースを全部消してくれる
Multiple APKs
- 一つのapkに全リソースをいれるのではなく、それぞれに適したapkを作ることでダウンロードさいずをめっさ減らせる
Vector Drawables
- Support Libraryで使えるようになったベクターデータをjpg, pngの代わりに使うことでかなり減らせる
3.8MBのAPKを500kbに減らせた!
APK Analyzer
他のセッションでもAPK Analyzerの紹介がたくさんありました。Android Studio3.0から機能がかなり強化されるようです。
APKファイルのかなり細かいところまで見れるようです。
- Proguardを使うとクラス名がaとかになる -> Android Studio3.0から対応する
- APK AnalyzerからProguardの除外ルールを作成できる
Instant App
事例
- 署名をする箇所だけをInstant Appとして提供
- 買い物かごにいれて決済する箇所だけ提供
- ビデオ再生するだけでなく、関連動画を表示することでエンゲージ率を高める
作り方
- Instant App用のプロジェクトを作成する
- フルAppから共通部分をモジュールとして切り出す
- Instant Appにモジュールを読み込ませて開発する
Play Console
Play Consoleの機能もかなり強化されたようです。特にレポート周りが充実していました。
(ハッピーアワーで聞いてみると、前から分析していた人から見れば今までやってたことがPlay Consoleで表示されただけであまり驚きはなかったようです)
Pre-launch report
アルファやベータとしてPlay ConsoleにapkをアップロードするとFirebase Test Labが動いてクラッシュしないか自動的に検査してくれます。Pre-launch reportとしてFirebase Test Labを使うなら無料とのことです。
クラッシュ情報とLogCatと操作ビデオを後から確認できる
- ログインサポートが実装され、Test Labがアプリにログインしてテストできるようになった
- 異なる画面サイズのスクリーンショットを確認できる
- 脆弱性検査を行える
Release Dashboard
ダッシュボードの情報が最短1時間前からみれるようになったようです。
- Crashes and ANRs
- Ratings and Reviews
- New Install, Updates and Unininstalls
大事なのはそれぞれの値を一つずつ見るのではなく、統計と特異点をダッシュボードから確認できること、ダッシュボードでは一つのグラフに複数の指標を重ねて表示できるようになったようです。
Android vitals
- 端末の情報を収集してPlay Consoleで表示
(今まで情報収集用ライブラリをわざわざアプリに組み込んでいたけどGoogleが公式でやってくれるのはありがたいですね)
Better visualisation
- Play console上で統計情報が見れる(Google TrendのPlay Console版のようなもの)
- 去年のGWと今年のGWを比較といったことができる