スクロールのアンカーが無効になっているウェブページ(左)と、
有効になっているウェブページ(右)を
並べて比較

 
ウェブは表現力が高いメディアなので、スクロールのアンカーが不要なコンテンツや、うまく動作しないコンテンツがあるかもしれません。そのため、この機能と合わせて「overflow-anchor」CSS プロパティが提供されており、設定によってこの機能を無視することもできます。潜在的な問題が起きる可能性をさらに小さくするため、複雑なインタラクティブ レイアウトでは、サプレッション トリガーが発生するとスクロールのアンカーは無効になります。また、戻る / 進むのナビゲーションを行っても、スクロール位置は維持されます。  
 
今のところ、スクロールのアンカーはページビューあたり約 3 回のページの切り替わりを防いでいますが、皆さんの協力によってさらに改善することができます。scroll anchoring Web Platform Incubator Community Group に参加し、g.co/reportbadreflow からフィードバックを送信して、リフローが発生しないウェブサイトやサービスを実現しましょう。  
 
Posted by Eiji Kitamura - Developer Relations Team


★ 評価や技術面、2016 年 4 月以降にローンチもしくはメジャーアップデートされたなど、様々な評価基準をもとにノミネートタイトルを選出しました。  
 
各部門のノミネートタイトルをご紹介します。  
 

Standout Indie 部門

デザインの芸術性、ゲームの構成や全体的な仕上がりの優れたインディーズ デベロッパーによるゲーム。  

Stand out Startup 部門

ユニークな経験を提供しつつインストール数を伸ばした新しいデベロッパーによるアプリ。  

Best Android Wear Experience 部門

優れたデザインでユーザーを楽しませ機能性が高い、新しい Android Wear 2.0 のアプリ。  

Best TV Experience 部門

没入感があり直感的な体験を提供しながら、大画面向けの革新的な機能を取り入れたアプリもしくはゲーム。  

Best VR Experience 部門

Daydream の UI を最適に活用し、魅力的で没入感のある体験に焦点をあてました。  

Best AR Experience 部門

AR の創造的かつ想像力豊かなテクノロジーを活用したアプリまたはゲーム。  

Best App for Kids 部門

創造性、探索力を促す教育的要素を持つ、ファミリー向けにデザインされたアプリまたはゲーム。  

Best Multiplayer Game 部門

協力あるいは競争するなどマルチプレーヤーで魅力的な体験ができるゲーム。  

Best App 部門

美しいデザイン、直感的なユーザー エクスペリエンスでユーザーから高い評価を得ているアプリ。  

Best Game 部門

高いゲーム性と素晴らしいグラフィックス、エンゲージメントと継続利用率の高いゲーム。  

Best Accessibility Experience 部門

革新的な方法によってデバイスの交流を可能にし、障がいやサポートを必要とする人々に役立つアプリまたはゲーム。  

Best Social Impact 部門

世界中の幅広い人々にとって有意義な社会的影響をもたらすアプリ。  

皆さんのお気に入りのアプリやゲームは入っていましたか。  
 
ノミネートタイトルは Google Play ストアの特設ページ g.co/play/gpa2017 でもご覧頂けます。  
 
Posted by Hak Matsuda - Developer Relations Team

 
 
Posted by Yuichi Araki - Developer Relations Team

* Firebase は Google が提供する無料のモバイルプラットフォームで、デベロッパーの皆様がすばやく、高品質なアプリを開発し、ユーザー層を拡大し、アプリの収益を向上させることを目的としています。様々な機能をニーズに応じて組み合わせて活用できますので、詳細は「 Firebase の詳細について」をご確認ください。


「動画リワード広告の表示頻度を高めてユーザーエンゲージメントの向上を図りたかったものの、実際狙いどおりにいくのか?ユーザーの反応がどうなのかわからなかったので表示を最小限に抑えていました。インタースティシャルも同様で、ユーザーの離脱の恐れがあったためフリークエンシーキャップも絞って高めに設定していました。」(株式会社 GAGEX 代表取締役 井村剣介)

GAGEX 様は動画リワード広告は実装によってユーザーエンゲージメントが高まる、といわれてはいるものの、動画リワードを頻繁に表示しすぎてしまうことによって、逆にゲームへの LTV への影響を懸念していました。インタースティシャル広告も、ゲームを遊ぶユーザーの一連の流れを一旦止めてしまう可能性があることから、ユーザーエクスペリエンスへの影響を懸念していて、表示回数は最低限に押さえていました。

しかし、GAGEX 様は、インタースティシャル広告も、動画リワードも収益性が最も高いフォーマットなので、ユーザーエンゲージメントに影響が出ない最大の範囲まで、より多く表示させたいと思いながらも、最適なフリークエンシーキャップがわからずに、なんとなくの感覚値で最小限に押さえてきたようです。

そこで GAGEX 様はユーザーエクスペリエンスを最も高める動画リワードの導入と、ユーザー離脱に影響のないインタースティシャル広告の最大表示頻度回数を Firebase の Remote Config を活用し、データに基づいた最適値を見つける A/B テストを実施しました。

A/B テストの導入には実装・開発コストよりも、テスト内容そのものの構築に最も時間を要しました。

おでん屋人情物語 2 -時をかけるおでん屋-(Android)のユーザーを 4 つのユーザーグループにランダムに振り分け、各ユーザーグループごとに以下の表のようにインタースティシャル広告と動画リワードの表示頻度を調整しました。そして数週間のテスト後に各グループのユーザーの平均継続セッション時間への影響など、Firebase アナリティクスでみることのできるユーザーエンゲージメント指数にどのように影響があるのかをテストしました。


*各グループの頻度設定
[Group 1] デフォルト設定
[Group 2] インタースティシャル 2 倍
[Group 3] インタースティシャル・動画リワード両方 2 倍
[Group 4] インタースティシャル 2 倍、但し 5 分毎リクエストフリークエンシーキャップ付き

インタースティシャル広告・動画リワード広告両方の表示頻度が二倍(Group 3)が最もユーザーエンゲージメントが高いという結果に。平均継続プレイ時間が +28% も増えました。

数週間のテストを経て、グループ 3 のインタースティシャル・動画リワード広告の表示頻度を両方二倍にしたユーザーのユーザーエンゲージメントが最も高いことがわかりました。平均継続セッション時間の上がり値は「ユーザーが動画リワードを見ている時間」を考慮しても十分な上がり幅となり、現在ではすべてのユーザーがグループ 3 と同様の設定になっています。表示頻度を 2 倍にすることで、ユーザーエクスペリエンスに影響を与えずに、収益を +25% も伸ばすことができました。ゲームからの離脱を懸念するあまりに、収益の機会損失をしていたことがわかりました。
「広告の表示頻度による UX や収益性への影響は、広告収益型の事業を始めて以降、常に課題でした。このたび Firebase を用いることで、簡易に実現することができました。今後は同様の検証を弊社の他のアプリに横展開することを検討しています。」 (株式会社 GAGEX 代表取締役 井村剣介)



これまでなんとなくの感覚値でインタースティシャル広告や動画リワード広告のフリークエンシーキャップを設定してきたアプリ開発者様も多いかと思います。しかし、Firebase Remote Config を利用すれば簡単に様々な仮説を A/B テストし、その結果を Firebase Analytics で分析し、データに基づいた設定を行うことが可能です。

ユーザーエクスペリエンスの影響を懸念して、インタースティシャル広告を表示してこなかったアプリもあるかもしれませんが、例えば全体のユーザートラフィックの 5 % のみからテストを開始し、ユーザーエンゲージメントへの影響を確認しながら、少しずつトラフィックを増減することが簡単にできます。

様々な A/B テストを自由に行うことができますので、ぜひこの事例を参考にお試しください。

もし既に Firebase Remote Config を活用した A/B テストを実施された事例をお持ちでしたら、ぜひこちらのフォームまでご投稿ください。お約束は出来兼ねてしまいますが、Google 担当者よりご連絡差し上げる場合がございます。

 
Posted by Kyohei Mizutani - Mobile Solutions Consultant and Eri Shikamura- AdMob Team
Share on Twitter Share on Facebook

AMP に投資し、モバイルサイトを次世代の Progressive Web App にアップグレードしようとしている方に、とっておきのニュースがあります。なんと、AMP と Progressive Web App を組み合わせて、すばらしいユーザー体験を提供することが可能になります。また、その参考にしていただくため、AMPproject.org に新たなドキュメント一式を公開しています。  
 
プリレンダリングされている AMP は一瞬で読み込めるため、サイトの入り口として理想的です。また、<amp-install-serviceworker> コンポーネントは、ユーザーが AMP ページを読んでいる間に Progressive Web App をウォームアップし、プリロードします。ユーザーがサイトのオリジンへのリンクをクリックすると、一瞬ですべての機能が備わった Progressive Web App にアップグレードされます。つまり、AMP で高速に開始して、引き続き高速な Progressive Web App を使えるということです。  
 
さらに、AMP ページ形式ですでに保持している完全なコンテンツ ライブラリは Progressive Web App でも中核部品として再利用できるので、複雑さを回避し、エンジニアリング リソースも節約できます。  
 
AMP と Progressive Web App を組み合わせる方法の詳細については、以下のリソースのいずれかをご覧ください。  
  1. まったく新しくなった AMP と Progressive Web App に関するドキュメントAMP ページで Progressive Web App 機能を有効にする方法AMP ページから Progressive Web App をプリロードする方法AMP を埋め込み、データソースとして利用する方法などが詳しく説明されています。 
  2. Smashing Magazine の入門ドキュメント
  3. AMP Conf 2017 での Alex Russell によるカンファレンス トーク

質問やフィードバックがある方は、デベロッパー サポート チャンネルからお寄せください。皆さんのアプリのリリースを楽しみにしています。  
 
Posted by Yoshifumi Yamaguchi - Developer Relations Team
Share on Twitter Share on Facebook





カラースキームの作成

プライマリとセカンダリのカラーについて、暗い色合いと明るい色合いを含むカラースキームを作成します。











アクセシビリティ評価

さまざまな色の背景に対してテキストが読みやすいかどうかを確認します。ウェブ コンテンツ アクセシビリティ ガイドラインを使って読みやすさの基準を測定できます。










UI カラー プレビュー

Codepen で編集可能な HTML、CSS、JavaScript を使って、さまざまなマテリアル デザイン コンポーネントでカラースキームをプレビューできます。



以上の新しいツールでカラースキームを調整すれば、アプリを通じてユーザーにより良いユーザーエクスベリンスを提供できます。私たちは、皆さんの作品を見るのが待ち遠しくてたまりません。最新のニュースを受け取りたい方や、直接私たちに連絡したい方は、新しい Twitter アカウント(@materialdesign)をフォローするか、https://material.io/ をご覧ください。


Posted by Takuo Suzuki - Developer Relations Team
Share on Twitter Share on Facebook



Todd Kerpelman
Developer Advocate
皆さんは恐らくすでに、Firebase Analytics データを BigQuery にエクスポートできることをご存じでしょう。この機能を使うと、アナリティクス データに対してあらゆる種類の高度なクエリを自在に実行することができます。

慣れるまでは、BigQuery のデータセットは扱いづらいように思えるかもしれません。しかし、パブリック BigQuery データセット(Hacker News の投稿データや、デベロッパー アドボケートの Reto Meier が楽しんだサンフランシスコのパブリック データなど)を使ったことがある方なら、おなじみの SQL 表が大きくなったようなものであることはおわかりでしょう。次のようなイメージです。
実際の BigQuery は、もう少し複雑な構造になっています。BigQuery 表の各行は、単純なキーと値のペアである必要はありません。各行は単純なデータ(文字列、整数、浮動小数点数など)を含む JSON オブジェクトのようなものですが、これには配列、構造体、構造体の配列などのさらに複雑なデータも含めることができます。次のようなイメージの方が近いでしょう。

Firebase Analytics は、このフォーマットを活用して、すべてのユーザーのプロパティを 1 行にまとめています。別の user_properties 表に対して結合のような操作を行う必要はなく、すべてのユーザー プロパティが構造体の配列として同じ BigQuery 行に含まれています。

BigQuery データの user_properties 構造を少し簡略化したもの 

イベントにも同じような構造が使われており、イベント パラメータが構造体の配列としてイベントの中に含まれています。さらに、イベント自身も配列の中に格納されています。通常、BigQuery の 1 行のデータには、2 つか 3 つの Firebase Analytics イベントがまとめて格納されます。
つまり、BigQuery 表の 1 行には、ユーザー プロパティの配列とイベントの配列が含まれ、さらにイベントの中にはイベント パラメータの配列が含まれていることになります。すべての情報をこのような 1 つのデータ構造にまとめてしまうのは、最初はわかりづらく思えるでしょう。しかし、長い目で見れば、他の表と JOIN することを考えなくてすむので、はるかに作業がしやすいことがわかるはずです。

重要: 本投稿の例では、最近のクールなエンジニアがそうしているように、標準の SQL を使用します1。実際に試してみる場合は、BigQuery オプションで レガシー SQL を無効にしてください。また、こちらのリンクから、この例で使うサンプル Firebase Analytics データにアクセスしてください。

たとえば、次の SQL を実行すると、すべてのイベントデータを見ることができます。

#standardSQL
SELECT event_dim 
FROM `firebase-analytics-sample-data.android_dataset.app_events_20160607` 
LIMIT 50
すべてのイベントデータとイベント パラメータが見事に小さな表として返されます。
さらに、すべての「Round completed」イベントのリストを取得したい場合は、次のような SQL を書くことができます。

#standardSQL
SELECT event_dim 
FROM `firebase-analytics-sample-data.android_dataset.app_events_20160607` 
WHERE event_dim.name = "round_completed"
すると、次のような目的の結果が返されます。

Error: Cannot access field name on a value with type ARRAY<STRUCT<date STRING, name STRING, params ARRAY<STRUCT<key STRING, value STRUCT<string_value STRING, int_value INT64, float_value FLOAT64, ...>>>, ...>> at [2:17]

おっと。どうしたことでしょう。 

これは「2017 年最高のエラー メッセージ」賞を獲得できそうなメッセージではありませんが2、よく考えればエラーの原因はわかります。文字列値を「配列に埋め込まれている構造体の要素」と比較しようとしているからです。もちろん、要素は最終的に文字列ではあるものの、ここではまったく別のオブジェクトです。

この点を修正するために、UNNEST 関数を使用します。UNNEST 関数は、配列を受け取ってそれを個々の要素に分解します。まずは、簡単な例を見てみましょう。

次の SQL を実行します。

#standardSQL
WITH data AS (
  SELECT "primes under 15" AS description,
  [1,2,3,5,7,11,13] AS primes_array)
SELECT * 
FROM data 
このように、文字列型の 1 つの列とデータの配列が含まれた結果が返されます。

さらに、次の SQL を実行してみましょう。

#standardSQL
WITH data AS (
  SELECT "primes under 15" AS description,
  [1,2,3,5,7,11,13] AS primes_array)
SELECT description, prime 
FROM data CROSS JOIN UNNEST (primes_array) as prime
ここで行っているのは、「primes_array を個々の要素に分解し、各メンバーを元の列のクローンと結合するように BigQuery にリクエストする」という操作です。これによって、次のようなデータ構造が得られます。
結果は先ほどのものに似ていますが、各素数が 1 つの行として返されています。
データ構造には、元の primes_array も含まれています。(後述のように)これが役に立つ場合もありますが、今回のケースでは少しわかりづらくなりますので、SELECT *. ではなく、descriptionprime という個々のフィールドのみを指定しています3

CROSS JOIN 構文はカンマで置き換えるのが一般的なので、クエリは次のようになります。

#standardSQL
WITH data AS (
  SELECT "primes under 15" AS description,
  [1,2,3,5,7,11,13] AS primes_array)
SELECT description, prime 
FROM data, UNNEST (primes_array) as prime
これは少し読みやすくなっていますが、先ほどの例とまったく同じクエリです。さらに、先ほどお話ししたこのデータ フォーマットでは JOIN を使う必要はないということの証明にもなります。

ここで便利なのは、1 つの行に 1 つの「prime」データがあることです。そのため、次のような比較を行うことができます。

#standardSQL
WITH data AS (
  SELECT "primes under 15" AS description,
  [1,2,3,5,7,11,13] AS primes_array)
SELECT description, prime 
FROM data, UNNEST (primes_array) as prime
WHERE prime > 8
こうすると、8 以上 15 以下の素数を得ることができます。
では、Firebase Analytics データの例に戻り、 UNNEST 関数を使って特定の名前のイベントを探してみます。 

#standardSQL
SELECT event.name, event.timestamp_micros
FROM `firebase-analytics-sample-data.android_dataset.app_events_20160607`, 
  UNNEST(event_dim) as event
WHERE event.name = "round_completed"

イベントにはそれぞれ params 配列があり、ここにすべてのイベント パラメータが含まれています。この配列を UNNEST すれば、特定のイベント パラメータ値を持つイベントを返すクエリを作ることができます。

#standardSQL
SELECT event, event.name, event.timestamp_micros
FROM `firebase-analytics-sample-data.android_dataset.app_events_20160607`, 
  UNNEST(event_dim) as event,
  UNNEST(event.params) as event_param
WHERE event.name = "round_completed"
AND event_param.key = "score"
AND event_param.value.int_value > 10000

この例では、クエリのフィールドの 1 つとして「event」を選択しています。これによって、すべてのイベント パラメータを含む元の配列がきれいにグループ化された表が返されます。

ユーザー プロパティに対するクエリも同じように行うことができます。ユーザーがどの言語でアプリを使っているのかを知りたい場合、アプリが「language」ユーザー プロパティでトラッキングしている値を使います。最初に、UNNEST クエリを使って各ユーザーと選択された言語のリストを取得します。

#standardSQL
SELECT
 user_dim.app_info.app_instance_id as unique_id,
  MAX(user_prop.key) as keyname,
  MAX(user_prop.value.value.string_value) as keyvalue
FROM `firebase-analytics-sample-data.android_dataset.app_events_20160607`,
  UNNEST(user_dim.user_properties) AS user_prop
WHERE user_prop.key = "language"
GROUP BY unique_id

次に、各グループのユーザー数の合計を計算するために、副問い合わせとして先ほどの SQL を使用します4。 
#standardSQL
SELECT keyvalue, count(*) as count
FROM (
  SELECT
   user_dim.app_info.app_instance_id as unique_id,
    MAX(user_prop.key) as keyname,
    MAX(user_prop.value.value.string_value) as keyvalue
  FROM `firebase-analytics-sample-data.android_dataset.app_events_20160607`,
    UNNEST(user_dim.user_properties) AS user_prop
  WHERE user_prop.key = "language"
  GROUP BY unique_id
) 
GROUP BY keyvalue
ORDER BY count DESC
1 つの大きなビッグクエリ(だじゃれではありません)を作りたいのであれば、イベント パラメータとユーザー プロパティの両方を UNNEST することもできます。そうすると、特定の条件に一致するイベント パラメータを持つ特定の名前のイベントを、特定の条件に一致するユーザーで絞り込むことができます。

#standardSQL
SELECT user_dim, event, event.name, event.timestamp_micros
FROM `firebase-analytics-sample-data.android_dataset.app_events_20160607`,
  UNNEST(event_dim) as event,
  UNNEST(event.params) as event_param,
  UNNEST(user_dim.user_properties) as user_prop
WHERE event.name = "round_completed"
  AND event_param.key = "squares_daubed"
  AND event_param.value.int_value > 20
  AND user_prop.key = "elite_powers"
  AND (CAST(user_prop.value.value.string_value as int64)) > 1
UNNEST 関数を使いこなせるようになると、そのすばらしさに気づくはずです。そして、Firebase Analytics のデータ操作がずっと楽しくなるでしょう。さらに詳しい情報は、BigQuery の標準 SQL ドキュメントの配列の操作セクションをご覧ください。

BigQuery では、毎月 1 テラバイトのデータを無料で使えますので、気軽に試していただくことができます。ぜひ、配列の展開をお楽しみください!



1 BigQuery チームによると、BigQuery に格納されたデータに対するクエリで好まれているのは標準 SQL です。しかし、彼らはあらゆるすばらしいパーティに招かれたいのでそう言っているだけでしょう。

2 Messies はまたもや受賞を逃しました。

3   「SELECT * EXCEPT (primes_array)」と書くこともできます。この方が便利なこともあるでしょう。

4 厳密には、すべての「アプリのインスタンス」という意味です。複数の端末からアプリを使っているユーザーは二重にカウントされます。


Posted by Toru Kaneko - Google Cloud Team
Share on Twitter Share on Facebook




Posted by Hak Matsuda - Developer Relations Team
Share on Twitter Share on Facebook

(左)最大アスペクト比が 16:9 に設定されたアプリを 18.5:9 端末で表示 
(右)最大アスペクト比が 18.5:9 に設定されたアプリを 18.5:9 端末で表示

こういった端末の大画面をフル活用するために、アプリでサポートする最大アスペクト比を大きくすることを検討してください。これは、アプリの <application>  要素で android.max_aspect <meta-data>  要素を宣言するだけで実現できます。

<meta-data android:name="android.max_aspect"
    android:value="ratio_float"/>

ratio_float
アプリがサポートする最大アスペクト比 (長辺の長さ / 短辺の長さ) は、小数値で指定します。

アプリのアスペクト比として、2.1 以上をサポートすることを推奨します。そのためには、<application> 要素に次のように指定します。

<meta-data android:name="android.max_aspect" android:value="2.1" />
: 値を指定せず、android:resizeableActivity が true でない場合、デフォルトの最大アスペクト比は 1.86(ほぼ 16:9)になり、広くなった画面スペースを活用できなくなります。

Samsung Galaxy S8 や LG G6 などのワイドスクリーン Android 端末の登場により、アプリで多くのコンテンツを表示して魅力的なユーザー エクスペリエンスを提供できるようになります。

Android でさまざまな種類の画面をサポートする方法の詳細については、複数画面のサポートページをご覧ください。



Posted by Takeshi Hagikura - Developer Relations Team

Share on Twitter Share on Facebook

認定によるメリット
たくさんのウェブ デベロッパーがモバイルサイトで活躍しています。この認定によって、デベロッパーはさらに広く活躍できるようになります。認定されると、Google からモバイルサイト最適化のエキスパートと認められ、そういったサービスを得意とするデベロッパーを探している潜在顧客の目にとまりやすくなり、魅力を感じてもらえるようになります。

パートナー プロフィールには認定資格が表示されるので、モバイルサイトのデベロッパーを探している企業に注目され、ソーシャル メディアでも共有されます。

お申し込み方法

まずは、Google のスタディ ガイドをご確認ください。試験を受けるには、モバイルサイト認定リンクをクリックし、Google パートナー アカウントでログインします。まだパートナーのお申し込みをしていない方は、こちらから登録してパートナー ユーザー プロフィールを作成できます。
試験は英語で、世界中のウェブ デベロッパーが受けることができます。合格すると、認定は 1 年間有効です。

1 Google アナリティクス データ、米国、2016 年 第 1 四半期、出典: モバイルページのスピードに関する業界水準に到達する方法


Posted by Takuo Suzuki - Developer Relations Team
Share on Twitter Share on Facebook


Google は毎年、3 月 8 日 の国際女性デーに合わせ、3 〜 4 月にかけてテクノロジー業界で活躍する女性が情報交換したり学び合ったりするための一連のイベント、Women Techmakers を世界各地で開催しています。日本では、Google Developers Group(GDG)をはじめとした女性コミュニティの皆さんが、各地でイベントを開催します。




各地のイベント詳細


1. Women Techmakers Kyoto 2017

京都では、ミートアップとして、4 つの IT 系女子会の共催で開催します。


2. Women Techmakers Kyushu 2017

九州では、5 つの Tech 系女性コミュニティが合同でイベントを開催します。
  • 日時:2017年4月22日 (土) 13:00 - 18:00
  • 場所:FUKUOKA growth next GooDay DIYスタジオ
  • 定員:30 名
  • 詳細・申込:https://wtmq.connpass.com/event/54472/
  • 主催:
    • Women Techmakers Kyushu
    • 女子だらけの電子工作
    • Java 女子部九州 -- Java 女子部
    • JAZUG 女子部
    • JAWS-UG クラウド女子会

3. Women Techmakers Tokyo 2017

東京では、プレゼンテーションに関するワークショップなどを盛り込んだイベントを開催します。

ぜひ、お近くのイベントにご参加ください。


Posted by Takuo Suzuki - Developer Relations Team
Share on Twitter Share on Facebook



今年のサンタを追いかけようには、サンタの妖精たちが魅力的でおもしろく、ためになるコンテンツを追加しています。しかし、ウェブでも Android でも、サンタとトナカイは今まで以上にスリムになっています。

ウェブ版は信頼性が高くオフラインにも対応した PWA になっています。使用する帯域幅も少なく、ネットワーク接続が不安定な環境でも動作します。Android 版は、画面表示用のアセットやライブラリなどを綿密に調査し、1 バイトでもサイズを小さくしようと努めたものです。

サンタを追いかけようを使ってみるには、GitHub(google/santa-tracker-web および google/santa-tracker-android)からコードをチェックアウトします。ウェブ版と Android 版の両方に詳細なビルド手順が付属しています。

ウェブ

妖精たちがサンタを追いかけようをどのようにしてオフライン Progressive Web App として構築しているかを知りたい方は、Google Developers の事例紹介をご覧ください。ソースは、GitHub にアクセスしてダウンロードできます。今回のリリースに含まれる主な機能は、次のとおりです。


Android

2016 年にサンタはダイエットを行いました。そして、4 つの新しいゲームが追加され、見た目も大幅に変更されているにもかかわらず、APK ダウンロード サイズを 10 MB 以上も削減できました。この作業について詳しく知りたい方は、Android デベロッパー ブログの詳細分析を確認するか、GitHub にアクセスして自分で分析してみてください。今年のアプリに含まれる主な機能は、以下の通りです。


ホッホッホ!

ぜひ、サンタを追いかけようやそのソースコードをお楽しみください。そして、使われているアプローチを参考に、皆さん独自のすばらしい作品を生み出してください!



Posted by Yuichi Araki - Developer Relations Team
Share on Twitter Share on Facebook