[go: up one dir, main page]

この記事は Dan Aharon による Android Developers Blog の記事 "6 New ways to engage with users on Android TV" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。


Android
このブログ投稿は、 Android 11 に関する重要な内容を毎週取り上げる #11WeeksOfAndroid シリーズの一部です。第 9 週はスマートフォン以外の Android がテーマです。Android TV の新機能についてもご確認ください。


テレビ番組、映画、アプリの人気が今までになく高まっており、大画面の重要性が増しています。Android TV の月間アクティブ端末数は、1 年前より 80% 以上増加しています。Smart TV OEM の上位 10 社中 7 社、そして 160 以上のテレビ事業者との連携により、リビングルームを Android TV で彩る選択肢が増えています。

Google Play で 7,000 以上の Android TV 用アプリを開発しているデベロッパー エコシステムがなければこのように多くの人々とつながることは実現できませんでした。デベロッパー エコシステムが生み出す多くの Android TV 用アプリを使い、ユーザーはテレビでコンテンツを視聴したりゲームをプレイしたり、さまざまなことができるようになりました。


この 1 年を通して、ユーザーが簡単にコンテンツを見つけてアクセスできるようにする新機能を Android TV に導入しています。Google Play のデザインを変更するアップデートを行い、新しいアプリ コレクションを追加しました。さらに、ユーザーが簡単にアプリを定期購入できるようにしました。Android TV のホーム画面でトレンド重要なコンテンツをハイライト表示する機能も追加しました。先日も Cast Connect をリリースし、ユーザーがお気に入りのコンテンツをネイティブ Android TV アプリに直接キャストできるように機能改善を行いました。デベロッパーの皆さんからは他にも要望が寄せられています。そこで、近日中に追加される 6 つの新手法についてお知らせします。これらを使えば、テレビでのエンゲージメントと収益を向上させることができます。

ユーザーの獲得と収益化を簡単に

  • Google Play Instant on TV: 短時間でアプリのユーザーを増やします。Google Play Instant を使うと、ユーザーはアプリをインストールせず、すぐに試してみることができます。
Orbia:
Google Play Instant on TV を使うと、ユーザーは Google Play 上で即座にアプリを試すことができる
  • Google Play ストアをサポートした Android TV Emulator: TV プロジェクトをシームレスにテストします。 Android TV Emulator に Google Play サポート機能を追加しました。実際の端末を使うことなく、エミュレータですばやく定期購入をテストできます。
  • PIN コード購入: 購入操作を簡単にします。まもなく、Google Play でコンテンツを購入する際に、パスワードの代わりに PIN コードを使えるようになります。

エンゲージメントの高いユーザー エクスペリエンス

  • Gboard TV: テレビの Google キーボードに、新しいレイアウトと、音声認識や予測入力などの機能が追加され、テレビでの入力操作が簡単になります。
選択
Gboard TV を使うと、アプリで音声入力や予測入力を実現できる
  • 自動低遅延モード: テレビでのゲームプレイがさらにスムーズになりますゲームアプリを全画面で表示するときは、Android TV でポストプロセッシングを無効化して遅延を最低限に抑えましょう。

この記事でご紹介したのは、デベロッパー向けの最新機能です。他の重要な機能を利用したい方は、#11weeksofAndroid サイトAndroid TV Developers サイトの動画やコードラボ、関連ドキュメントをご覧ください。デモのほか、この投稿で紹介した機能の詳細は、「Android TV の新機能」の動画で確認することもできます。

Android TV 用アプリの開発を始めたばかりの方は、ADT-3 デベロッパー キットAndroid 11 Developer Preview を参考にしてテレビ体験の開発に着手してください。
皆さんの次のアプリを拝見できるのを楽しみにしています。

Reviewed by Chiko Shimizu - Developer Relations team

この記事は Sebastian Benz による The AMP Blog の記事 "Introducing the Eleventy AMP Plugin" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。




新しく登場した Eleventy 向けの AMP プラグインを紹介します。静的サイト生成ツールである Eleventy を使うと、テンプレートを簡単に管理してサイトを構築できます。静的サイトをインタラクティブにしたり、サードパーティのコンテンツを埋め込んだりしたい場合は、AMP と合わせて利用すると非常に便利です。新しく登場した AMP Eleventy プラグインを使えば、AMP ボイラープレートの設定や AMP コンポーネントのインポートに煩わされることなく、はるかに簡単にテンプレート内の AMP コンポーネントを使うことができます。

その中核となる AMP は、ウェブ コンポーネント フレームワークです。AMP のコンポーネントはパフォーマンスとアクセシビリティを考慮して設計されており、実にさまざまな状況で活用できます。このプラグインは、AMP を単なるコンポーネント ライブラリとして使用する方法を示す好例です。たとえば、このプラグインでは AMP Cache 配信をオプトアウトしたり、AMP ランタイムをセルフホストしたりするオプションが提供されます。そのため、ページをどこからどのように提供するかを完全に制御できます。以降では、プラグインの詳細と使い方について説明します。

AMP と Eleventy を組み合わせることが望ましいケース

テキストとイメージだけの簡単なブログを公開する場合なら、AMP を使う必要はありません。実際、そのような場合はプレーン HTML と CSS を使う方がはるかに合理的です。
AMP を使う方が合理的なのは、車輪の再発明をすることなくサイトでもっと高度な機能を使いたい場合です。
次に、イメージ カルーセルの例を示します。このカルーセルは読み込み時にフェードインし、ライトボックス モードも搭載されています。この例では、マークダウン ファイルで直接 AMP コンポーネントを使いました。AMP コンポーネントはすぐに使うことができます。必要な AMP コンポーネント スクリプトをインポートして AMP ドキュメントを設定する作業は、すべて AMP Eleventy プラグインが行ってくれます。
# Hello AMPHTML World <amp-carousel lightbox amp-fx="fade-in" layout='responsive' width='600' height='400' type='slides'> <amp-img src='https://picsum.photos/id/1015/600/400' layout='fill'></amp-img> <amp-img src='https://picsum.photos/id/1016/600/400' layout='fill'></amp-img> <amp-img src='https://picsum.photos/id/1018/600/400' layout='fill'></amp-img> </amp-carousel>




フェードとライトボックスを組み込んだ AMP カルーセルの例

AMP のもう 1 つのメリットは、最適化された豊富なサードパーティ統合がそろっていることです。その一部は、shortcodes を使って直接 AMP Eleventy プラグインに組み込まれています。
Checkout this video: {% video "my-video.mp4" %} Or this tweet (the number specifies the embed height): {% twitter "1182321926473162752" 472 %} Here is a Youtube video: {% youtube "v0BVLgEEuMY" %} And of course Instagram: {% instagram "BMQ8i4lBTlb" %}
このプラグインには、デフォルトでウェブ パフォーマンスのベスト プラクティスも適用されています。AMP Optimizer が統合され、eleventy-img を使って自動的にイメージが最適化されます。つまり、すぐに最大限の AMP パフォーマンスを利用できます。
ただし、AMP の使用について注意すべき点が 1 つあります。AMP のパフォーマンスが保証されるのは、ページで AMP だけが使われている場合に限られます。たとえば、AMP ランタイムがページ読み込み時のコンテンツの移動を抑止できるのは、ページのすべての要素の高さを前もって計算できる場合に限ります。ページ内に AMP コンポーネントamp-script がサポートしない機能が必要になる場合は、別のテクノロジーを使う方がよいでしょう。ただし、将来的にこのようなユースケースをサポートするため、AMP コンポーネントをスタンドアロン コンポーネントとして利用できるようにする作業も進めています。

スタートガイド

この機能を使ってみるには、NPM から AMP Eleventy プラグインをインストールします。
$ mkdir eleventy-amp-demo $ cd eleventy-amp-demo $ npm init --yes $ npm install @ampproject/eleventy-plugin-amp --save-dev
次に、Eleventy 設定の .eleventy.js にプラグインを追加します。
const ampPlugin = require('@ampproject/eleventy-plugin-amp'); module.exports = function(eleventyConfig) { eleventyConfig.addPlugin(ampPlugin); };
そしていよいよ、コンテンツの作成を始めます。
$ echo '# Hello World ![image](https://unsplash.it/500/400) {% twitter "1182321926473162752" 472 %}' > index.md
ローカルでサイトを利用するには、Eleventy をインストールして実行する必要があります。
$ npm install -g @11ty/eleventy $ eleventy --serve
すると、http://localhost:8080 から新しく作成した有効な AMP サイトを確認できます。

オフキャッシュ AMP とランタイムのセルフホスト

AMP Cache は一切使わず、AMP を単なる UI コンポーネント ライブラリとして使うことができます。これを実現するために、2 つの(オプション)機能が組み込まれています。
  1. AMP Cache のオプトアウト: ページが AMP Cache から提供されるのを防ぎます(たとえば、Google 検索や Bing に表示される場合)。サイトを別の AMP Cache オリジンから提供したくない場合は、これが合理的です。この機能を使うと、<html> タグから稲妻マークが削除され、AMP Cache がページを提供しなくなります。 
  2. ランタイムのセルフホスト: AMP は継続的に改善されています。自動的に最新機能を取得するには、cdn.ampproject.org から AMP のランタイムやコンポーネント スクリプトを読み込むのがベストです。しかし、どの AMP バージョンを使うかを細かく制御したい場合は、AMP ランタイムを自分でホストすることもできます。AMP Eleventy プラグインには、AMP Toolbox の新しい fetch-runtime モジュールが組み込まれています。このモジュールは、サイトのビルドの一環として AMP ランタイムをダウンロードします。こうすることで、パフォーマンスのメリットが増加します。最初のレンダリングで、cdn.ampproject.org への 2 つ目の HTTP 接続のセットアップが必要なくなるからです。
以上の機能は、次のオプションで有効化できます。
eleventyConfig.addPlugin(pluginAmp, { ampCache: false, downloadAmpRuntime: true, ampRuntimeHost: process.env.ENV === 'prod' ? 'https://your-domain.com' : 'http://localhost:8080', });
package.json ビルド スクリプトで忘れずに環境変数を設定してください。
"scripts": { "build": "ENV=prod eleventy", "watch": "eleventy --watch", "serve": "eleventy --serve" }

AMP ページのさらなる高速化に向けて

AMP チームは、AMP のパフォーマンスの改善作業を続けています。Eleventy プラグインを使うと、今後予定されているさまざまな機能をすぐに試すことができます。
これらの機能を有効化するには、設定に次のオプションを追加します。
eleventyConfig.addPlugin(pluginAmp, { ampCache: false, downloadAmpRuntime: true, ampRuntimeHost: process.env.ENV === 'prod' ? 'https://your-domain.com' : 'http://localhost:8080', experimentEsm: true, experimentImg: true, validation: false, imageOptimization: { urlPath: '/img/', }, });
注意点として、これらはまだ AMP Validator でサポートされていません。つまり、この AMP ページは AMP Cache で提供できる有効なものではありません。しかし、オリジン上では AMP の最高のパフォーマンスを発揮できます。

まとめ

ぜひお試しいただき、感想をお聞かせくださいEleventy AMP プラグインを使うと、AMP を使ってすばやく簡単に新しいウェブサイトを作成できます。さらに簡単に試せるように、すぐに使える AMP ブログ スターター テンプレートも用意しています。
投稿者: Google デベロッパー アドボケート、Sebastian Benz

Reviewed by Chiko Shimizu - Developer Relations Team

この記事は Adam Ohren による Google Ads Developer Blog の記事 "Changes to campaign_bid_modifier reporting in the Google Ads API" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

2020 年 9 月 1 日より、Google Ads API でキャンペーンレベルの単価調整比のレポート方法が変更され、API の結果と Google 広告 UI の一貫性が増します。

現在、Google Ads Query Language を使った campaign_bid_modifier リソースへのクエリでは、以下の条件のどちらかを満たす行のみが返されます。
  1. ゼロでない単価調整比が設定されている
  2. 行に関連付けられた criterion_idCALLS インタラクション タイプの指標が存在する
この変更が実施されると、campaign_bid_modifier リソースへのクエリは、 すべての キャンペーンについて行が返されるようになり、ユーザーが Google 広告 UI の [Advanced bid adj.] > [Interactions] 画面で確認できる内容に近くなります。

campaign_bid_modifier レポートにこれまでと同様の制限をかけたいユーザーは、クエリに “WHERE campaign_bid_modifier.bid_modifier != 1.0”(値 1.0 は単価調整 ±0% と同義)などの条件を追加することで、単価調整比がゼロ以外の行をレポートするように制限できます。

今回の変更は、AdWords API の動作には影響しません。

この変更に関する質問がある方は、フォーラムからご連絡ください。

Reviewed by Thanet Knack Praneenararat - Ads Developer Relations Team

この記事は Chrome セキュリティ チーム、Emily Stark、Eric Mill、Shweta Panditrao による Chromium Blog の記事 "Helping people spot the spoofs: a URL experiment" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。


現在のウェブでも、ユーザーは主に URL を使ってサイトの正体や正当性を判断しています。しかし、URL にユーザビリティの問題があることは周知の事実です。たとえば、攻撃者が URL を操作してウェブサイトの正体を誤認させる方法は無数にあり、それがフィッシングやソーシャル エンジニアリング、詐欺の横行につながっています。ある研究によると、URL のパスに誤認しそうなブランド名が表示されていると、60% 以上のユーザーがだまされました。

各種ブラウザは、デフォルトでドメインのみを表示する、登録可能なドメイン(ドメイン名の「最も重要な」部分)を視覚的にハイライト表示するなど、さまざまな方法でこの問題に対処しようとしています。PC プラットフォームの Chrome 86 でも、アドレスバーに URL を表示する方法を変更する試験運用を行います(下のアニメーション)。このように URL を表示することは、ユーザーが悪質なサイトにアクセスしていることに気づいたり、フィッシングやソーシャル エンジニアリングによる攻撃からユーザーを保護したりする上で役立つかもしれません。今回の試験運用の目的は、実際の利用方法を踏まえてその点を評価することにあります。

Chrome 86 での試験運用。デフォルトでドメイン名を表示し、カーソルを合わせると完全な URL を表示する。

完全な URL を表示したい場合

この試験運用の対象になった方が、特定のサイトで完全な URL を表示したい場合、2 つの選択肢があります。1 つ目は、URL にカーソルを合わせて完全な形に展開することです。2 つ目は、URL を右クリックしてコンテキスト メニューを表示し、[Always show full URLs] を選択する方法です(下のスクリーンショット)。この設定を行うと、今後アクセスするすべてのサイトで完全な URL が表示されます。(注: 企業の登録端末は、今回の Chrome 86 の試験運用の対象にはなりません)
コンテキスト メニューの設定で、常にアドレスバーに完全な URL を表示することができる。

フィードバックをお待ちしています!

この Chrome 86 の試験運用の対象者はランダムに選ばれます。対象にならなかった場合でも、Canary チャンネルまたは Dev チャンネルから Chrome 86 をインストールし、chrome://flags を開いて以下のフラグを有効にしてから Chrome を再起動すると、試してみることができます。
  • #omnibox-ui-reveal-steady-state-url-path-query-and-ref-on-hover
  • #omnibox-ui-sometimes-elide-to-registrable-domain
  • ページの読み込み時に最初の操作が発生するまで完全な URL を表示しておきたい場合は、#omnibox-ui-hide-steady-state-url-path-query-and-ref-on-interaction(オプション)
皆さんのフィードバックをお待ちしています。バグや機能リクエストは、バグトラッカーから送信してください。

Reviewed by Eiji Kitamura - Developer Relations Team

最近は、インターネットや新聞、本などを閲覧していると、嫌でも機械学習や AI のようなバズワードが目に入ってくるようになりました。様々な分野で話題になっているおかげで、たくさんの情報が見つかるようになっています。ですが、デベロッパーの視点から見た機械学習とは、一体どういう物なのでしょうか?TensorFlow チームに所属するロレンス・モローニは、その疑問に応えるため、Google I/O 2019 でした好評だったスピーチをベースに、4 部に及ぶ動画シリーズ「機械学習: TensorFlow でゼロからヒーローへ」を作成しました。今日は、その日本語版をご紹介します。






第一部では、Java や C++ で作成された具体的なルールに従って動く従来のプログラムと、データからルール自体を推測するシステムである機械学習の違いを学ぶことができます。機械学習とは、どのようなコードで構成されているのか?などの質問に応えるため、シンプルな具体例を使って、機械学習モデルを作成する手順を解説します。ここで語られるいくつかのコンセプトは、第二部の、コンピュータ ビジョンの動画でも応用されています。





第二部では、機械学習を使った基本的なコンピュータ ビジョン(コンピューターに視覚的に確認させ、様々な対象をを認識させること)の仕組みを解説します。こちらのリンク先では、自らコードを実行してみることも可能です : https://goo.gle/34cHkDk





第三部では、なぜ畳み込みニューラル ネットワークがコンピュータ ビジョンの分野で優れているのかを解説します。畳み込みで使われるフィルタに画像を通すと、画像の類似点を明らかにする特徴を捉えてくれます。動画内では、実際に画像にフィルタを適用し、特徴を抽出するプロセスをご覧になっていただけます。こちらのリンク先では、動画の内容をおさらいすることができます : http://bit.ly/2lGoC5f





第四部では、じゃんけん識別器の作り方を学びます。第一部では、じゃんけんの手を識別するコードを書くことの難しさについて説明しましたが、これまでの 3 つの動画で学んだことを総合し、画像のピクセルからパターンを探し出して、画像を分類し、畳み込みを使って特徴を抽出するニューラル ネットワークを作成するだけで、なんとじゃんけん識別器を自作できてしまいます。

Colab ノート : http://bit.ly/2lXXdw5 
データセット : http://bit.ly/2kbV92O


動画シリーズはお楽しみいただけましたでしょうか?もっと知りたいと感じた方は、ぜひフィードバックで教えてください!


Posted by Khanh LeViet - Developer Relations Team

この記事は Google Chrome プロダクト マネージャー、Patrick Nepper、Google Payments プロダクト マネージャー、Stan Li による Chromium Blog の記事 "More secure and convenient Autofill coming to Chrome" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

Chrome は、ウェブのあらゆる場所で安全なフォーム入力をサポートします。メールのアカウントにログインするユーザー名とパスワードでも、新しくお気に入りのスニーカーを買うためのクレジットカード番号でも大丈夫です。本日は、自動入力の操作をさらに便利で安全にする新しいツールについてお知らせします。

生体認証でクレジットカードを確認する クレジットカードを Google アカウントに保存しておくと、決済が必要なときにのみ、支払い情報が Chrome に転送されます。このため、Chrome は、クレジットカード番号全体がフォームに入力される前に、CVC を入力してクレジットカードを確認するように求めます。

その後 Chrome に端末を登録して、指紋などの生体認証を通してカード番号を取得できるようにします。初めてクレジットカードを使うときに CVC の入力が必要な点は変わりませんが、その後の決済では生体認証でクレジットカードを確認できます。わざわざ財布を取り出して CVC を入力する必要はありません。生体認証はオプションです。CVC でカードを確認することもできます。また、この機能は Chrome の設定からいつでもオン、オフを切り替えることができます。

Chrome では、W3C 標準 WebAuthn を使って安全に生体認証を登録できます。生体情報が端末の外に出ることはありません。この機能は Windows と Mac で既に利用でき、今後数週間のうちに Android 版の Chrome でも利用できるようになります。


Android 版 Chrome の支払い方法で使われる生体認証
タッチでパスワードを入力する Chrome のパスワード マネージャーを使えばアクセスしたサイトのパスワードを保存できるので、パスワードを覚えておく必要はなくなります。次回ログインするときは、パスワードの入力もしてくれます。パスワード マネージャーは、本物そっくりなウェブサイトに誤ってパスワードを入力してしまうことがないため、フィッシング攻撃の防止にも役立ちます。

ログインの際には、一目でわかる便利なダイアログが表示され、タッチでパスワードを入力する Chrome の新機能によって、保存されている現在のウェブサイトのアカウントが入力されます。スクロールしてフォームの関連フィールドを表示し、アカウントを選択する必要はありません。そのため、片手でログインできます。

タッチで入力できるコントロールでログインが簡単に

この機能は、今後数週間のうちに Android 版の Chrome に導入される予定ですが、これはまだ始まりに過ぎません。私たちは、ウェブで安全にログインや支払いを行える直感的な機能の開発を継続し、今後さらに多くのメリットを共有できるのを楽しみにしています。

Reviewed by Eiji Kitamura - Developer Relations Team

この記事は Chrome アクセシビリティ テクニカル リード、Dominic Mazzoni による Chromium Blog の記事 "Using Chrome to generate more accessible PDFs" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

Chrome 85(8 月下旬に安定版になる予定)以降の Chrome は、ウェブページを印刷する際に保存先として [Save as PDF] を選ぶと、自動的にタグ付き PDF を生成します。タグ付き PDF とは、見出し、リスト、表、段落、イメージの説明など、ドキュメントの構造に関するメタデータが追加されている PDF です。タグ付き PDF は、スクリーン リーダーを使って PDF ファイルにアクセスする視覚障害のあるユーザーなど、ハンディキャップのある方でもアクセスしやすくなっています。ソフトウェアによる自動処理で PDF からデータを抽出しやすくなるなど、その他の用途にも使うことができます。

PDF にこのメタデータを追加する処理は、Chrome が得意とするところです。この情報は、既に適切に構造化された状態でウェブページ内に存在しているからです。これにより、より多くのコンテンツが Chrome からエクスポートされ、より多くのユーザーに利用されることを期待しています。

ネットにコンテンツを一般公開する組織は、多くの場合、ポリシー上の理由により、または米国の Section 508 のような現地法に準拠するため、すべての人が PDF にアクセスできるようにする必要があります。しかし、その他の面で優れたコンテンツを制作できる多くのソフトウェア プログラムは、タグ付き PDF を直接生成する機能をサポートしていません。そのような場合は、別のソフトウェアやサービスを使って PDF を準拠させています。この機能を Chrome に組み込むと、既にドキュメント ワークフローの一部で HTML を利用している組織は、この新機能を活用して、準拠した PDF を簡単に生成できるようになるかもしれません。--print-to-pdf フラグと --export-tagged-pdf フラグの両方を指定すると、Chrome Headless でもこの機能を動作させることができます。

PDF のアクセシビリティ向上を検討するにあたって、CommonLook というエキスパートに助言を求めました。CommonLook は 20 年以上にわたって PDF アクセシビリティに関するソフトウェアやサービスを提供してきた組織で、PDF 標準の設定にも積極的に関与しています。私たちは CommonLook の検証ツールを活用し、CommonLook に相談することで、最大の効果を得られる分野に労力を集中させることができました。
「Google は、Chrome で PDF ドキュメントのアクセシビリティを向上させるため、PDF アクセシビリティに関する高い専門性を持つ CommonLook に助言を求めました。その時点で私たちは、Chrome には世界中にたくさんのユーザーがいるので、PDF アクセシビリティの潜在的な影響力を認識していました。それから 2 年が経ち、大きな進展をお知らせできることをうれしく思います。ついに、Chrome でこの機能がすべてのユーザーにロールアウトされ、Chrome で PDF を生成するたびに実行されます。今後も私たちは、すべてのユーザーがアクセスできる Chrome を目指す Google をサポートいたします」 - CommonLook 社長兼 CEO、Monir ElRayes 氏
この機能は試験運用版としてロールアウトされます。すべてのユーザーで自動的に有効になる前に試してみたい方は、chrome://flags/#export-tagged-pdf をお使いください。

これは重要なマイルストーンですが、これで終わりではありません。今後の作業として、生成されるタグ付き PDF の質の向上や、Chrome の組み込み PDF リーダーでのタグ付き PDF の操作の改善などがあげられます。

Reviewed by Eiji Kitamura - Developer Relations Team



デジタル トランスフォーメーションを加速する上で鍵となるのは、最先端のデジタル技術だけではありません。変革対象の将来の姿を描き、こうしたデジタル技術を活用してその姿を具体化することのできる多様なスキルを持つ人材が求められています。

「Ask the Expert」シリーズでは、システム アーキテクトやエンジニア、データ サイエンティスト、AI エンジニアといったこれからのシステム開発に求められるロールやスキルについて、関連する分野のエキスパートとともに探っていきます。Google のエンジニアと各分野のエキスパートによる Tech Talk をお楽しみください。

概要

名称 : Ask the Expert - presented by Google Cloud
配信日 : 2020 年 8 月 28 日 (金) より 9 月 18 日(金) まで計 4 回
時間 : 各回 20:00 より
主催 : グーグル・クラウド・ジャパン合同会社
テーマ :
  • 8 月 28 日 Cloud Native 化、マイクロ サービス化の秘訣とは 
    • 株式会社サイバーエージェント アドテク本部 Strategic Infrastructure Agency 青山 真也 氏 
    • Google Cloud プロダクト マネージャー 田村 芳明 
  • 9 月 4 日 Go でマイクロ サービス 
    • 株式会社メルペイ エキスパートチーム 上田 拓也 氏
    •  Google, Developer Relations 山口 能迪 
  • 9 月 11 日 Kaggle ではじめるデータ サイエンス 
    • 日本経済新聞社 データ サイエンティスト 石原 祥太郎 氏 
    • Google Cloud カスタマー エンジニア 葛木 美紀 
  • 9 月 18 日 これから始める DevOps 
    • 株式会社アトラクタ取締役 CTO / アジャイルコーチ 吉羽 龍太郎 氏 
    • Google Cloud アプリケーションモダナイゼーション スペシャリスト 塚越 啓介


視聴方法

以下のサイトでご登録をお願いします。ご登録後に視聴方法をご案内いたします。
https://goo.gle/ATE2020DR


Posted by Takuo Suzuki - Developer Relations Team


先日のブログで、現在開催中の ML Study Jams “Road to TF Certificate 2020” をご紹介しました。

今日は、こちらの試験を 7 月に受験され、晴れて合格された、機械学習の Google Developer Experts でもある新村拓也さん(株式会社KUNO 取締役兼 CTO)から受験体験記をいただきましたので、ご紹介したいと思います。




新村拓也さん



TensorFlow Developer Certificate 受験体験記

TensorFlow Developer Certificate (TensorFlow デベロッパー認定資格)は、TensorFlow のコーディングによる基本的なデータ整形やモデル作成のスキルを評価する公式の認定資格です。

今年始まったばかりの試験なので、資格の難易度やどういう内容を勉強したほうがいいのか疑問に思う方も多いと思われます。TensorFlow のユーザー グループである TensorFlow User Group(TFUG)ではそうした疑問を解消すべく、8 月 5 日(水)に TensorFlow User Group Meetup #11 を開催いたしました。当日の内容が気になる方は、ぜひこちらから当日の配信をご覧ください。

本記事では、筆者を含めてイベントで登壇していただいた方々の体験談をもとに、これから TensorFlow Developer Certificate を受験したい方の役に立つような情報をお届けします。

TensorFlow Developer Certificate について



TensorFlow Developer Certificate はその人が TensorFlow を使用して基本的なデータの前処理やモデルの作成を行うことができるということを客観的に評価するための資格であり、難易度はそれほど高いものではありません。詳しい試験範囲については、公式のハンドブックに記載がありますが、画像・自然言語・時系列データを使用してシンプルなモデルを構築するような内容となっております。

より複雑なモデルを構築したり、TensorFlow の機能を熟知してパフォーマンスを最大化するためのチューニングを行うような専門性を認定することはできませんが、ML チームの一員としてモデル作成のための基礎知識とコーディング スキルを認定することはできると思われます。

そのため、これから機械学習・深層学習を勉強して、そうしたスキルが必要な他の部署への移動や転職を考えている方が自身のスキルを証明するためのものとして活用していただけるのではないでしょうか。合格した場合、電子証明書が発行されますので、それを LinkedIn に記載したり、TensorFlow Certificate Network に登録して世界に発信したりできますので、スキルチェンジを考えている方はぜひ挑戦してみてください。

試験勉強について

試験範囲についてですが公式のハンドブックに記載されている内容以外に、オンライン講義として Coursera の deeplearning.ai TensorFlow in Practice Specialization などが推奨教材として挙げられています。

それ以外にもご自身の経験に応じて確認しておいたほうがいい内容は異なりますので、以下に簡単に挙げさせていただきます。

公式教材ということもあり、TensorFlow の経験者の方であっても目を通しておくことをお勧めします。公式のハンドブックに記載されていることがしっかりと網羅されており、ノートブック形式でコードも公開されているために、非常にいい教材です。
  • TensorFlow 公式ドキュメント
前述の Coursera のコースではそこまで詳しく TensorFlow の文法については解説してくれません。TensorFlow 経験者の方でも、一部の関数の詳細な挙動を確認するために、公式のドキュメントやチュートリアルを活用していただきたいと思います。また、TensorFlow に関してまったくの初心者の方は、いきなり Coursera のコースを受講するのではなく、公式ドキュメントである程度 TensorFlow の基本的な文法を勉強されることをお勧めします。

TensorFlow 公式ドキュメントは、日本のコミュニティによる精力的な翻訳活動のおかげで日本語のコンテンツが豊富ですので、ぜひご活用ください。
  • Python のライブラリに関する基礎知識
コードは Python で記述します。Python の文法はもちろんですが、TensorFlow 以外のライブラリも利用することになるので、その基本的な使い方や、エラーになった際のトラブル シューティングができるようにしておくといいのではないでしょうか。試験で利用するライブラリは、試験環境についての公式のガイドブックがありますので、そちらでご確認ください。
  • 機械学習・深層学習に関する基礎知識
試験ではコードの動作だけではなく、モデルの精度評価も行われますので、モデルのチューニングをする必要があります。適切にモデルのチューニングをするためには、機械学習・深層学習に関する基礎知識が必要となります。ただ、必ずしも最新の手法やアーキテクチャを知っている必要はありません。学習率やバッチサイズの意味、損失関数や Optimizer の特性などの基礎知識について、大枠で理解していれば問題ないと思われます。

機械学習・深層学習に関する基礎知識について自信がない場合は、書籍や Web の教材、他のベンダーが実施している講義・試験を活用してみてはいかがでしょうか。


試験環境について

試験環境は PyCharm に指定のプラグインをインストールして行うのですが、環境はもちろん自分で構築する必要があります。詳細な要件はこちらに記載がありますので、必ず見ながらセットアップをしましょう。

普段 PyCharm を利用していない方は事前の勉強で利用するなどして、慣れておくことをお勧めします。また、試験はみなさんが普段開発で利用されているノート PC でも問題なく試験を受けることはできますが、ご自身で構築した GPU マシンを利用することも可能です。

試験では実際にモデルを訓練する必要がありますので、GPU 環境があれば、より多くのパターンを試行錯誤することができます。ただし、GPU を利用するには TensorFlow のバージョンに合わせて CUDA をインストールしたりと環境構築に注意が必要なので、公式サイトでしっかり確認してから設定しましょう。

また、試験ではデータをダウンロードしてきたり、訓練したモデルをその場で採点用のサーバーに送信したり、コードそのものを送信したりする必要があるので、安定したネット環境のもとで受験するようにしましょう。


試験本番について

試験の準備ができましたら、受験する当日で構いませんので、こちらから試験を購入し、指示に従って、各種情報の登録をしてください。顔写真付きの証明書と本人の写真が必要になりますが、サイト上で Web カメラを使用した撮影もできますので、パスポートや免許証の準備だけしておきましょう。

本人確認と試験環境のプロビジョニングが完了したら、試験をご自身のタイミングで開始できます。ガイドに従って、試験を開始してください。試験を購入すると、メールで追加資料が送られてきますので、本人確認などの間に、必ず一読するようにしましょう。

PC の設定によっては、一部のコードがエラーになる場合もありますので、追加資料には、そうした際にどのように対処しろというような、重要なことが書かれています。慣れている方でしたら、その場でトラブル シューティングができるかもしれませんが、試験という限られた時間の中、想定外のところでエラーになるのは、精神衛生上よろしくありません。

試験は、ハンドブックにも書かれている通り、どんな教材を参考にしても構いません。問題の量に対して、時間は十分に設定されていますので、分からないことや予期せぬトラブルがあったとしても、試験勉強をした教材や、TensorFlow の公式ドキュメントなどを活用し、冷静に対応していくようにしましょう。

最後に

試験を受ける直前は緊張していましたが、始まってみると、試験を解くというより、より精度の高いモデルを構築するにはどうしたらいいのかを、自分の知識を総動員し、没頭しており、振り返ると、非常に楽しい時間でした。

初心者の方だけでなく、ある程度腕に覚えがある方も楽しめる内容なのではないかと思いますので、資格を持つことによるメリット云々ではなく、「純粋に楽しみながら腕試しをしてみる」目的で受験されてみてはいかがでしょうか?

もし残念ながら不合格だった場合は、次回受けるまでに一定のインターバルが必要なので、その間に解けなかった問題を復習することで、次回の合格を目指しましょう。



そして試験に合格しましたら、案内が来ますので、TensorFlow Certificate Network に登録しましょう!

この記事がみなさんの受験の後押しになれば幸いです。







新村さん、ありがとうございました。


Posted by Takuo Suzuki - Developer Relations Team & Mari Okazaki - Community Manager

この記事は Dave Burke による Android Developers Blog の記事 "Android 11 final Beta update, official release coming soon!" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。


早くも 8 月になり、Android 11 公式版のリリースが迫っています!

現在、この新しいプラットフォームの最終調整を行っているところですが、2020 年 8 月 6 日(日本時間 8 月 7 日)に最後のベータ版であるAndroid 11 Beta 3 をリリースしました。今年のプレビュー サイクルの最後のアップデートですので、ユーザーへの公式版リリース前の今こそ、デベロッパーの皆さんはぜひご自身のアプリやゲームの準備をお願いいたします。

Android 11 Beta 3 は、Pixel 2、3、3a、4 の各端末で8 月 7 日より利用が可能になっています。また、近日中に Pixel 4a でも利用できます。また、こちらから登録をすると、OTA(無線)アップデートも行えます。既に登録済みの方は、まもなく自動的にアップデートが行われます。これまでフィードバックを提供してくださった皆さん、どうもありがとうございました。ぜひ引き続き、フィードバックをお寄せください

それでは、いよいよ時期が迫ってきた公式 Android 11 リリースに関する情報をお伝えします。

Android 11 Beta 3 の概要

Android 11 Beta 3 のアップデートには、Pixel 端末と Android Emulator 向けの Android 11 のリリース候補ビルドが含まれています。Beta 2 で Platform Stability に到達しているので、SDK や NDK API、アプリに面するシステムの動作、非 SDK インターフェースの制限など、アプリに面する部分や動作はすべて確定しています。Beta 3 には、これらの機能と最新の修正および最適化が含まれており、テストを終えるために必要なものがすべてそろっています。

Android 11 の公式リリースる作業の中で、この機会を活用して Exposure Notifications System(濃厚接触通知システム)を考慮した Android のアップデートも行っています。Beta 3 以降で、ユーザーは Android 11 で端末の位置情報設定をオンにせずに Exposure Notification アプリを実行できるようになります。これは Exposure Notification System のみで実現できる例外です。これが可能なのは、アプリが Bluetooth スキャンを行っても、端末の位置情報が推定できないように設計されているからです。ユーザーのプライバシー保護のため、他のすべてのアプリでは、端末の位置情報設定がオンになっていてユーザーが位置情報へのアクセスを許可していない限り、Bluetooth スキャンを行うことはできません。この点は以前と変わりません。詳細については、 An update on Exposure Notifications のブログ投稿投稿をお読みください。

公式 Android 11 リリースに向けたアプリの準備

公式 Android 11 リリースに向かう今、Android のアプリやゲームのすべてのデベロッパーの皆さんに、早めに互換性テストを終えてアップデートを公開するようにお願いしています。SDK、ライブラリ、ツール、ゲームエンジンのデベロッパーの皆さんは、互換性のあるバージョンをすぐにリリースすることが一層重要です。皆さんのライブラリなどを利用しているデベロッパーの方は、皆さんからのアップデートを受け取るまで作業できないかもしれません。互換性アップデートを公開したら、関係するデベロッパーに向けてアナウンスをお願いします。



Android 11 Beta 2 リリースの際に詳しく説明しましたが、Android 11 で互換性テストを行う方法は以下のとおりです。


現在のアプリをテストするには、すべてのアプリの動作の変更点についてのドキュメントを確認し、プラットフォームの変更によってアプリが影響を受ける可能性がある部分を特定します。注意すべき大きな変更点のいくつかを紹介します(これらは、アプリの targetSdkVersion によらず適用されます)。



  • 1 回だけのアクセス許可 - 位置情報と端末のマイクやカメラに対する 1 回限りのアクセス許可を付与できるようになります。詳細については、こちらをご覧ください。
  • 外部ストレージ アクセス - 外部ストレージにある他のアプリのファイルにアクセスできなくなりました。詳細については、こちらをご覧ください。
  • Scudo 強化アロケータ - アプリのネイティブ コード用ヒープメモリ アロケータです。詳細については、こちらをご覧ください。
  • ファイル記述子サニタイザー - この機能がデフォルトで有効化されるようになりました。アプリのネイティブ コードでファイル ディスクリプタ処理の問題を検出します。詳細については、こちらをご覧ください。


アプリのライブラリや SDK の互換性テストも忘れずに行ってください。問題を見つけた場合は、最新バージョンの SDK にアップデートするか、デベロッパーに連絡してサポートを受けるようお願いします。


互換性テストやツールの詳細については、Android 11 の互換性のブログ記事でお知らせした関連情報をご覧ください。詳しい技術解説は Android 11 デベロッパー サイトをご覧ください。


新しい機能と API を試してみる



人、管理、安全性に関する新たな体験を構築できるように、Android 11 にはたくさんの新機能が搭載されています。ぜひ、デベロッパー機能についてまとめた #Android11 ベータ版に関する投稿をご覧ください。また、Android 11 Beta のウェブページでは、Android チームが新機能についてご説明している動画をご覧いただけます。Android 11 向けの機能や API の詳細についても、Android 11 Beta のウェブページをご覧ください。

また、Android Studio の Android 11 機能もお試しください。大きな APK のインストールを高速化する ADB Incremental、プラットフォーム API への Null 可能性アノテーションの追加などにより、生産性やワークフローを改善できます。最新の Android Studio ベータ版または Canary 版をダウンロードすると、これらの機能を試してみることができます。Android Studio を Android 11 用に設定する手順はこちらです。

Android 11 Beta 3 の入手方法

Android 11 Beta 3 は、Pixel 2、3、3a、4 の各端末で 8 月 7 日より利用が可能になっています。また、近日中に Pixel 4a でも利用できます。また、こちらから登録をすると、OTA(無線)アップデートも行えます。既に登録済みの方は、まもなく自動的にアップデートが行われます。オンデマンドでアップデートしたい方は、Android Flash Tool をお試しください。手動で書き込みたい方のために、ダウンロード可能なシステム イメージも公開されています。

Pixel 端末をお持ちでない方は、Android Studio で Android Emulator を使うか、サポートされている Treble 対応端末で GSI イメージを使うと、Android 11 を実行できます。

公式 Android 11 リリースに向けて

数週間後に予定されている公式 Android 11 リリースにご期待ください!それまでにテストを終え、できる限り早く互換性アップデートを公開することをお勧めします。ぜひ遠慮なくフィードバックをお寄せくださいプラットフォームの問題(プライバシーや動作の変更点も含む)、アプリの互換性の問題サードパーティ SDK の問題の送信には、ホットリストを使うことができます。


先日、Android 11 AMA Android Studio AMA が Reddit の r/anddroiddev で開催されました。参加してくださったデベロッパー コミュニティの皆さん、本当にありがとうございました!お役に立てたことがありましたら幸いです。




Reviewed by Yuichi Araki - Developer Relations Team


この記事は Chromium Blog の記事 "Chrome 85: Upload Streaming, Human Interface Devices, Custom Properties with Inheritance and More" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

特に記載のない限り、下記の変更は Android、Chrome OS、Linux、macOS、Windows 向けの最新の Chrome ベータ版チャンネル リリースに適用されます。ここに記載されている機能の詳細については、リンクまたは ChromeStatus.com の一覧でご確認ください。2020 年 7 月 23 日の時点で Chrome 85 はベータ版です。
Fetch アップロード ストリーミング Fetch アップロード ストリーミングを使うと、ウェブ デベロッパーは ReadableStream ボディによる Fetch を行えます。この機能は、Chrome 85 以降でオリジン トライアルとして利用できます

これまでは、ボディ全体の準備ができてからでないとリクエストを開始できませんでした。しかし今後は、コンテンツの生成中でもデータの送信を開始できるので、パフォーマンスとメモリ使用量が改善します。

たとえばオンライン フォームでは、ユーザーがテキスト入力フィールドにフォーカスを当てると同時に Fetch を開始できます。ユーザーが Enter をクリックする頃には、fetch() ヘッダーが送られているはずです。この機能を使うと、クライアントでオーディオや動画などのコンテンツを生成すると同時に送信することもできます。詳細については、Fetch API によるストリーミング リクエストをご覧ください。

オリジン トライアルの登録や、本リリースで開始された他のオリジン トライアルのリストについては、下記のオリジン トライアルのセクションをご覧ください。このオリジン トライアルは、2021 年 1 月の Chrome 87 まで行われる予定です。
WebHID API ヒューマン インターフェース デバイス(HID)には、新しすぎる、古すぎる、あまりにも一般的でないなどの理由で、システムのデバイス ドライバーからアクセスできないロングテールなものがあります。WebHID API は、デバイス固有のロジックを JavaScript で実装する方法を提供することで、この問題を解決します。この機能は、Chrome 85 でオリジン トライアルとして利用できます。

HID は、人間からの入力を受け取ったり、人間に対して出力を提供したりします。デバイスには、キーボード、ポインティング デバイス(マウス、タッチスクリーンなど)、ゲームパッドなどがあります。

ゲームパッドのサポートにおいては、一般的でない HID デバイスにアクセスできないのは特に苦痛です。ゲームパッドの入出力はうまく標準化されておらず、多くの場合、ウェブブラウザに特定のデバイス向けのカスタム ロジックが必要となります。これはサステナブルはなく、古いデバイスや一般的でないデバイスといったロングテールがサポートされないことになります。

現在、この新しい API の使い方を説明する記事を執筆中です。それまでの間は、一部の熱心なエンジニアによるデモを参考に、新しい API を試してみてください。このデモを見るには、ウェブのヒューマン インターフェース デバイス: いくつかの簡単な例をご覧ください。

登録に関する情報や、本リリースで開始された他のオリジン トライアルのリストについては、下記のオリジン トライアルのセクションをご覧ください。このオリジン トライアルは、2021 年 1 月の Chrome 87 まで行われる予定です。
getInstalledRelatedApps() の Windows サポート navigator.getInstalledRelatedApps() メソッドは、サイトに対応するネイティブ アプリがインストールされているかを判断します。これにより、既にインストールされているアプリのユーザー エクスペリエンスをカスタマイズできます。たとえば、プロダクトのマーケティング ページからユーザーを直接アプリにリダイレクトできます。機能を一元化することで、ユーザーに通知が重複して表示されることを防ぎ、デベロッパーが 2 つのコードベースをメンテナンスする手間を省くことができます。既にユーザーの端末にネイティブ アプリがある場合、サイトで PWA のインストールを促さずに済みます。

以上の動作の間、ユーザーのプライバシーはすべて守られます。サイトは、ユーザーがインストールしたアプリに関する任意の情報をリクエストする API は使えません。この点は、ウェブアプリ マニフェストや Android マニフェスト ファイルのエントリによって保証されます。

このメソッドは、Android の Chrome 80 で実装されました。Chrome 85 以降では、Microsoft Windows でも利用できます。この機能追加は、Microsoft 社の作業によるものです。メソッドの詳細については、あなたのアプリはインストールされている?getInstalledRelatedApps() が教えてくれます!をご覧ください。
@property CSS Houdini は、CSS のレンダリング エンジンを公開する API と CSS 機能のセットです。これを使うと、デベロッパーはブラウザのネイティブ実装を待つことなく、新しい CSS 機能を作成できます。CSS Houdini の @property ルールは CSS Properties and Values API の一部で、継承、型チェック、デフォルト値に対応したカスタム プロパティを定義できます。この API の最初の機能である CSS.registerProperty() は、Chrome 78 で実装されました。このメソッドの機能が、スタイルシートで @property を使って利用できるようになっています。

例として次のイメージをご覧ください。ここでは、CSS のカスタム プロパティを使って色を変化させています。この変化は新しい API を使わなければ実現できないだけでなく、型安全でもあります。詳しくは、@property: CSS 変数を強化するをご覧ください。

オリジン トライアル このバージョンの Chrome には、以上の内容の他に、以下の新しいオリジン トライアルが導入されています。オリジン トライアルとして新機能を試せるようにすることで、ウェブ標準コミュニティにユーザビリティ、実用性、有効性についてのフィードバックを提供することができます。以下の項目を含め、現在 Chrome でサポートされているオリジン トライアルに登録するには、オリジン トライアル ダッシュボードをご覧ください。オリジン トライアル自体の詳細については、ウェブ デベロッパーのためのオリジン トライアル ガイドをご覧ください。
新しいオリジン トライアル 宣言型 Shadow DOM JavaScript を使わずに、HTML だけでシャドウルートを作成できる宣言型 API です。この API を使うと、Shadow DOM を使う Web Components もサーバーサイド レンダリング(SSR)を利用できるようになり、JavaScript で Shadow Root をアタッチすることなく、すばやく画面のコンテンツを描画できます。このオリジン トライアルは、2021 年 1 月の Chrome 87 まで行われる予定です。
RTCRtpEncodingParameters.adaptivePtime プロパティ RTCRtpEncodingParameters.adaptivePtime プロパティを使うと、リアルタイム コミュニケーション(RTC)システムの送信者がアダプティブ パケットレートの有効、無効を切り替えることができます。パケットレートは、オーディオ ストリームの全体ビットレートを決定する大きな要因です。そのため、パケットレートに適応する最適な輻輳制御が必要になります。オーディオ パケットレートは動画のフレームレートと同義です。動画のフレームレートも、動画のビットレートの調整において重要な役割を果たします。

アダプティブ パケットレートは常に有益かもしれませんが、アプリケーションで有効、無効を切り替えるためにこの API が必要です。というのも、これがなければ相互運用性の問題が生じる可能性があるからです。固定パケットレートを前提としている実装の場合、アダプティブ パケットレートでは実行に失敗したり、最適な動作とならないことがあります。このオリジン トライアルは、2021 年 1 月の Chrome 87 まで行われる予定です。
Portals Portals を使うと、ページに別のページをはめ込むようにして表示することで、サイト間やページ間でシームレスなナビゲーションを実現できます。詳細については、Portals ハンズオン: ウェブのシームレスなナビゲーションをご覧ください。このオリジン トライアルは、11 月初旬の Chrome 86 まで行われる予定です。
今回のリリースに追加されたその他の機能 アプリ ショートカット アプリ ショートカットは、Chrome 84 以降の Android に加えて PC でも利用できるようになりました。この機能を使ってよく使うアクションにすばやくアクセスできるようにすれば、重要なタスクへの再エンゲージメントを促し、ユーザーの生産性を向上させます。既に Progressive Web App となっているサイトでは、ウェブアプリ マニフェストに項目を追加するだけでショートカットを作成できます。この機能追加は、Microsoft 社の作業によるものです。詳しくは、アプリのショートカットでものごとをすばやく行うをご覧ください。
Mixed Contents の自動アップグレード 最新の Chrome は、HTTPS サイトから HTTP で提供されるイメージを自動アップグレードします。これは、安全なコンテンツを利用できない場合に、HTTP にフォールバックせずに URL を HTTPS に書き換えることによって実現しています。Chrome は、バージョン 80 以降でオーディオ コンテンツと動画コンテンツを自動アップグレードしています。
AVIF イメージのデコード 既存の AV1 デコーダを使ってネイティブで AVIF コンテンツをデコードする機能をサポートします。AVIF は次世代のイメージ フォーマットで、Alliance for Open Media が標準化しています。AVIF のサポートには、主に 3 つの目的があります。
  • ページ読み込みを高速化して全般的なデータ消費量を削減するため、使用する帯域幅を減らします。AVIF を使うと、JPEG や WebP に比べてイメージのファイルサイズを大幅に削減できます。
  • HDR カラーをサポートします。AVIF は、ウェブでの HDR イメージのサポートに向けた一歩です。JPEG の色深度は、実質的に 8 ビットに限られています。輝度、色ビット深度、色域の面でディスプレイの機能が強化されていることから、JPEG では失われるイメージデータを保存したいと考えるウェブ関係者が増えています。
  • エコシステムの関心に対応します。ウェブにおいて大きな存在感を持つ企業が、ウェブに AVIF イメージを掲載することに興味を示しています。
インストールされたウェブアプリに関する永続ストレージの変更 PWA や Trusted Web Activity などのインストールされたウェブアプリにとって、永続ストレージの取得が簡単で予測可能なものになっています。インストールされたウェブアプリが navigator.storage.persist() を呼び出してリクエストすると、永続ストレージが自動的に付与されます。他のサイトは、今後もこれまでの経験則を利用できます。
CSS 色の調整: color-scheme での 'only' の削除と 'dark' および 'light' のサポート Chrome で、CSS Color Adjustment レベル 1 仕様に準拠するため 2 つの変更が行われました。
  • 'only' キーワードは特殊扱いされなくなり、他の未知のカラースキームと同じように <custom-ident> として扱われます。これまで、'only' キーワードは 'light' との組み合わせでのみ許可されており、それ以外では Chrome では効果はありませんでした。
  • ページ制作者は、優先カラースキームが 'light' の場合でも、ダークテーマ UA レンダリングを利用できます。新しい動作は、次のようになります。
    • color-scheme: light -> 常に light
    • color-scheme: dark -> 常に dark
    • color-scheme: light dark -> 優先スキームを選択
つまり、CSS にダークテーマがあるコンテンツは、ダークテーマの UA コントロールと一致させることができます。

この変更により、WebKit との相互運用性が改善します。WebKit は、'color-scheme: dark' で既にこの動作を実現しています。
content-visibility プロパティ content-visibility という CSS プロパティが追加されます。これを使うと、コンテンツの表示、非表示を自動でまたはスクリプトで管理できます。非表示の場合、その要素の中身(サブツリーまたは置換された要素の中身)は描画やヒットテストが行われないまま、CSS の包含関係が適用されます。そのため、レンダリングが最適化されます。'auto' キーワードを指定すると、ユーザーエージェントが近接するビューポートに基づいてコンテンツの表示、非表示を管理します。一方、'hidden' キーワードを指定すると、コンテンツの表示、非表示をスクリプトで完全に制御できます。
counter-set CSS の counter-set は、CSS Lists Module Level 3 で導入された追加プロパティです。これを使うと、既存のカウンターを指定された値に設定する制御が可能になります。この機能は、counter-reset(指定された値で新しいカウンターを作成する)や counter-increment(既存のカウンターを指定された数だけ増加させる)など、既に実装されているカウンター制御プロパティを利用しています。増加と減少だけでは既存のカウンターをある値に設定することはできないので、厳密なカウンター制御を行うためにはこの機能が必要になります。
Event Timing API Event Timing API を使うと、ウェブ デベロッパーはページ読み込みの前後でイベントのレイテンシを測定できます。イベントのレイテンシの監視には、イベント リスナーが必要です。この機能では、ページ読み込み初期のイベントのレイテンシを測定できません。また、不要なパフォーマンスのオーバーヘッドがかかります。
leavepictureinpicture イベントによるピクチャ イン ピクチャ ウィンドウの公開 (PC のみ)leavepictureinpicture イベントが pictureInPictureWindow に参照を公開するようになります。そのため、ウェブ デベロッパーがオブジェクトへのグローバル参照を保持する必要はなくなります。
名前付きページと page-orientation 印刷用に、いくつかの CSS プロパティと記述子が追加されます。
  • 'page' CSS プロパティ
  • 名前付きページ。例: @page foobar {}
  • 'page-orientation' 記述子。値は 'upright'(デフォルト)、'rotate-left''rotate-right'
Referrer Policy: デフォルトは strict-origin-when-cross-origin ウェブ デベロッパーは、ドキュメントに Referrer Policy を指定できます。Referrer Policy は、送信されるリクエストやナビゲーションとともに送られる Referer ヘッダーに影響します。ポリシーを指定しないと、Chrome は no-referrer-when-downgrade ではなく、デフォルト ポリシーとして strict-origin-when-cross-origin を使います。Referrer Policy を指定せずにドキュメントからクロスオリジン リクエストを行う場合、Referer ヘッダーは最初のオリジンに限定されます。
ImageInputType および HTMLImageElement のフォールバック コンテンツの動作のアップデート ImageInputType および HTMLImageElementフォールバック コンテンツの動作が変わります。これらのコンテンツは、代替テキストとまったく同じようにレンダリングされます。
HTMLLinkElement の "disabled" 属性の動作のアップデート <link> タグの disabled 属性に関するいくつかの仕様不整合を修正します。
  • document.stylesheets から disabled 属性の値にアクセスできませんでした。
  • disabled 属性を false に変更した後 true に戻すと、document.stylesheets に表示され、そこに残ったままになっていました。
  • 代替スタイルシートを有効にする唯一の方法は、無効にした後再度有効にすることでした。
  • 無効なリンクで、link.ownerNode が null に設定されませんでした。
仕様のアップデートに従い、以上の動作が削除されています。
Web Bluetooth の writeValueWithResponse() と writeValueWithoutResponse() 2 つの新しいメソッド writeValueWithResponse()writeValueWithoutResponse() を追加しました。これらは、GATT 特性を書き込む既存メソッドが持ついくつかの問題を解決し、端末が応答を返すかどうかをデベロッパーが制御できるようにします。既存の writeValue() メソッドは下位互換性のために残されますが、その使用は推奨されません。修正される既存メソッドの問題は以下のとおりです。
  • 使用する GATT 特性書き込みのタイプを指定できません。これは、両方の書き込みタイプをサポートするデバイスで特に問題になります。パフォーマンス上の理由により、多くの場合は応答なしの書き込みが望ましいのですが、ほとんどのプラットフォームでは応答ありの書き込みがデフォルトで使われています。
  • 応答ありまたはなしで書き込む機能はプラットフォーム固有です。現在、ほとんどのプラットフォームで応答ありの書き込みが優先されていますが、両方のタイプが利用できる場合、Android では応答なしの書き込みが優先されます。
  • 現在の実装は、ほとんどのプラットフォームで、デバイスが GATT 特性プロパティを通して利用可能な GATT 特性書き込みタイプを正しく報告するかどうかに依存しています。このプロパティが設定されていない場合、特性に書き込むことはできません。
この新しい API は、GATT 特性プロパティが正しく設定されているかどうかにも依存しないので、バグのある Bluetooth デバイスでも動作します。
WebAssembly への BigInt の組み込み WebAssembly は、i64 型の WebAssembly 関数パラメータを BigInt を使ってインポートおよびエクスポートするようになります。
WebAuthn の getPublicKey()、getPublicKeyAlgorithm()、getAuthenticatorData() Web Authentication Level 2 仕様から、いくつかのメソッドが追加されました。
  • getPublicKey()getPublicKeyAlgorithm() を利用すると、セキュリティ キーを使うために Concise Binary Object Representation(CBOR)と CBOR Object Signing and Encryption(COSE)を解析する作業を省くことができます。現時点で CBOR と COSE は多少あいまいであり、ブラウザはこれらを標準的なフォーマットに変換できるので、ほとんどのサイトではこの点について気にする必要はありません。
  • getAuthenticatorData() は、attestationObject に含まれる認証関係のデータを返します。
JavaScript このバージョンの Chrome には、V8 JavaScript エンジンのバージョン 8.1 が組み込まれます。具体的には、以下の変更点が含まれます。最新の機能リストをすべて確認したい方は、V8 リリースノートをご覧ください。
JavaScript 論理代入演算子 JavaScript に論理代入演算子 ||=&&=??= が追加されます。これにより、複合代入演算子に論理二項演算子が含まれるようになります。現在は、数値二項演算子とビット二項演算子のみがサポートされています。この改善は、JavaScript を簡潔に、わかりやすくすることを目的としています。詳細については、論理代入 をご覧ください。
Promise.any() と AggregateError 2 つの新しい JavaScript 機能を V8 に追加しています。Promise.any() は Promise の Iterable を受け取り、最初に完了した Promise を返すか、指定されたすべての Promise がリジェクトされた場合は、リジェクト理由を保持する AggregateError によってリジェクトされます。AggregateError は、1 つまたは複数のエラーを 1 つのオブジェクトにまとめるサポートクラスです。
これにより、ユーザーランド ライブラリで既に利用できる一般的な Promise コンビネータの標準 JS サポートが完了します。
String.prototype.replaceAll() JavaScript でグローバルなサブ文字列の置換がサポートされます。これには、新しいメソッド String.prototype.replaceAll() を使います。
サポートの終了と機能の削除 このバージョンの Chrome では、以下のサポートの終了および機能の削除が行われます。現在サポートが終了している機能および以前に削除された機能のリストは、ChromeStatus.com をご覧ください。
AppCache の削除の開始 Chrome 85 で、仕様により強制される AppCache の終了が始まります。詳細や適切に移行する手順については、AppCache の削除に備えるをご覧ください。この API を含め、サポートが終了した API が利用されている場所を探す際に役立つ機能については、コードの健全性を把握するをご覧ください。
安全でない SameSite=None Cookie の拒否 Secure 属性がなく、SameSiteNone に設定された Cookie の利用はサポートされなくなります。
SameSite=None をリクエストし、Secure とマークされていない Cookie はすべて拒否されます。この機能は、2020 年 7 月 14 日の安定版 Chrome でユーザーへのロールアウトが開始されました。完全なスケジュールおよび詳細については、SameSite のアップデートをご覧ください。プレーンテキスト チャンネルで提供される Cookie は、ネットワークの攻撃者によって収集または改変される可能性があります。クロスサイトでの利用を意図した Cookie に安全な転送を要求することで、このリスクを低減できます。


Reviewed by Eiji Kitamura - Developer Relations Team




Android Developers のウェブサイトへ日本のデベロッパー様のケーススタディを公開しました。アプリ開発におけるテクニックや Android アプリ向けの新しい機能、機能の実装でさらにアプリのユーザーに良い体験を提供できるようになったことなどを詳しくご紹介しています。



日本は、アプリやゲームのデベロッパーの皆さんにとって、とても特色のある国の 1 つです。大多数の人が 4G 以上のサービスを提供している携帯会社と契約していますし、強く、安定しているモバイルネットワークを使い、自宅や学校、電車に乗っている時にスマートフォンでアプリやゲームを楽しんでいます。特に首都圏や大阪、福岡のような大都市では電車・地下鉄は便利な移動手段で、昨今の状況以外では、だいたい毎日多くの人が電車や地下鉄に乗っていて、スマートフォンをいつも 10分 未満から長い場合は 1 時間半以上も使っています。加えて、多数の人が高いサービス品質やユーザー対応に期待を寄せています。
日本の市場でアプリやゲームのビジネスをもっと拡大するには、とても短い時間であっても、長時間であっても楽しめてなおかつ高品質である製品を開発する必要があるでしょう。

tapple誕生、LIFULL HOME’S、mikan がどのようにアプリを改善し、より良いサービスの提供を行ったか事例をぜひご覧ください。






株式会社マッチングエージェントが提供する tapple誕生 は ユーザー数 500 万人、2 億以上のマッチングを実現しています。非常に意欲的なビジネスの目標を掲げ、会員のライフタイム バリュー(LTV)の最大化を行うために Google Play の定期購入Firebase Remote Config、 Firebase A/B Testing を活用してテストを重ね、2017 年から 2019 年にかけてLTV を 30% 高めることに成功しました




株式会社LIFULL は日本と 57 カ国で不動産情報サービスを提供し、ウェブサイトとアプリLIFULL HOME’S を日本国内向けに公開しています。コンバージョンとアプリ継続率の向上のために、ダークテーマの導入を検討してテストを重ねた結果 アプリ継続率を 10% 以上高めることに成功しました。 テスト環境の構築は Android API と Android Studio のプレビュー モードを使用して短期間で行い、続いてダークテーマを導入したアプリのユーザビリティについてマテリアル デザイン リソースのカラーツールを活用してデザイナーが検証を行いました。



株式会社 mikan は、「1 億総バイリンガル」をミッションに掲げる日本のスタートアップ企業です。この目標を達成するため、同社はこれまでに 15 種類以上の学習アプリを開発してきました。2014 年の創業時にリリースした最初の英単語学習アプリは、わずか 3 日間で 10 万件を超えるダウンロードを記録しましたが、以降課題となったのは、アプリの収益化を行い、ビジネスの成長を維持し、目標を達成することでした。そこで、Firebase Remote Config を使用して、Android での A/B テストを実施。ユーザーにとって最も魅力的な価格と定期購入の期間を調査した結果、8 か月間でユーザーの 70% 以上が 1 年プランを選択し、安定した収入源となっています。

ご紹介した 3 社のケーススタディからは、アプリを公開した後にマネタイズ(収益化)とユーザーの利便性を向上することは、ビジネスの成功に不可欠であることがわかります。

私たちは引き続き開発者向けのツールと Google Play ポリシーの変更を通じて、定期購入やダークモードなどを活用したビジネスの成長をサポートしていきます。また、定期購入の円滑な導入や最適化に欠かせないテストツールも提供しています。


Posted by Hidenori Fujii -  Google Play Developer Marketing APAC

この記事は Alex Musil による Android Developers Blog の記事 "11 Weeks of Android: App distribution and monetization on Google Play" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。



このブログ投稿は、 Android 11 に関する重要な内容を毎週取り上げる #11WeeksOfAndroid シリーズの一部です。第 8 週は、Google Play でのアプリの配布と収益化がテーマです。

Google Play は、デベロッパーの皆さんと連携し、数十億の Android ユーザーに素晴らしいデジタル体験をお届けするよう努めています。私たちは、デベロッパーの皆さんが多くのユーザーにアプローチしてビジネスを拡大できるように、ツールや知見を提供してきました。第 8 週では、皆さんが引き続き最大限の成功を収められるように、新機能のリリースや既存機能の改善を行いました。


主なポイント


  1. 新しい Google Play Console ベータ版について、ウェビナーを公開しました。ライブで視聴できなかった方は、こちらの動画をご覧ください
  2. App Bundle に対する最新の改善点についてブログ記事を公開しました。また、2021 年の下半期に、新しいアプリやゲームの公開には App Bundle が必須になる予定です。
  3. デベロッパーが新しいアプリ内レビュー API を使うと、アプリの中で評価やレビューの登録を依頼できます。
  4. 課金プラットフォームに対するユーザーの信頼を高めるため、いくつかのプロダクトをアップデートし、定期購入の透明性向上に関するポリシーについて再度お知らせしました。さらに、定期購入者の獲得と維持を向上するため、機能セットの拡張を行い、Play Billing Library バージョン 3 をリリースしました。2021 年半ばには、これが必須となる予定です。
  5. 先月、9 つの新しいマーケットで Google Play Pass がリリースされました。 Google Play Pass に参加したアプリやゲームは、Google Play ストアの販売のみの場合と比べて合計 2.5 倍の収益を上げています。さらに、Google Play ストアの収益が減ることはありません。ご興味をお持ちの方は、こちらから詳細を確認して登録することができます。


Google Play Console ベータ版


数か月前より、play.google.com/consoleから Google Play Console ベータ版にアクセスできるようになりました。フィードバックをお寄せくださった皆さま、ありがとうございます。ベータ版のアップデートは継続していますが、次のようないくつかの重要なリリースを行っています。



  • 多くのブラウザでパフォーマンスが大幅に向上しています。この点は、多くの方から要望がありました。
  • レスポンシブ性を向上させるため、モバイル向けの新しいメニューやヘッダーを導入しました。
  • Inbox(Google Play Console のメッセージング ハブ)や、強化版の定期購入維持レポートなどの機能を追加しました。
  • Google Play Console へのログインは今年中に 2 段階認証が必須になる予定です。


従来の Play Console からの新機能や変更点について知ってもらうために、3 つのウェビナーを開催しました。ライブで見ることができなかった方は、アーカイブでご確認ください。

Google Play Console  ベータ版を初めて使用する方は、Inbox、ポリシー ステータス、アプリ コンテンツ、強化されたチーム管理機能などをご確認ください。Google Play Console のリード エンジニア、Dan White がご説明しています。



アプリやゲームをこれまで以上に自信をもってリリースできる Google Play Console の機能については、Google Play UX デザイナー、Matt McGriskin が新しいテストや公開ワークフローについてご説明しています。




最後に、アプリやゲームのユーザーを増やしたい方のために、アプリストアを最適化するベスト プラクティスや、新しい獲得レポートの概要について Google Play エンジニアの Ryan Fanelli がお話しています。




Google Play Academy で Play Console のコース(英語)を受講することもできます。


Android App Bundle


多くのデベロッパーの方が Android App Bundle を使ってアプリやゲームを公開されていることを嬉しく思っています。最近もいくつかの改善を加え、App Bundle をさらに優れた公開フォーマットにするための作業を続けています。



  • 最近リリースされた Play Asset Delivery は、ゲームに App Bundle のメリットをもたらします。これを使うと、配信コストとゲームのサイズを減らしつつ、ユーザー エクスペリエンスを向上させることができます。
  • モジュール式のアプリを開発する際に、リソースを縮小できるようになりました。
  • App Bundle が配布用 APK に変換される際に、インストール時モジュールがデフォルトで自動的に組み込まれるようになります。
  • Android Studio 4.0 で機能間の依存性が安定版になっています。



まだ App Bundle に切り替えていない方のために、App Bundle を使うために必要な Play App Signing に関するよくある質問App Bundle のテスト方法に関するガイダンスを公開しています。App Bundle の開発、テスト、公開に関する最近の改善点については、先日のブログ記事をご確認ください。


Android 11 Beta リリースの一環としてお知らせしたように、2021 年の下半期には、Google Play で新しいアプリを公開する際に Android App Bundle の使用が必須になる予定です。APK 拡張ファイル(OBB)のサポートは終了し、Play Asset Delivery が、150 MB 以上のゲームを公開する際の標準になります。


アプリ内レビュー API



あなたのアプリやゲームへの評価やレビューは、とても重要なユーザーとの接点です。そのため、ユーザーがアプリの中からレビューを登録できるようにしてほしいという要望が多くの方から寄せられています。新しいアプリ内レビュー API を使うことで、これが可能になりました。ユーザーにレビューを求めるプロンプトを表示するタイミングを選択し、一番価値の高い意見を聞けるときにフィードバックを送ってもらいましょう。アプリ内レビュー API は、Play Core Library から利用できます。


また、Play Core API の統合サンプルも公開しました。これには、アプリ内レビュー、オンデマンド機能モジュール、アプリ内アップデートのサンプルが含まれています。Kotlin ユーザーは、Play Core Kotlin 拡張機能アーティファクトを使って簡単に Play Core を活用できます。サンプルでは、Play Core Kotlin 拡張機能からこれらの API を使う方法も学習できます。


Google Play Commerce



簡単でわかりやすい支払い操作によってユーザーの信頼を得るために、Play Commerce にも多くのアップデートを行いました。4 月にお知らせした、定期購入の信頼性に関するポリシーによって透明性が向上し、体験版を安全に試したり、簡単にキャンセルできるようになると考えています。


また、現金による支払い、定期購読のプロモーション コードを使用する操作の改善、購入の要因などをサポートした Play Billing Library バージョン 3 もリリースしました。Play Billing Library バージョン 3 は、2021 年 8 月 2 日以降、新規アプリに必須となる予定です。





詳細については、Google Play Commerce のグループ プロジェクト マネージャー、Mrinalini Loew によるこちらの動画をご覧ください。Google Play Billing に関する記事の連載もまだ始まったばかりです。Medium からご覧ください。


Google Play Pass



Google Play Pass を使うと、広告やアプリ内購入のない体験を提供し、潜在的な顧客にアプローチすることで、追加の収益を獲得できます。昨年 9 月のリリース以来、Play Pass のラインナップには 200 以上の新規タイトルが追加され、パズルやレースゲーム、ユーティリティ、子ども向けアプリなどが含まれています。最近では「Super Glitch Dash」と「Element」も Play Pass タイトルとして公開しました。

このラインナップが拡大することで、高度なユーザー エクスペリエンスが実現します。また、デベロッパーは、最先端の収益支払い方法でサスティナブルな収益源を得ることができます。米国では、Play Pass のタイトルは、Play Store のみの収益と比べて、合計で 2.5 倍以上の収益を得ています。

先月、9 つの新しいマーケットで Google Play Pass が利用できるようになりました。なお、ユーザーは年間サブスクリプションと既存の月間プランのどちらで始めるかを選択できます。

また、アプリ内サブスクリプションを使っているデベロッパーが、Play Pass に参加するタイトルを推薦できるようになりました。こちらから詳細を確認してご登録ください


Google Play でのアプリの配布と収益化の情報をチュートリアルで確認する



第 7 週について概要を確認したい方は、チュートリアル形式で動画や関連ブログ記事・コードラボをまとめて確認できる、アプリの配布と収益化の Pathway をご覧ください。11 Weeks of Android をご覧いただき、ありがとうございます。最新のお知らせや関連情報が Google Play での成功に役立つことを願っています。


関連情報・ドキュメント



#11WeeksOfAndroid 動画コンテンツの全プレイリストはこちらから、それぞれの週の詳しい内容はこちらからご覧いただけます。毎週新しい分野を取り上げますのでご期待くださいTwitter YouTube のフォローもお願いします。ご覧いただき、ありがとうございました。


Reviewed by Yuichi Araki - Developer Relations Team

この記事は Dom Elliott、Yafit Becher による Android Developers Blog の記事 "Recent Android App Bundle improvements and timeline for new apps on Google Play" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。





Android App Bundle が Google Play でアプリやゲームを公開する際の実質的な標準となってから、2 年あまりが経ちました。現在の実環境では、60 万以上のアプリやゲームで App Bundle が使われており、Google Play のすべてのリリースの 40% 以上を占めています。App Bundle は、Google Play のトップ デベロッパーの 50% が使用しています。たとえば Adobe の場合、App Bundle を使って Adobe Acrobat Reader のサイズを 20% 削減しました

最近リリースした Play Asset Delivery(PAD)は、App Bundle による大きなメリットをゲームにもたらします。PAD を利用すると、配信コストとゲームのサイズを減らしつつ、ユーザー エクスペリエンスを向上させることができます。Gameloft は、PAD を使ってユーザーの維持率を高め、以前のアセット配信システムの使用時に比べて新規プレイヤーが 10% 増加しました。App Bundle を使うために必要な Play App Signing に関するよくある質問App Bundle のテスト方法に関するガイダンスを公開しています。本記事では、App Bundle の開発、テスト、公開に関する最近行われた改善について説明します。

Google Play での機能配信


App Bundle を使うと、カスタマイズ可能な各種配信オプションを備えた動的機能モジュールによってアプリ開発をモジュール化できます。モジュール化したアプリを構築する際には、動的機能モジュールやベース モジュールのリソースの縮小もできるようになっています。この機能は長く待ち望まれてきたもので、アプリのサイズを大幅に削減できる可能性があります。この機能は、現在 Canary 版となっている Android Studio 4.2 以降で試験運用版フラグ android.experimental.enableNewResourceShrinker=true を指定すると利用できます。

デフォルトでは、App Bundle が配布用 APK に変換される際にインストール時モジュールが自動的に組み込まれます(bundletool 1.0.0 以降)。つまり、各端末に配布する APK の数を減らしつつ、開発時にアプリをモジュールに分割できます。これにより、アプリのダウンロードやインストールにかかる時間が短くなります。インストール時モジュールには「削除可能フラグ」を設定することもできます。その場合、組み込みが行われなくなるので、モジュールの使用後に端末からアンインストールできるようになります。大きなモジュールが不要になった場合は、削除するとよいでしょう。アプリのサイズを減らすことで、アンインストールされる可能性が低くなります。

Android Studio 4.0 では、機能間の依存性が安定版になっています。そのため、動的機能モジュールが他の機能モジュールに依存するように指定できます。この関係を定義できることで、アプリで追加機能を解放するために必要なモジュールが存在することを保証でき、その結果リクエストが少なくなり、アプリのモジュール化が簡単になります。

アプリの配信のテストで実際のユーザーと同じ操作を行ってみることが不可欠です。内部アプリ共有を使うと、テストビルドを Play にアップロードし、アプリをダウンロードできる共有可能なリンクを生成できます。このリンクからアプリをダウンロードすると、アプリを Play にリリースしたときにユーザーに提供されるものと同じバイナリを取得できます。

Play Asset Delivery


Play Asset Delivery は、App Bundle のフォーマットを拡張し、Google Play で公開する単一アーティファクトのバイナリと合わせて最大 2 GB のゲームアセットを格納できるようにします。PAD を使うと、150 MB 以上のゲームは以前の拡張ファイル(OBB)ではなく、ゲームのバイナリと同じように Google Play の機能を使ってアセットを最新に保つようになります。さらに、圧縮や差分パッチの対応、ダウンロード サイズの最小化、アップデートの高速化も行われます。


1 つのベース モジュール、2 つの動的機能モジュール、2 つのアセットパックのある Android App Bundle の内容


アセットをユーザーに配信するタイミングに応じて、3 つの配信モードから選択できます。install-time は、最初のゲームのインストールとともに配信します。on-demand は、リクエストされたときにのみ配信します。fast-follow は、ユーザーがアプリを開く操作とは関係なく、ゲームのインストールが完了した直後に追加ダウンロードが行われます。fast-follow を使うと、最初のインタラクションまでの時間を短縮しつつ、アセットをできる限り早くユーザーに配信できます。

今後数か月のうちに、テクスチャ圧縮フォーマットのターゲット指定をリリースする予定です。これを使うと、複数のテクスチャ圧縮フォーマットのアセットを含めておき、リクエストする端末がサポートする最も高度なフォーマットを自動選択して配信できるようになります。

詳細については、Game Developer Summit のこちらのセッションをご覧ください。また、Unity、Unreal Engine、Gradle、ネイティブ、Java のサポート オプションについては、ドキュメントをご覧ください。

Google Play による高品質の配信


Google Play は、無数の種類の端末を使う世界中の Android ユーザーに、毎月数十億のアプリやゲーム、アップデート、動的機能モジュールを配信しています。私たちは、ユーザー エクスペリエンスが複雑にならないようにしつつ、皆さんのコンテンツをできる限りシームレスかつ効率的にユーザーに配信するため、多くの時間と労力を費やしています。

たとえば最近では、Google Play で利用しているダウンロード サービスをアップグレードしました。この変更だけで、App Bundle によるアプリのインストールが平均 6% 高速化され、世界のインストール成功率が 1% 上昇しました。その結果、毎週のインストール数は数百万回増加しました。

また、動的機能モジュールの配信に関する複数の改善をロールアウトしています。たとえば、アプリが VISIBLE 以上の場合にモジュールのインストールを許可する、ストレージ不足エラーのしきい値となる空き領域を下げる、大きな動的機能を Wi-Fi でダウンロードする際のユーザーの確認を省略するなどです。これだけで、モジュールの遅延ダウンロードの成功率が 12% 上昇しました。動的機能を使うアプリでは、自動的にこの変更によるメリットが得られます。

2021 年下半期の新規アプリ要件


引き続き、Google Play で App Bundle を APK よりも優れた公開フォーマットにするための作業に取り組んでいます。たとえば、新しい App Bundle Explorer を使うと、すべての App Bundle を 1 か所で管理できます。Play が配信用に生成する APK そのものや、別の配信チャンネルで使用できる署名されたユニバーサル APK(サポート対象の端末に必要なすべてのコードやリソースを含む 1 つのインストール可能 APK)をダウンロードして確認することもできます。

App Bundle がアプリやゲームのエコシステムに広く普及することを大変嬉しく思っており、今後もその改善を続けてゆきます。Android 11 のイベントでお知らせしましたが、今後の改善に向けた労力を集中させるため、2021 年の下半期には、Google Play で新しいアプリやゲームを公開する際に Android App Bundle の使用が必須になる予定です。同じタイミングで、以前の APK 拡張ファイル(OBB)のサポートを終了し、Play Asset Delivery が、150 MB 以上のゲームを公開する際の標準オプションになります。また、インスタント対応にはインスタント対応 App Bundle による公開を必須とし、以前の Instant App の ZIP フォーマットのサポートを終了する予定です。

既に Android App Bundle に切り替えてくださっている皆さま、また、フィードバックを共有してくださった皆さま、ありがとうございます。皆さまのご意見は、App Bundle の将来を形作り、あらゆる人に向けたテクノロジーを改善するために役立ちます。ぜひ今後も感想をお知らせください。


Reviewed by Yuichi Araki - Developer Relations Team