Local blog for Japanese speaking developers
Android Q ベータ版の概要
2019年4月9日火曜日
この記事は Dave Burke による Android Developers Blog の記事 "
Introducing Android Q Beta
" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
投稿者: エンジニアリング部門副社長、Dave Burke
2019 年は、5G、縁なし画面、折りたたみ式画面などの新技術によって、かつてない勢いでモバイルの革新が進みます。
Android は、この技術革新サイクルの中心にあります
。そして、数十億台の端末を展開する幅広いパートナー エコシステムのおかげで、Android はハードウェア、ソフトウェアの境界を広げることに貢献し、ユーザーに新しい体験や機能を提供しています。
Android は、モバイル エコシステムの進化とともに、最新の技術革新を提供することを重視していますが、常にユーザーのセキュリティやプライバシーを最優先にしている点は変わりません。Android Q には、Google Play プロテクトやランタイム パーミッションなどの機能をベースとして、ユーザー向けのプライバシーやセキュリティ関連のたくさんの追加機能、折りたたみ式スマートフォン向けの機能拡張、新しいネットワーク接続 API、新しいメディア コーデックとカメラ機能、NNAPI 拡張機能、Vulkan 1.1 のサポート、アプリ起動の高速化などが導入されています。
本日は、先行ユーザー向けに Android Q のベータ版 1、デベロッパー向けにプレビュー版 SDK をリリースします。
Pixel 端末を登録
すると、ベータ版 1 を本日よりお試しいただけます(たくさんの要望を受けてサポートを拡大したので、オリジナルの Pixel と Pixel XL も含まれています!)。
フィードバックをお待ちしています
!ここからは、Android Q の新機能についてご紹介します。
5 月の Google I/O
では、さらに多くのことをお知らせします。ぜひそこでお会いしましょう。
Android のプライバシー保護を強化
Android の設計の中核にあるのは、セキュリティとプライバシーです。Android の成熟に伴い、
ファイルベースの暗号化
、
プライベートなリソースにアクセスする前にパーミッションを要求
することをアプリに義務づける OS 制御、
バックグラウンドでのカメラやマイクへのアクセス
の禁止、
ロックダウン モード
、
暗号化バックアップ
、
Google Play プロテクト
(毎日 500 億以上のアプリをスキャンし、有害な可能性があるアプリを特定、削除しています)など、さまざまなユーザー保護機能を追加してきました。Android Q では、ユーザー保護機能をさらに拡張しています。この機能拡張のほとんどは、
Project Strobe
による成果です。
位置情報の制御の向上
Android Q では、アプリが位置情報にアクセスできる場合、ユーザーがさらに細かく制御できるようになっています。今までのバージョンの OS と同じく、アプリが位置情報を使えるのは、アプリがパーミッションをリクエストし、ユーザーがそれを許可してからになります。
特にプライバシーに関わるのは、アプリが使われていない場合(バックグラウンドにある場合)の位置情報へのアクセスです。Android Q では、位置情報にアクセスさせない、アプリが使われている(実行されている)場合のみアクセスを許可する、常に(バックグラウンドにある場合も)アクセスを許可する、というパーミッションをアプリに与えることができます。
たとえば、食料品を配達するために位置情報へのアクセスを求めるのは合理的で、ユーザーはそれを許可しようと思うでしょう。しかし、現在使われていない場合には位置情報を必要としないため、ユーザーがアクセスを許可したくないようなアプリもあります。Android Q では、そこまで細かい制御ができるようになります。アプリにこの新しい制御を組み込む方法については、
デベロッパー ガイド
をご覧ください。今後のベータ版では、さらにユーザー中心の改善が行われる予定です。それとともに、私たちはもっと敏感になって、デベロッパーの皆さんに向けてこういった変更についてできる限り多くのお知らせやサポートを提供したいと考えています。
Android Q のその他のプライバシー保護
位置情報の変更と合わせて、透過性を保証し、ユーザーが制御できることを増やし、個人データを保護するための更新を行っています。
Android Q では、共有ファイルへのアクセスを制御することで、ユーザーが細かくアプリを制御できます。ユーザーは、新しいランタイム パーミッションを通して、アプリからの写真や動画、音声のコレクションへのアクセスを制御できます。アプリでダウンロードを行う際には、システムのファイル ピッカーを使う必要があります。これにより、ユーザーはアプリがどのダウンロード ファイルにアクセスできるかを決められるようになります。デベロッパーにとっては、アプリが外部ストレージの共有領域を使う方法が変わることになります。詳細については、
ストレージのスコープ化に伴う変更点
をご覧ください。
私たちは、アプリが予期せずフォアグラウンドになってフォーカスを奪い、ユーザーが(そしてデベロッパーも!)混乱する様子も見てきました。こういった中断を減らすため、Android Q では、アプリがバックグラウンドにいる間は、Activity を起動できなくなります。電話の着信を受けたり、アラームを鳴らしたりするなど、バックグラウンド状態からすばやくユーザーに注目してもらう必要があるアプリは、優先度の高い通知と全画面インテントを使うことができます。詳細については、
ドキュメント
をご覧ください。
端末の IMEI やシリアル番号など、リセットできない端末の識別子へのアクセスは制限しています。皆さんの使用例に適した識別子を探したい場合は、
ベスト プラクティス
や
こちら
に掲載されている情報をご覧ください。また、デフォルトでは、Wi-Fi ネットワークごとに端末の MAC アドレスを乱数化しています。これは、Android 9 Pie ではオプションで選択できた設定です。
早い段階でこういった変更点をお知らせしているのは、皆さんにできるだけ時間をかけて準備していただくためです。また、デベロッパーの皆さんには、前もって詳しい情報をお伝えできるように努力しています。プライバシーの変更に関する
詳しいドキュメント
を確認し、すぐにテストを始めることをおすすめします。
ユーザー エンゲージメントを高める新たな方法
Android Q では、ユーザーをアプリに引き込む新たな方法を実現するとともに、他のアプリから遷移する際の動作を効率化しています。
折りたたみ式スマートフォンと画期的な新画面
折りたたみ式端末は、画期的な操作と使用法を実現します。Android Q では、アプリをこういった端末やその他の大画面端末に対応しやすくするため、たくさんの改善が行われています。たとえば、
onResume
と
onPause
が変更されて複数のレジュームに対応できるようになり、アプリがフォーカスを受け取った際に通知されるようになります。また、折りたたみ式画面や大画面でのアプリの表示方法を管理できるように、
resizeableActivity
マニフェスト属性の動作も変更しています。このような新しい端末向けの開発やテストを始められるように、Android Emulator を複数の画面タイプの切り替えに対応させる作業を行っています。詳細については、近日中に改めてお知らせします。
ショートカット共有
写真などのコンテンツを別のアプリで誰かと共有したい場合、それをすばやく実現できる必要があります。Android Q では、ショートカット共有によってすばやく簡単に実現できます。この機能を使うと、直接別のアプリにジャンプしてコンテンツを共有できます。デベロッパーが共有ターゲットを公開すると、コンテンツが添付された状態で自分のアプリの特定のアクティビティが起動されます。共有ターゲットは、共通の UI でユーザーに表示されます。ターゲットはあらかじめ公開されているので、共有 UI は起動時に即座に読み込まれます。
ショートカット共有の仕組みは、アプリのショートカットが動作する仕組みと同じです。つまり、
ShortcutInfo API
を拡張して、両方の機能を簡単に組み合わせることができます。この新しい API は、新しい ShareTarget AndroidX ライブラリでもサポートされています。これにより、アプリは Q 以前の端末でダイレクト シェアを使いつつ、新しい機能も使うことができます。
こちらのソースコード
から、簡単なサンプルアプリをご覧ください。
設定パネル
新しい
Settings Panel API
を使うと、重要なシステム設定をアプリ内のコンテキストで直接表示できます。この API は、Android 9 Pie で導入された Slices 機能が活用されています。
設定パネルは、アプリから呼び出してユーザーにとって必要なシステム設定(インターネット接続、NFC、オーディオのボリュームなど)を表示するフローティング UI です。たとえばブラウザなら、機内モード、Wi-Fi(近くのネットワークを含む)、モバイルデータなどの接続設定を含むパネルを表示できます。これにより、アプリを離れる必要はなくなり、ユーザーは必要に応じてこのパネルで設定を管理できます。設定パネルは、新たに追加された
Settings.Panel アクション
のいずれかを指定してインテントを起動するだけで表示できます。
ネットワーク接続
Android Q では、アプリが Android の接続スタックでできることを拡張し、ネットワーク接続用の新しい API も追加しています。
接続パーミッション、プライバシー、セキュリティ
ネットワークをスキャンする API の大半は、低精度(COARSE)の位置情報パーミッションを必要とします。しかし、Android Q ではこれらの API に関連した保護が強化され、Bluetooth と携帯ネットワーク、Wi-Fi で高精度(FINE)の位置情報パーミッションが必要になります。アプリでピアツーピア接続や提案されたネットワークだけが必要になる場合は、以下の改善版 Wi-Fi API をご覧ください。この方法を使うと、簡単に接続できるだけでなく、位置情報のパーミッションも必要ありません。
Android Q では、接続する Wi-Fi ネットワークごとに MAC アドレスが乱数化されます。また、新しい Wi-Fi 標準である WPA3 と Enhanced Open のサポートも追加されているので、家庭や職場だけでなく、オープンまたはパブリックなネットワークのセキュリティも向上します。
ピアツーピア接続とインターネット接続の改善
Android Q では、Wi-Fi スタックをリファクタリングし、プライバシーとパフォーマンスを改善しました。それだけでなく、IoT 端末の管理やインターネット接続の提案などの一般的なユースケースを改善し、位置情報のパーミッションが不要になりました。
ネットワーク接続 API を使うと、ローカル Wi-Fi 経由で IoT 端末を簡単に管理し、設定、ダウンロード、印刷などのピアツーピア機能を利用できます。アプリは、
WiFiNetworkSpecifier
として好みの SSID や BSSID を指定し、間接的に接続リクエストを開始します。プラットフォームは Wi-Fi スキャン自体を管理し、一致するネットワーク接続を Wi-Fi ピッカーに表示します。ユーザーが選択すると、プラットフォームは自動的に接続を設定します。
アプリでネットワーク提案 API を使うと、インターネット接続用として、好みの Wi-Fi ネットワークをユーザーに表示することができます。アプリは、ランク付けされたネットワークと認証情報の一覧を
WifiNetworkSuggestion
として提供し、間接接続を始めます。これらのネットワークの範囲内にいる場合、プラットフォームが過去のパフォーマンスに基づいてシームレスに接続を行います。
Wi-Fi パフォーマンス モード
Android Q では、高パフォーマンス モードおよび低遅延モードを有効化することで、用途に応じて柔軟に Wi-Fi をリクエストできます。リアルタイム方式のゲームや音声通話など、ユーザー エクスペリエンスにとって低遅延が重要な場合、この機能が非常に役立ちます。
新しいパフォーマンス モードを使うには、
WIFI_MODE_FULL_LOW_LATENCY
または
WIFI_MODE_FULL_HIGH_PERF
を指定して
WifiManager.WifiLock.createWifiLock()
を呼び出します。この 2 つのモードでは、プラットフォームが端末のファームウェアと連動し、最低消費電力で要件を満たすように動作します。
カメラ、メディア、グラフィック
写真のダイナミック デプス形式
モバイル端末の多くのカメラは、対象物に対して前景や背景をぼかすことで、浅い被写界深度を仮想的に実現しています。つまり、イメージ上のさまざまな点で深度メタデータを取得し、イメージに静的なぼかしを適用してから、深度メタデータを破棄しています。
Android Q 以降では、アプリはダイナミック デプス イメージをリクエストできます。このイメージは、JPEG、深度に関連する要素が格納された XMP メタデータ、深度と信頼度のマップで構成され、ダイナミック デプスをサポートしている端末では、これらが同じファイルに埋め込まれます。
JPEG + ダイナミック デプスのイメージをリクエストすると、アプリで特殊なぼかしやぼけのオプションを提供できます。将来的には、このデータから 3D イメージを作成する、AR 写真をサポートする、といったユースケースにも対応できるようになります。ダイナミック デプスは、エコシステムのためのオープンな形式にする予定で、端末メーカーのパートナーと協力して、Android Q 以降を実行するさまざまな端末で利用できるように作業を進めています。
ダイナミック デプス イメージを使うと、アプリで特殊なぼかしやぼけのオプションを提供できる。
新しいオーディオと動画のコーデック
Android Q には、オープンソース動画コーデック
AV1
のサポートが追加されています。これを使うと、メディア プロバイダは高品質動画コンテンツを
少ない帯域幅
で Android 端末にストリーミングできます。また、Android Q は
Opus
を使ったオーディオ エンコードもサポートしています。このコーデックは、会話や音楽のストリーミングや、サポートされている端末ではハイ ダイナミック レンジ動画用の
HDR10+
に最適です。
MediaCodecInfo API
を使うと、Android 端末の動画レンダリング能力を簡単に判断できます。VideoCodecCapabilities.getSupportedPerformancePoints() に任意のコーデックを指定すると、サポートされているサイズとフレームレートの一覧を取得できます。これにより、どんな端末でも、最高の品質で動画コンテンツを選んでレンダリングできるようになります。
ネイティブ MIDI API
C++ でオーディオ処理を行うアプリのために、Android Q は NDK 経由で MIDI 端末と通信できる
ネイティブ MIDI API
を導入しています。この API を使うと、非ブロック読み取りを使ってオーディオ コールバック内から MIDI データを取得し、MIDI メッセージを低遅延で処理することができます。サンプルアプリと
こちらのソースコード
で試してみてください。
Vulkan の ANGLE
ゲームやグラフィックスのデベロッパーにさらなる一貫性を提供するため、Vulkan をベースにしたすべての端末を対象として、更新可能な標準 OpenGL ドライバを導入する作業を進めています。Android Q には、Android 端末の Vulkan 上に構築した
ANGLE
の試験運用版サポートを追加します。ANGLE は、実装によらない高パフォーマンスな OpenGL として設計されたグラフィックス抽象化レイヤーです。OpenGL ES を使う多くのアプリやゲームは、ANGLE を通して Vulkan のパフォーマンスと安定性を活用でき、Android 端末で、ベンダーに依存しない一貫性のある ES 実装を利用できます。Android Q では OpenGL ES 2.0 をサポートする予定です。ロードマップの次の予定では ES 3.0 がサポートされる予定です。
この実装は、OpenGL 機能の追加、バグの修正、パフォーマンスの最適化によって拡張する予定です。Android の現在の ANGLE サポート状況、使用方法、今後の計画などについては、
ドキュメント
をご覧ください。設定のデベロッパー オプションからオプトインすると、初期サポートのテストを始めることができます。ぜひお試しください。
すべての場所に Vulkan を
Android で
Vulkan
のインパクトを拡大する取り組みとして、高パフォーマンス 3D グラフィックス向けの低オーバーヘッド、クロスプラットフォーム API を
実装する
作業が続いています。その目的は、Android の Vulkan を広くサポートされた一貫性のあるグラフィックス用デベロッパー API にすることです。現在、端末メーカーのパートナーと協力し、Vulkan 1.1 が Android Q 以降を実行するすべての 64 ビット端末で必須、すべての 32 ビット端末で推奨となるように作業を進めています。これにより、今後、統一された高パフォーマンス グラフィックス API が提供され、アプリやゲームで利用できるようになるでしょう。
Neural Networks API 1.2
2017 年に Neural Networks API(NNAPI)が導入されてからも、サポートされる操作の数の拡大と、既存機能の改善を続けています。Android Q では、さまざまなパフォーマンス最適化と合わせて、ARGMAX、ARGMIN、量子化 LSTM など、60 個の新命令を追加しています。これは、物体検知やイメージ セグメンテーションなど、数多くのモデルを高速化する土台となります。現在、NNAPI 1.2 のサポートを最適化してリリースするために、ハードウェア ベンダーや
TensorFlow
などの人気のある機械学習フレームワークと協力して作業を進めています。
Android の土台の強化
ART のパフォーマンス
Android Q には、ART ランタイムに対する複数の新たな改善が含まれています。これにより、デベロッパーが何もしなくても、アプリの起動は速く、メモリ消費量は少なくなります。
Android Nougat 以来、ART は
プロファイルに基づく最適化
(PGO)を提供してきました。時間とともに、コードの頻繁に実行される部分が特定され、事前にコンパイルされるようになるので、アプリの起動も速くなります。最初のアプリの起動に役立てるため、Google Play が APK と合わせてクラウドベースのプロファイルを提供するようになります。これは、匿名化された集計済み ART プロファイルです。アプリが実行されなくても ART がアプリの一部を事前コンパイルできるようになるので、最適化プロセス全体をいきなり高速に始めることができます。クラウドベースのプロファイルは、すべてのアプリに役立ちます。この機能は、Android P 以降を実行している端末で既に利用できるようになっています。
ART 自体の改善も続いています。たとえば Android Q では、アプリのプロセスをあらかじめ開始し、それをセキュリティ コンテナに移動することで Zygote プロセスを最適化しています。これによって、いつでもアプリを即座に起動できるようになります。アプリのヒープイメージに、クラスなど、さらに多くの情報を格納するようにして、そのイメージをスレッドを使って高速に読み込みます。また、ART の並列コピー(CC)ガベージ コレクタに、世代別ガベージ コレクションを追加しています。世代別 CC を使うと、若い世代のオブジェクトを個別に回収するため、効率が上昇します。コストは完全ヒープ GC と比較してかなり低くなりますが、それでも十分な領域を再利用できます。時間や CPU に注目した全体的なガベージ コレクションの効率は上がり、ジャンクは減ってローエンド端末でもアプリの動作が快適になります。
アプリのセキュリティ
BiometricPrompt
は、システムレベルでバイオメトリックをサポートするための統合認証フレームワークです。Android Q では、顔認証などのパッシブ認証手法のサポートを拡大するとともに、暗黙的および明示的な認証フローを追加しています。明示的フローでは、認証を行う際に、ユーザーが明示的に TEE のトランザクションを確認する必要があります。暗黙的フローは、パッシブ認証を利用してトランザクションの代わりに軽量な代替手法を使うように設計されています。また、必要な場合は、端末の認証情報にフォールバックできるように改善しました。
Android Q には、
TLS 1.3
のサポートも追加しています。これは TLS 標準の大きな改訂で、パフォーマンスの向上とセキュリティの強化が含まれています。私たちのベンチマークによれば、TLS 1.3 による安全な接続の確立は、TLS 1.2 よりも 40% ほど高速になっています。デフォルトでは、すべてのTLS 接続に対して TLS 1.3 が有効になっています。詳しくは
ドキュメント
をご覧ください。
一般公開 API による互換性維持
私たち全員が気にしているもう 1 つの点は、OS の変化や進化が起こっても、アプリがスムーズに動作し続けるようにすることです。非 SDK API を使っているアプリは、ユーザーにはクラッシュのリスクが、デベロッパーには緊急リリースのリスクがあります。Android Q では、アプリが一般公開 API のみを使うようにするための
Android P から始まった
長期的取り組みを継続しています。アプリで非 SDK API の使用をやめるには時間がかかることは承知しています。そのため、
事前
に
お知らせ
もしています。
Android Q では、アクセスを禁止する
非 SDK インターフェースが増加
しています。代わりに一般公開されているインターフェースを利用するようにしてください。アプリを壊さずに移行できるように、アプリが Android Q をターゲットにしている場合のみ、この制限が有効になるようにしています。代替用の一般公開 API は、今後も皆さんのリクエストに応じて追加する予定です。ユースケースを満たす一般公開 API がないという方は、
お知らせください
。
非 SDK インターフェースの使用については、
アプリをテストする
ことが重要です。アプリがリフレクションや JNI 経由で非 SDK API にアクセスした場合に警告されるように、StrictMode のメソッドである
detectNonSdkApiUsage()
を使うことをおすすめします。現時点で API が制限の対象になっていなくても(グレーリスト)、今後のために計画を立ててその API の使用をやめて、互換性の問題を減らすようにしてください。Android Q の制限の詳細については、
デベロッパー ガイド
をご覧ください。
最新の Android
私たちは、すべてのアプリが最新版 Android のセキュリティ機能やパフォーマンス機能をすべて利用できるようにする努力を続けています。今年、Google Play では、新規アプリやアップデートで、
アプリの targetSdkVersion を 28
(Android 9 Pie)に設定することが求められるようになる予定です。この変更と合わせて、Android Q では API レベル 23(Android Marshmallow)より前のプラットフォームをターゲットにしているアプリを初めて実行した際に、ダイアログで警告が表示されるようになります。アプリの移行に役立つ
リソースのチェックリスト
はこちらです。
エコシステムも、64 ビット端末対応に向けて動いています。今年中に Google Play では、
すべてのアプリで 64 ビットのサポート
が必須になります。アプリでネイティブの SDK やライブラリを使っている方は、64 ビット対応版のSDK やライブラリを使う必要があることを覚えておいてください。対応方法の詳細については、
デベロッパー ガイド
をご覧ください。
Android Q ベータ版を使ってみる
アプリに影響する可能性が高い重要なプライバシー機能があるので、すぐにテストを始めることをおすすめします。特に、Android Q のストレージの変更、位置情報パーミッションの新たなステータス、バックグラウンド アプリ起動の制限、端末識別子の制限を有効にしてテストしてみるといいでしょう。詳細については、
プライバシーに関するドキュメント
をご覧ください。
まずは、Android Q ベータ版を実行している端末または
Android Virtual Device
に、Google Play から現在のアプリをインストールして、ユーザーフローを試してみます。すべてのアプリについて、適切な見栄えで動作し、Android Q の
動作の変更点
に問題なく対応できるようにしてください。問題を見つけた場合は、ターゲット レベルを変更せずに、現在のアプリを修正することをおすすめします。手順や推奨スケジュールについては、
移行ガイド
をご覧ください。
次に、できるだけ早くアプリの targetSdkVersion を 'Q' にアップデートします。これにより、アプリですべての Android Q のプライバシー機能やセキュリティ機能に加え、その他の
Q を対象としたアプリの動作の変更点
もテストできるようになります。
新しい機能と API を試してみる
準備ができたら、Android Q に移行し、アプリで使うことができる
新しい機能や API
について学習してください。まずは、
API 差分レポート
、Android Q ベータ版
API リファレンス
、デベロッパー ガイドを確認するといいでしょう。また、
Android Q ベータ版デベロッパー サイト
には、
リリースノート
や問題を報告するための
サポート リソース
も掲載されています。
Android Q でビルドを行うには、Android Q ベータ版 SDK およびツールを Android Studio 3.3 以降にダウンロードし、
こちら
の手順に従って環境を設定します。Android Q に関連する変更点の最新の修正を手に入れたい場合は、
Android Studio 3.5
以降を使うことをおすすめします。
Android Q ベータ版の入手方法
Android Q ベータ版の OTA アップデートを受け取るのは簡単です。Pixel 端末を
こちらから登録
してください(今年は、Pixel 3、Pixel 2 に加え、オリジナルの Pixel も含めた 3 世代すべての Pixel をサポートします!)。これらの端末用のダウンロード可能なシステム イメージも
公開されています
。Pixel 端末をお持ちでない方は、Android Emulator を使うことができます。Android Studio の SDK Manager から、最新のエミュレータのシステム イメージをダウンロードしてください。
プレビュー システム イメージと SDK は、プレビュー期間中、定期的にアップデートされる予定です。ベータ版プログラムの進行と合わせて、他の機能についてもお知らせします。
いつものように、皆さんのフィードバックは重要です。
お気づきの点はぜひお知らせください
。早めにお知らせいただければより多くのフィードバックを反映できます。問題を見つけた場合は、
こちらから報告
をお願いします。ホットリストは、
プラットフォームの問題
、
アプリの互換性の問題
、
サードパーティ SDK の問題
のそれぞれを記録できるように分割されています。
Reviewed by
Takeshi Hagikura - Developer Relations Team
ラベル
.app
1
.dev
1
#11WeeksOfAndroid
13
#11WeeksOfAndroid Android TV
1
#Android11
3
#DevFest16
1
#DevFest17
1
#DevFest18
1
#DevFest19
1
#DevFest20
1
#hack4jp
3
11 weeks of Android
2
A/B Testing
1
A4A
4
Accelerator
3
Accessibility
1
Actions on Google
16
Activation Atlas
1
Addy Osmani
1
ADK
2
AdMob
32
Ads
67
Ads API
66
Advanced Protection Program
3
AdWords API
14
Agency
1
AI
13
AIY
3
AIY Vision Kit
2
ALPN
1
AMP
116
AMP Cache
9
AMP Camp
2
AMP CSS
1
AMP Extension
1
AMP Fest
1
AMP for Email
4
AMP Optimizer
1
AMP Packager
1
AMP Playground
1
AMP Plugin
1
AMP SSR
1
AMP Story
4
AMP Toolbox
1
amp-bind
1
amp.dev
1
AMPHTML Ads
1
Analytics
9
Andorid
12
Android
393
Android 10
1
Android 11
20
Android 11 Compatibility
1
Android 11 final release
1
Android 11 meetups
1
Android 9
1
Android App Bundle
1
Android App Development
23
Android Architecture
1
Android Architecture Components
1
Android Auto
1
Android Design Support Library
1
Android Developer
14
Android Developer Story
4
Android Developers
13
Android Enterprise
5
Android for cars
2
Android Go
1
Android Jetpack
6
Android N
18
Android O
14
Android Open Source Project
1
Android P
7
Android Pay
1
android privacy
1
Android Q
13
android security
2
Android Security Year in Review
1
Android Studio
47
Android Studio 4.1
1
Android Support Library
6
Android Things
15
Android Tools
2
Android TV
11
Android Vitals
4
Android Wear
29
android11
6
androidmarket
3
androidstudio
1
AndroidX
6
Angular
2
Angular 2
2
AngularJS
2
Anthos
2
AoG
1
aosp
1
API
26
APIExpert
45
apk
2
APM
1
app
3
App Action
1
App Bundle
2
app engine
23
App Indexing
7
App Invites
6
App Maker
2
AppCompat
2
Apps Flutter eBay
1
Apps Script
11
aprilfool
4
AR
2
Architecture Components
7
ARCore
1
ArtTech
1
Associate Android Developer Certificate
1
Audio
7
Auth Code
1
Authentication
9
AuthSub
2
Autofill
4
AutoML
1
Autotrack
2
award
1
Awareness API
1
Beacons
6
bento
1
BERT
1
Best Practices
1
beta
1
Better Ads Standards
3
BigQuery
10
Billing
1
Biometrics
1
BLE
4
Blink
1
Blockly
1
blogger
1
BodyPix
1
Brillo
1
Brotli
2
Budou
1
Buildbetterapps
2
Calendar
3
campaign
1
Campus
1
Canvas
1
Cardboard
4
Career
1
Case Study
2
CCPA
1
CDS 2020
3
CDS Recap 2020
3
Certificate
2
chrome
189
Chrome Custom Tab
4
Chrome Dev Summit
5
chrome extension
14
Chrome for Android
2
Chrome for iOS
3
Chrome OS
7
Chrome Tech Talk Night
4
Chromebook
4
Chromecast
7
chromewebstore
9
Chromium
7
CLI
1
ClientLogin
3
Closure Compiler
1
Cloud
23
Cloud AI Platform
1
Cloud Firestore
5
Cloud Functions
9
Cloud IoT Device SDK
1
Cloud Next
9
Cloud OnAir
3
Cloud OnBoard
4
Cloud PubSub
1
Cloud Storage
1
Cloud Study Jams
3
Cloud Summit
1
Cloud Test Lab
2
Cloudflare
1
CNN
1
Coalition for Better Ads
2
CocoaPods
1
code review
1
codejam
5
codelab
5
Codepen
1
Colaboratory
1
Community
5
compatibility
1
Compose
1
compute engine
3
Contests
1
Context
1
controls
1
Conversation API
1
conversations
2
conversion
1
Cookie
10
Coral
2
COVID-19
2
Crash Reporting
2
Crashlytics
2
Custom Element
1
Custom Model
1
CWV
1
dark theme
1
Dart
2
DataCenter
1
Daydream
4
Deep Learning
4
Delegation
1
Demo Party
1
Design Patterns
1
Design Sprint
3
DesignBytes
1
Designer
1
DevArt
3
DevBytes
6
Developer
14
Developer Console
4
Developer Preview
6
Developer Relations
2
Developer Review
1
Developers Story
4
DevFest
10
DevFestX
3
DevOps
1
devtools
4
Dialogflow
1
Differential privacy
1
Digital Goods API
1
DirectShare
1
Discover
1
DNS-over-HTTPS
4
Domain
1
Doodle
1
DoubleClick
4
Doze モード
1
drive
2
DX
1
Dynamic Links
3
EarlGrey
1
Easter Egg
1
ECMAScript 2015
1
Eddystone
4
Edge
1
egypt
1
Encryption
1
English
2
Envoy
1
error
1
ES2015
1
ES2016
1
ES6
2
ES7
1
Event
6
Featured
25
FIDO
5
filter
1
final release
1
Firebase
120
Firebase Admin SDK
6
Firebase Analytics
10
Firebase Auth
4
Firebase Cloud Messaging
10
Firebase Crashlytics
2
Firebase Database
5
Firebase Libraries
1
Firebase Notifications
1
Firebase Performance
3
Firebase Remote Config
6
Flash
1
Flutter
6
Flutter App Development
1
font
3
fraud
1
G Suite
19
game
42
Game Developers Conference 2018
1
Game Developers Conference 2019
1
Gboard
1
GCP
17
GCPUG
1
GDC
1
GDD11JP
56
GDD2010JP
23
GDE
2
GDG
21
GDG Cloud
1
Geo
55
Gingerbread
1
GLIDE
5
Gmail
5
Gmail API
2
Go
1
golang
5
goo.gl
1
Google
7
Google Analytics
3
Google API
1
Google Apps
14
Google Apps Script
4
Google Assistant
10
Google Assistant SDK
2
Google Cast
8
Google Cloud
34
Google Cloud Day
4
Google Cloud INSIDE Digital
2
Google Cloud INSIDE Games & Apps
8
Google Cloud INSIDE Media
1
Google Cloud INSIDE Retail
3
Google Cloud Messaging
11
Google Cloud Platform
16
Google Code-in
1
Google Developer Experts
2
Google Developers Academy
1
Google Developers live
5
Google Developers Summit
2
Google Drive
6
Google Earth
1
Google Fit
2
Google for Games
2
Google for Mobile
2
Google for Startups
4
Google for Work
1
Google I/O
17
Google Impact Challenge
1
Google Maps
62
Google Maps Platform
50
Google ML Summit
2
Google Open Source Peer Bonus
1
Google Pay
4
Google Photo
1
Google Play
147
Google Play App Safety
1
Google Play Billing
1
Google Play Console
15
Google Play developer distribution agreement
1
Google Play Developer Policies
2
Google Play Game Services
10
Google Play Instant
1
Google Play Services
23
Google Play Store
1
Google Play アプリ署名
1
Google Plus
14
Google Search
7
Google Sheets API
3
Google Sign-In
12
Google Slides API
5
Google Summer of Code
1
Google Tag Manager
1
Google Trust Services
2
Google マップ
4
google_ads_api_v6
1
Google+
2
Googleapps
10
GoogleGames
1
GoogleI/O
28
GoogleLabs
1
GooglePlay
3
GoogleTV
1
GPS
1
Gradle
1
gRPC
2
GTUG
5
GWT
2
hack4jp
2
hackathon
7
Hangouts Chat
2
Hosting
3
hotel
1
HTML5
17
HTML5Rocks
1
HTTP/2
5
HTTPS
14
I/O Extended
4
ID Token
1
Identity
15
Identity Toolkit
1
IGF2010
4
IGF2020
2
Ignite
4
IME
11
Indie Game
7
Indie Games Festival
7
Indie Games Festival 2018
2
Indie Games Festival 2019
12
Indie Games Festival 2020
7
Inevitable ja Night
30
Insights
1
Instagram
1
Instant Apps
6
intern
2
Invites
1
IO19
3
iOS
22
IoT
7
IPv6
1
Issue Tracker
2
IWD
1
Japanese
6
Japanese Developer
1
Japanese Input
1
JavaScript
11
Jetpack
5
Jetpack Compose
3
K-12
1
Key Transparency
1
Knowledge Graph
1
Kotlin
24
Kotlin Android Extensions
1
Kotlin Beginners
3
Kotlin Vocabulary
2
Kubernetes
2
l10n
8
latest
18
latest news
1
LaunchPad
2
lifull
1
Lighthouse
1
LINE
1
Local AI
1
Location
1
Lollipop
10
Machine Learning
29
MAD Skills
2
MADSkills
2
Maker Faire Tokyo
1
Marshmallow
10
Material
1
Material Design
31
MDL
1
MDN
1
metrics
1
MIDI
2
mikan
1
Mixed Contents
4
ML
1
ML Kit
12
Mobile
15
Mobile Bootcamp
4
Mobile Sites certification
1
Mobile Vision
4
mod_pagespeed
1
Model Maker
1
monetization
2
monetize
3
Mozc
15
Music
1
NativeDriver
2
NativeScript
1
Navigation
1
NBU
1
ndk
3
Nearby
5
News
1
Next Extended
1
Next Tokyo
3
Nexus
2
Nexus S
1
NFC
1
Node.js
3
notifications
2
Noto CJK
1
Now in Android
13
NPAPI
2
NPN
1
oauth
12
open source
1
OpenAI
1
opencensus
1
OpenGL
4
OpenID
3
OpenID Connect
4
OpenSocial
1
opensource
18
OpenTitan
1
Optimization
1
Page Experience
1
Password Manager
2
Payment
8
Payment Handler API
1
Payment Request API
1
PDF
1
PEM
33
people
2
People API
3
Performance
14
Performance budget
1
permissions
1
PersonFinder
1
Physical Web
3
Pi
1
Pixel
1
Place Picker
1
Platform Stability
1
Play Billing
2
Play Billing Library
2
Play Console
2
Player Analytics
4
Playtime 2017
1
Policy
8
policy compliance
2
policy violations
2
Polymer
7
pricing
1
privacy
13
Privacy Sandbox
15
Progressive Web Apps
14
project hosting
1
Promise
1
Promo code
1
Protocol Buffers
1
PRPL
1
publicdata
1
Push API
1
Push Notification
6
PWA
3
Python
2
QUIC
2
QWIKLABS
3
RAIL
1
React
1
React Native
2
Realtime Database
9
Recap Live Japan 2019
3
reCaptcha
1
Redux
1
release
2
Remote Config
3
Remote Display API
1
Requirements
1
Resonance Audio
1
Rewarded Video Ads
2
Runtime Permission
1
Safe Browsing
3
safety
1
Sample Code
2
Santa Tracker
1
schema.org
1
script
1
secur
1
security
72
Service Worker
4
SHA-1
1
sketchup
1
SmartLock for Passwords
4
social
4
Social Good
1
Social Media
1
software development
1
SPDY
3
speak2tweet
1
Spreadsheet
3
SSR
1
stable release
1
startup
7
Storage
2
story
2
streetview
3
Study Jams
9
subscriptions
5
sunset
1
Swift
2
SwiftShader
1
Symantec
1
tag
1
tapple
1
Task
4
Team Drive
1
techtalk
13
TensorFlow
41
TensorFlow Federated
1
TensorFlow Lite
8
TensorFlow Object Detection API
1
TensorFlow Probability
2
TensorFlow.js
4
test
4
Test Lab
6
TF Certificate
2
TFX
1
TLS
1
ToS
1
trace
1
Transliteration
1
Trusted Web Activity
1
Twitter
1
Udacity
20
Unity
3
update
1
UX
5
v3
1
v6.1
1
V8
3
VP9
1
VR
11
Vulkan
2
Watch Face
2
wave
2
Wear OS
3
Weave
1
Web
34
Web Animations
1
Web Components
7
Web Manifest
1
Web Packaging
3
Web Stories
2
Web Story
3
Web Vitals
5
web.dev
1
WebAssembly
5
WebGL
1
WebM
1
WebMusic
5
WebRTC
1
WebView
1
Women Techmakers Scholars Program
1
Wordpress
1
workmanager
1
WTM
6
Xcode
1
YouTube
17
YouTube API
1
インタビュー
1
コードサンプル
1
プライバシー
1
機械学習
3
言論の自由
1
節電
3
定期購入
1
東日本大震災
9
日本語入力
41
ブログ アーカイブ
2021
3
2
1
2020
12
11
10
9
8
7
6
5
4
3
2
1
2019
12
11
10
9
8
7
6
5
4
3
2
1
2018
12
11
10
9
8
7
6
5
4
3
2
1
2017
12
11
10
9
8
7
6
5
4
3
2
1
2016
12
11
10
9
8
7
6
5
4
3
2
1
2015
12
11
10
9
8
7
6
5
4
3
2
2014
12
11
10
9
8
7
6
5
4
3
2
1
2013
12
11
10
9
8
7
6
5
4
3
2
1
2012
12
11
10
9
8
7
6
5
4
3
2
1
2011
12
11
10
9
8
7
6
5
4
3
2
1
2010
12
11
Feed
Follow @googledevjp
"プロダクトに関するご意見は
プロダクトフォーラム
にお願いします"