この記事は Android エンジニアリング主要エルフ Chris Banes による Android Developers Blog の記事 "Google releases source code of Santa Tracker for Android 2018" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

本日、Google のサンタを追いかけよう 2018 Android アプリのソースコードを google/santa-tracker-android にプッシュしました。ソースコードには、17 のミニゲーム、サンタを追いかける機能、Wear アプリなどが含まれています!

今年のアプリは、見た目はあまり変わっていませんが、サイズは大きく削減されており、Google Play からのダウンロードが極力小さなサイズで済むようになっています。ユーザーが初めてアプリをダウンロードする場合、昨年は 60MB だったものが、今年はわずか 9.2MB で済みます。実に 85% も削減されています!🗜️

Android アプリバンドル

ここまでの削減ができたのは、Android アプリバンドルを使うように移行したためです。アプリバンドルの主なメリットは、Google Play が動的に最適化した APK をユーザーの端末に提供できる点にあります。さらに、すべてのゲームを動的機能モジュールとして分割し、オンデマンドでダウンロードするようにしました。最初にゲームを開いたときに進行状況バーが表示される場合があるのはそのためで、ゲームが始まる前に、実際にそのゲームを Google Play からダウンロードしています。

ゲームを Google Play からダウンロードする間に表示される進行状況バー
今回のアプリバンドルへの移行の道のりについては、「Android アプリバンドルへの移行」から始まる一連のブログ投稿で詳しく知ることができます。

Gboard ステッカー

今年追加した新機能の 1 つに、Gboard ステッカー パックがあります。これを使うと、ステッカーを友だちと共有することができます。ステッカーには、ゲームに登場するキャラクターが含まれていることに気づいた方もいらっしゃるかもしれません。

「サンタのダンク」は利用できる 20 個のステッカーの 1 つ
ステッカーは、Firebase App Indexing を使って端末のローカル インデックスに登録しています。Gboard キーボード アプリはインデックスからステッカーを選択します。こうすることによって、複数のアプリでステッカーを共有できるようになります。ソースコードは、こちらからご覧いただけます。

非常に 重要な会話に使われているステッカー パック

たくさんのコードの改善

以上のほかにも、たくさんのコードの健全性が改善されています。最小 SDK バージョンを Lollipop(21)に上げ、Support Library から AndroidX に移行し、ゲームのアセットのフォーマットを最新のものに切り替えてファイルサイズを縮小するなど、たくさんの細かい改善を行いました!すばらしいですね😅。

コードをのぞいてみよう

興味がある方は、ぜひコードをチェックアウトして感想をお聞かせください。質問がある方や問題を見つけた方は、Issue Tracker からお知らせください。

Reviewed by Yuichi Araki - Developer Relations Team