Quantcast
Channel: Google Developers Japan
Viewing all 2211 articles
Browse latest View live

Google Cast 対応アプリケーションへのアナリティクスの導入

$
0
0
[この記事は Google Cast サーバー基盤チームのソフトウェア エンジニア、Chris Dolan による Google Developers Blog の記事 "Introducing Analytics for Google Cast Applications" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]


Google Cast 対応アプリケーションのデベロッパーである皆さんは、アプリケーションにアクセスしているデバイスの数、それらのデバイスが開始しているセッションの数、それらのセッションがコンテンツを再生する時間数などを把握したいと思うことがあるでしょう。その場合、これまでは、自力でその情報を得るための仕掛けを実装しなければなりませんでした。しかし、もうその必要はありません。上記のデータはすべて Google Cast デベロッパー コンソールから直接参照できるようになりました。

この機能を試すには、まず通常どおりにデベロッパー アカウントでデベロッパー コンソールにログオンします。[Applications] テーブルで、[Statistics] 列に追加されている [View] リンクをクリックしてください。
キャプション: アプリケーションのページでは、個々のアプリに対して [View] リンクが表示されるようになりました


アナリティクス ページには、各メトリックへのタブ、時間の経過によるメトリックの値の変化を示すインタラクティブなグラフ、直近の 1 日のデータを示すテーブルなどが記載されています。[Devices] タブにはアプリを起動した Cast 対応デバイスの数、[Sessions] タブにはアプリの Cast セッションの数、[Avg. Playback] タブにはアプリ(*)の 1 セッションあたりのメディア再生時間の平均値がそれぞれ示されます。
アナリティクス ページにはタブ、グラフ、データのテーブルが表示されます


各タブのデータは、総計、国別、送信者のプラットフォーム別などのように、値の尺度を変えて表示することができます。特定の国やプラットフォームの値を参照するには、テーブル上で参照したい列を単純にクリックします。各タブのデータは 1 日 1 回のペースで更新され、これらの値の総計は 1 週間(7 日)、2 週間(14 日)、4 週間(28 日)の周期で集計されます。集計の周期を切り替えるには、画面右上に表示されている期間ピッカーから使用する周期を選択してください。

皆さんがこうしたアナリティクスから、Google Cast アプリケーションの利用状況に関する知見を得て、アプリケーションの改善に活用されることを願っています。詳細については、デベロッパー ドキュメントを参照してください。
* メディアの再生機能がないアプリについては、メディア再生時間の平均値は表示されません

Posted by Eiji Kitamura - Developer Relations Team

Apps Script のメールサービスに対する変更

$
0
0
[この記事は Google Apps Script プロダクト マネージャー、Saurabh Gupta による Google Apps Developers Blog の記事 "Change to Mail Service in Apps Script" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

Apps Script でメールを送信するには、2 つの方法があります。1 つは MailApp の sendEmailメソッドで、もう 1 つは GmailApp の sendEmailメソッドです。この 2 種類のメソッドの違いの 1 つは、MailApp の sendEmail メソッドでは、デベロッパー自身が Gmail ユーザーでなくても使用できることです。たとえば、Google Apps を使っているので、Gmail ではなく Apps Script を代わりに使っているユーザーがいるとします。このユーザーは MailApp でメールを送信することはできますが、GmailApp で送信することはできません。

2016 年 9 月 13 日以降、一般の無料 Google アカウントを利用しているユーザー(コンシューマー)、Google Apps for Educationのユーザー、および Google Apps(無償版)のユーザーが Apps Script のメールサービスでメッセージを送信する場合は、Gmail へのアクセスが必須となります。コンシューマーは、Google アカウントで端末にサインインすれば、Gmail を利用することができます。ただし、この場合、Gmail が Google アカウントのプライマリ アドレスになることに注意してください。Google Apps ドメインの管理者(Google Apps for Education および無償版のみが対象)は管理コンソールを使って、ドメイン全体の Gmail を有効にすることができます。

この変更のために、既存のコードを更新する必要はありません。MailApp は引き続き利用できます。ただし、Gmail にサインアップしていることを確認してください。このような変更がデベロッパーに深刻な影響を及ぼす場合があることは承知していますが、デベロッパーの皆様に配慮しながら、変更プロセスを慎重に進めていきます。

Posted by Eiji Kitamura - Developer Relations Team

V8 で WebAssembly を試験運用開始

$
0
0
[この記事は WebAssembly カウボーイ、Seth Thompson による V8 JavaScript Engine の記事 "Experimental support for WebAssembly in V8" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

WebAssembly の包括的な概要と、将来コミュニティでどのようにコラボレートされるかについては、Mozilla Hacks ブログの記事「A WebAssembly Milestone(WebAssembly のマイルストーン)」を参照してください。

Google、Mozilla、Microsoft、Apple そして W3C の WebAssembly コミュニティ グループは 2015 年 6 月以降、ウェブのための新しいランタイムおよびコンパイル ターゲットである WebAssembly の 設計仕様決定、実装 [1][2][3][4]に精力的に取り組んできました。WebAssemblyは、コンパクトなバイナリ形式でエンコードされるように設計された、低レベルでポータブルなバイトコードであり、メモリに影響を及ぼさないサンドボックス環境内でネイティブ コードとほぼ同じ速度で処理されます。これまで築いてきたテクノロジーの進化を体現するものとして、WebAssembly はウェブ プラットフォームと密接に統合されるだけでなく、ネットワーク経由のダウンロード速度を向上させ、JavaScript の低レベルのサブセットであるasm.jsよりも速くインスタンス化することができます。

3 月 15 日より、V8 JavaScript エンジンと Chromium プロジェクトで WebAssembly が利用できるように、試験運用機能として実験的にサポートが開始されました。V8 で WebAssembly を試すには、バージョン 5.1.117 以降の d8を起動し、コマンドラインで --expose_wasmフラグを指定してください。または、Google Chrome Canary 51.0.2677.0 以降を起動し、chrome://flags#enable-webassemblyと入力することで WebAssembly 実験機能をオンにする方法もあります。ブラウザを再起動すると、WebAssembly モジュールを生成して実行する API を公開する JavaScript コンテキストから、新規の Wasmオブジェクトが利用できるようになります。Mozilla および Microsoft の協力により、互換性のある WebAssembly が 2 種類実装され、Firefox Nightlyおよび Microsoft Edgeの非公開ビルドでそれぞれ動作します(下記に示したビデオのキャプチャ画像を参照してください)。

WebAssembly プロジェクトのウェブサイトでは、3D ゲームで使われるランタイムのデモが公開されています。WebAssembly をサポートするブラウザでは、デモページは WebGL やそれ以外のウェブ プラットフォームの API を利用する wasm モジュールを読み込んで起動し、対戦型ゲームをレンダリングします。それ以外のブラウザでは、同じゲームの asm.js バージョンにフォールバックして動作します。

https://webassembly.github.io/demo/

V8 の WebAssembly 実装は内部的に、既存の JavaScript 仮想マシン(VM)のインフラ、特に TurboFan コンパイラーをできるだけ再利用するように設計されています。WebAssembly デコーダは特殊な設計となっていて、型チェック、ローカル変数のインデックス、関数の参照、戻り値、同一パス内の制御フローの構造でモジュールを検証します。その後、デコーダは TurboFan のグラフを作成しますが、このグラフはさまざまな最適化パスで処理され、最終的には、最適化された JavaScript と asm.js 向けのマシンコードを生成する同一のバックエンドによって、マシンコードに変換されます。今後の数か月で、チームはコンパイラーのチューニング、並行処理、コンパイル方法の改良など、V8 実装の起動時間の改善に集中して取り組む予定です。

当面のところ 2 つの変更が計画されていますが、これが実現すると、デベロッパーの操作が大幅に改善されるでしょう。WebAssembly は、一般的なテキストで表現されるため、デベロッパーは WebAssembly バイナリのソースを他のウェブ スクリプトやリソースと同じ方法で参照することができます。また、現在プレースホルダーとして使われている Wasmオブジェクトの設計が一新されるので、JavaScript から WebAssembly モジュールを生成したり参照したりするための、より強力で慣用的なメソッドやプロパティを提供できるようになります。

V8 および WebAssembly チームは、安定したランタイムのリリースを目指して、前出のブラウザ ベンダーとの協力関係を今後も継続し、コミュニティを拡大させていきます。また、私たちは、将来の WebAssembly の機能(マルチスレッド動的リンク作成ガベージ コレクションとファーストクラス DOM との統合など)の開発計画も立てており、また WebAssembly の LLVM バックエンドおよび Emscriptenから C、C++、およびそれ以外の言語をコンパイルするためのツールチェーンも引き続き開発していきます。今後も設計や実装プロセスの改善を続けていきますので、時々確認してくだされば幸いです。

Posted by Yoshifumi Yamaguchi - Developer Relations Team

Android デベロッパー ストーリー: Daeri Soft、Google Play ゲーム サービスによって事業を世界規模に拡大

$
0
0
フリースタイル野球2など、マルチプレーヤー対応のオンライン対戦ゲームで知られる韓国のゲーム デベロッパー、Daeri Softは 2008 年に設立されました。今では 1 日当たりのダウンロード数が全世界で 1300 万回を数えるほどになりました。地域別の内訳は、15% がアメリカ、韓国、日本、台湾の 3 地域の合計が 28% となっています。

Google Play ストアでは表示アイコンの変更ができるので、Daeri Soft がストア内のアプリの表示方法を工夫したところ、アプリのダウンロード数が 200% 以上増加しました。この成果について、同社の CEO である Dael Yu 氏 が語った、こちらの動画をご覧ください。Dael Yu 氏はさらに、世界中のサーバーをサポートし、世界規模でプレーヤー同士の適切な組み合わせを実現できる機能を持つ Google Play ゲーム サービスを同社がどう活用したかについても、詳しく語っています。


Google ではデベロッパー ガイド、Secrets to App Success on Google Play(Google Play でアプリを公開して成功を収めるための秘けつ)を公開しています。このドキュメントで Google Play ゲーム サービスについての知識を深めて、あなたのゲーム事業の成長につなげてください。

Posted by Hidenori Fujii, Google Play

Chrome 50 ベータ版: プッシュ通知の改良、宣言型プリロードなど

$
0
0
[この記事は通知の騎士、Peter Beverloo と Nicolás Satragno による Android Developers Blog の記事 "Push notification improvements and declarative preload" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

特に記載のない限り、下記の変更は Android、Chrome OS、Linux、Mac、Windows 向けの最新の Chrome ベータ版に適用されます。

プッシュ通知の改善

サイトからプッシュ通知を使って、ネイティブ アプリケーションと同じ方法でシステムレベルの通知をトリガーできるようになりました。プッシュ通知の初期バージョンでは、サーバーからの通知に対し、Service Worker が自ずから情報を取得することが前提でした。この仕様は、複数のメッセージが飛び交っている場合や、デバイスのネットワーク接続が不安定な場合にはうまく機能せず、問題の原因となっていました。最新バージョンの Chrome では、サイトで通知データのペイロードをプッシュ メッセージに含むことができるようになるため、サーバーの確認は不要になります。ユーザーのプライバシーを保護するため、プッシュ通知のペイロードは暗号化しなければなりませんプッシュ通知のペイロードPush API 仕様の一環であり、Firefox では既にサポートされています。

ペイロードに加えて、サイトはユーザーが通知をクローズしたことも検出できるようになります。これによってアナリティクスの精度が向上し、複数デバイスでの通知削除ができるようになりました。また、通知の外観を細かく設定できます。たとえば、カスタムのタイムスタンプや通知アクションのカスタム アイコンの設定などです。さらに通知の更新時に、デバイスがその通知を音やバイブレーションで知らせるか、無音のままにするかを指定することもできます。
Chrome 50 では、通知アクションにカスタム アイコンを使用できるようになりました

宣言型プリロード

ウェブページの中には、Chrome が複数の場所からリソースを読み込まないと、完全な形で表示できないタイプのものがあります。たとえば、サイズの大きな JavaScript ファイルには特殊なスタイルシートが必要な場合がありますが、その場合 Chrome 側では、いったん JavaScript を実行してみないと CSS も読み込む必要があるかどうかわかりません。Chrome では <link rel='preload'>属性がサポートされます。今後デベロッパーは、あらかじめダウンロードしておくリソースを指定できるようになったので、ユーザーが意味の分かる状態のコンテンツを表示するまでの時間を短縮できます。

 
Chrome 50 でプリロードを実行してページを読み込んだ状態(左)と、プリロードができない Chrome 49 でページを読み込んだ状態(右)

今回のリリースに追加されたその他の機能


細かな変更

  • Chrome の TLS で X25519 曲線がサポートされました。これによって、暗号化がより簡素かつ高速になります。
  • -webkit-background-compositeは標準化の対象外になり、また利用度も低いため削除されました。
  • SVGZoomEvent は Chrome 上では何も動作をしませんが、より正確に仕様に準拠するため、廃止されました。
  • RTCPeerConnectionのメソッドである createOffer() と createAnswer() は、promise ベースの実装を有効にするので廃止されました。
  • <link rel='subresource'> は、上記のとおり<link rel='preload'> で置き換えるので廃止されました。
  • XMLHTTPRequestProgressEvent は、より正確に仕様に準拠するため、ProgressEvent で置き換えられ、削除されました。
  • Document.defaultCharset属性は、より正確に仕様に準拠するため、削除されました。
  • KeyboardEvent.prototype.keyLocation は、より多くのブラウザでサポートされている KeyboardEvent.prototype.location で置き換えられ、削除されました。
  • SVGElement.offset* メソッドは、より正確に仕様に準拠するため、HTMLElement 以外の全要素から削除されました。

Google Play でゲーム ビジネスを成長させる: ゲームのパラメータ管理、動画の録画、ストリーミングへの広告掲載など

$
0
0
[この記事は Google Play ゲーム、プロダクト マネージャー、Morgan Dollard による Android Developers Blog の記事 "Grow your games business on Google Play: Game parameters management, video recording, streaming ads, and more" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]


世界 190 か国からアクセスしてくるモバイル ゲーマーに支えられ、Google Play ゲームを通して、活発で多様性にあふれたコミュニティが誕生しました。プレイヤーのエンゲージメント(ゲームの滞在時間)は、伸びる一方です。インストール数が 100 万を超えたゲームの本数は、この 1 年で 50%増となっています。

先日開催された「ゲーム デベロッパーズ カンファレンス」(GDC)の「デベロッパーズ デイ」で、私たちはここで、あらゆる規格の端末に対応する、開発者向けの新しいプラットフォームと広告ツールを発表しました。世界中から集まったこのカンファレンスの参加者に情報を届けることで、ゲーム業界の成長を加速させることが狙いです。ゲーム デベロッパーがアプリを構築し、ユーザー ベースを拡大させて収益を伸ばすのを支援するための全機能を、以下で詳しく説明します。

Google Play ゲームをプレイヤーにとって、より楽しい場所にする

今年 2 月、私たちはゲーマー ID を導入しました。プレイヤーの皆さんがゲーム上の「ペルソナ」を作って保存できるようにするためです。また、Google Play ゲームのサインイン プロセスも簡素化して、プレイヤーの皆さんが、より早くゲームにアクセスできるようにしました。さらにゲームのソーシャル機能をより強化してもっと楽しいものになるよう、プロダクトの改良にも取り組んでいます。より多くのプレイヤーがより長くゲームを続けたくなるような改良を目指しています。その一例として、「ゲーマーフレンド」の仕組みがあります(近く開始予定です)。Google Play のゲームアプリの中から、プレイヤーが友人を招待したり交流したりできるようになります(Google+ アカウントは必要ありません)。

さらに Google Play 上の新しいコレクション、「インディ コーナー」も始める予定です。これは独立系のデベロッパーが開発した、すばらしいゲームを取り上げて紹介するコーナーです。独立系デベロッパーが作ったゲームで、このコーナーで取り上げてほしい、すごいものがあったら、ぜひ g.co/indiecornersubmissionにアクセスして教えてください。私たちは、ゲームの操作体験の質と、そのデベロッパーの Google Play ゲーム サービスの利用状況が他の模範となるかどうかを検討し、紹介に値する最高のゲームを選びます。

Google Play ゲームサービスの強力な新機能でゲームをさらに成長させる

今年の 1 月、私たちは Google Play ゲーム サービスに関する無料のレポートツールである Player Analytics の新しい機能を公開しました。これによってプレイヤーの進行、購入、ゲームからの離脱などの状況を把握できます。本日は、向こう数か月以内に公開予定の新しいツールについて、その一部を先取りして、以下に紹介します。
  • ゲーム パラメータの管理: ゲーム パラメータの管理について、ゲームの進行状況やゲーム上でやり取りする通貨などのパラメータを更新する際、APK に変更を加えたりアプリを再度提出したりする必要はありません。デベロッパー コンソールまたは Google Play Developer API から、仮想グッズや仮想通貨を最適化することができるようになります。



Google Play のデベロッパー コンソールを使ったゲーム パラメータの管理



  • ビデオ録画 API: アプリ画面の録画が簡単にできるようになります。ごく簡単な手順で、録画を YouTube に投稿して友達とその動画を共有することもできます。また、ライブストリーミング機能も追加する予定です。したがって、皆さんの華麗なプレイを YouTube からリアルタイムで放送することもできるようになります。
  • 予測アナリティクス: Player Stats API に予測アナリティクス機能が追加されたので、どのグループのプレイヤーが頻繁に購入しているか、ゲームから離脱しそうなグループはどれか、などの状況を把握できます。また、新しい予測機能が、近日中に追加されます。向こう 30 日間に購入が見込まれるプレイヤーの人数と、そのプレイヤーが多額の購入をする確率です。この予測が可能になると、予測によって特定したプレイヤーについて、購入額やエンゲージメントが増えるように、エクスペリエンスをあらかじめ微調整することもできるようになります。ここから
    Player Stats API の情報を入手してください。
「ユーザーの画面に広告を表示しなければ、アプリ内課金(IAP)トランザクション数が、15% は増加するのではないか」– Avetis Zakharyan、Underwater Apps CEO


広告のフォーマットとターゲットを一新して上質のゲーマーを特定、維持、収益化する

ゲームをアピールしてユーザーをとにかく増やすことは大切です。しかし肝心なのは、あなたのゲームのファン、つまり、そのゲームに何度もアクセスしてプレイを続けてくれる人たちを増やすことです。そこで本日私たちは、ゲーム デベロッパーの皆さんがアピールの規模を拡大して、簡単にゲームのファンを増やせるように、新しい機能を発表しました。
  • お試しプレイ検索広告: 私たちは数週間後に、ユーザーにあなたのゲームを試用プレイしてもらう新しい方法を公開する予定です。これは新しい広告のフォーマット、「お試しプレイ検索広告」(Search Trial Run Ads)で、Google 検索でゲームを検索したときに有効になります。検索結果上で [TRY NOW] をタップすると、そのゲームを最長 10 分間プレイすることができて、ゲームを気に入った場合はフルバージョンをダウンロードできます。この広告は、スマートフォンユーザーが WiFi 接続しているときだけ表示されます。このフォーマットを使うと、インストール後に長時間ゲームを楽しんでくれそうなユーザーをインストールに誘導することができます。



SGN 社のゲーム「Panda Pop」のお試しプレイ検索広告


  • 横長画面対応の動画広告: Google ディスプレイ ネットワークでモバイル アプリに表示される動画広告の 80% 以上は縦長画面で表示されますが、実際の広告は横長画面用に制作されている場合も珍しくありません。私たちは数週間以内に、横長画面のフルスクリーンで長所を最大限に活用する、横長画面対応の動画広告を公開します。横長画面対応の動画広告を導入すると、クリックスルー率もコンバージョン率も大幅に向上することがわかっています。これによってインストール 1 回あたりのコストが下がり、より多くのインストールにつながります。
  • ゲームサービスのアクティブ ユーザーのターゲティング: 数週間以内に、Android アプリ向けに、新しいタイプのユーザー ターゲティングを展開する予定です。直近の 30 日間にゲームを 30 分以上プレイしたユーザー、またはGoogle Play ゲームを導入しているゲームをプレイしたユーザーを対象として、広告を表示できるようになります。

AdMob を使ってゲームの収益を増やす

AdMob とは、アプリ内広告によって世界中のゲーム デベロッパーが収益を最大化するのを支援する仕組みです。私たちは GDC で、AdMob メディエーションによって収益を増やすのを支援する、新しい方法を発表しました。報酬付き広告という手法は、ゲームの収益化を実施する際によく使われるものの 1 つです。ユーザーは、広告を見るのと引き換えに、アプリ内で何かの報酬を得ます。AdMob メディエーションを使うと、多数の広告プロバイダーが提供している報酬付き動画広告をアプリに導入できるので、あなたのアプリを簡単に収益化することができます。現在までにサポートしているネットワークやプラットフォームには、AdColony、AppLovin、Chartboost、Fyber、Upsight、Vungle などがありますが、これ以外にも随時続々と追加されています。

この件および広告に関する詳細は Inside AdWordsブログでご覧ください。

以上の取り組みは、私たちの今年 2016 年の計画のうち、ほんの一部に過ぎません。皆さんが以上のツールを活用してゲームを改善することで、より多くのユーザーを引き付け、事業と収益が拡大することを私たちは願っています。

Posted by Khanh LeViet - Developer Relations Team

Chrome アプリ ランチャーの廃止

$
0
0
[この記事は Marc Pawliger、エンジニアリング ディレクターによる Chromium Blog の記事 "Retiring the Chrome app launcher" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

アプリ ランチャーは、Chrome アプリをブラウザ以外の場所から起動するために用意されていましたが、最近の調査で、Windows、Mac、Linux のいずれのユーザーも、Chrome アプリはブラウザから起動するのを好むことがわかりました。Chrome ではブラウザ機能の簡素化と合理化を進めているため、これらのプラットフォームのアプリ ランチャー機能は削除されます。なお Chrome OS 上の変更はありません。

この削除プロセスは、今後数か月をかけて少しずつ進める予定です。まずは数週間後から、Chrome アプリを初めてインストールした場合に、そのアプリについては Chrome のランチャーでの起動ができなくなります。現在ランチャーを利用中のユーザーの皆様には、ランチャーの廃止について説明する通知を送信します。ランチャーの既存のインスタンスは 7 月に削除されます。

Chrome アプリにアクセスするには、従来どおり、ブックマーク バーに表示されている該当アプリのショートカットをクリックするか、アドレスバー(オムニボックス)に「chrome://apps」と入力してください。Chrome アプリを起動する手順の詳細は、Chrome ヘルプセンターにアクセスしてドキュメントを参照してください。

Posted by Eiji Kitamura - Developer Relations Team

Google API コンソールのご紹介

$
0
0
[この記事は Israel Shalom、プロダクト マネージャーによる Google Developers Blog の記事 "Introducing the Google API Console" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

毎日、何十万人ものデベロッパーが、Google マップから YouTubeに至るまでのさまざまな Google API に、何百万件ものリクエストを送信しています。認証情報、リクエスト上限数の割り当てなどを参照するためにコンソールにアクセスしている何千人ものデベロッパーの皆さんの、コンソール操作の効率をより高めることを目指し、私たちは改良を継続しています。

3 月 24 日より、全面的な Google API エクスペリエンスの向上を目的として、console.developers.google.comで API コンソールの展開を順次進めています。ナビゲーション バーに 20 以上のセクションが配置されていた従来のものより、かなりすっきりとしてシンプルなインターフェースになり、[API Manager]、[Billing]、[Permissions] のみが表示されます。

図 1: API コンソールのホームページ

図 2: API コンソールのナビゲーション セクション


console.cloud.google.com の変更はなく、従来どおり、Google Cloud Platform サービス スイート全体にアクセスできる Cloud Console を参照します。これらの 2 つのコンソールは別のものを参照しますが、根底にあるリソースは同じです。つまり、Cloud Console で作成したプロジェクトには API コンソールからもアクセスでき、その逆も可能です。

新しい API コンソールの狙いは、共通の API 関連タスクをより速く完了させることです。たとえば、新規プロジェクトでまず API を有効化したら、次のステップは通常、認証情報の作成です。そこで私たちは、認証情報の作成手順を用意しました。このツールは、デベロッパーの皆さんが必要な認証情報を素早く見つけるために役立ちます。API を有効化した後、速やかに認証情報を追加できます。


図 3: API を有効化すると、[Credentials] セクションへのアクセスを促される


図 4: 資格情報ウィザード


Google の各種 API を利用している多くのデベロッパーの皆さんのために、私たちは、今後も継続して API コンソールの操作改良に取り組む予定です。もし皆さんがこれらのコンソールのユーザーであれば、API コンソールを試し、フィードバックを送信するボタンから感想をお寄せください。


Posted by Khanh LeViet - Developer Relations Team

Google Developers Summit : Android と Progressive Web Apps を開催します。

$
0
0
Google では、2016 年 4 月 25 日(月)と 26 日(火)に Google のテクノロジーにフォーカスした開発者向けイベントを開催いたします。本イベントでは、Google のエンジニアや Google Developer Expert が、Google の開発プラットフォーム、API、SDK、ツールなどの活用方法をご紹介します。

Google Developers Summit : Android

gds<em>android</em>n.png
4 月 25 日に開催する Google Developers Summit : Android では、3 月 9 日に公開された Android N デベロッパープレビューや Android Studio 2.0 Beta についてのセッションを行います。Android N から実装されたマルチウィンドウやダイレクトリプライ、Android Studio 2.0 Beta で追加された新しいエミュレータについてのセッションを行います。

イベント概要

【イベント名】 Google Developers Summit : Android
【日程】 2016 年 4 月 25 日(月) 13:30 - 17:30 (開場: 13:00)
【場所】コクヨホール、東京都港区港南 1 丁目 8 番 35 号
【定員】 300 名
【申し込み期日】 2016 年 4 月 13 日 (水) 18:00

本イベントへの申し込み、詳細はこちらのサイトをご覧ください。
※参加可能な方へは 4 月 15 日(金)までに順次参加証を送付いたします。

Google Developers Summit : Progressive Web Apps

gds<em>pwa</em>n.png
4 月 26 日に開催する本イベントでは、モバイル Web のユーザー体験を向上させる Progressive Web Apps についてのセッションを行います。

Progressive Web Apps 対応のモバイル Web では、オフライン時やネット接続が不安定な場合でも素早い読み込みを実現したり、プッシュ通知を送信することでユーザー エンゲージメントを向上させたり、ホーム画面にアイコンを設置したり、フルスクリーンの体験を実現する事ができます。

イベント概要

【イベント名】 Google Developers Summit : Progressive Web Apps
【日程】 2016 年 4 月 26 日(火) 13:30 - 18:30 (開場: 13:00)
【場所】コクヨホール、東京都港区港南 1 丁目 8 番 35 号
【定員】 300 名
【申し込み期日】 2016 年 4 月 13 日 (水) 18:00

本イベントへの申し込み、詳細はこちらのサイトをご覧ください。
※参加可能な方へは 4 月 15 日(金)までに順次参加証を送付いたします。

Progressive Web Apps Hackathon

また、4 月 27 日には、株式会社リクルートホールディングスのTech Lab PAAKと共催で、Progressive Web Apps ハッカソンを渋谷PAAKにて開催します。

ハッカソンへの参加ご希望の方はこちらのサイトより申し込みください。

開発者の皆様の参加をおまちしております。

Posted by Takuo Suzuki - Developer Relations Team

イノベーション東北が Field Hack プロジェクトを開始しました

$
0
0
Google が運営する、地域活性化プロジェクトを応援するプラットフォーム「イノベーション東北」 では、Engadget 日本版情報科学芸術大学院大学(IAMAS)と協力し、フィールドワーク(現地調査)を通じて得るヒントをもとに、地域内外のメンバーで構成されるチームで地域課題にテクノロジー・ものづくりのスキルで挑むプロジェクト、Field Hackを開始いたしました。第一回目の開催地は、NPO アスヘノキボウの協力のもと、宮城県女川町で行います。

Field Hack ONAGAWA の流れ

ご興味のある方は、イノベーション東北の特設ページよりお申し込みいただけます。(締切:4/11 23 : 59 )
定員は 30 人となり、応募時のスキルなどを確認したうえで事務局が選考し、4 月 15 日までにその結果をご連絡します。通過者は参加費用 1 万 5000 円(旅費は含まず)をお支払いいただき、本登録に進んでいただきます。

全体で集まるプログラムは合計 4 日間あり、チームごとににプロトタイピングを行う期間は 3 週間ほどあります。



イベント概要

  • 4/22(金)キックオフミーティング @ Google 東京オフィス
    女川町の方々と Google ハングアウトでつながりながら、プログラムの内容説明とチーム分けを発表します。また、Field Hack にアドバイザーとして参加する Google Developer Relations チームより活動のヒントになるテクノロジーに関する情報をご紹介します
  • 5/7(土)& 5/8(日) @ 女川町フューチャーセンターCamass 他
    現地でチームごとにテーマを設けてフィールドワークを実施。その後、アイデア出し、ハードウェアスケッチと進み、2 日間かけてプロトタイピングに向けての準備を行います。なお 7 日から 8 日にかけての宿泊施設は事務局にて用意します。プロトタイプ制作のサポート体制は地域と技術の 2 本柱。地域サポートは女川にいさん・女川ねえさんと呼ぶ現地の協力者たちが地域目線でサポートします。技術サポートは IAMAS の小林茂教授と Google Developer Relations チームが担当します。
  • 5/29(日)発表会 @ 女川町 まちなか交流館
    フィールドワーク&ハッカソンから 3 週間後の日曜日に発表会です。チームごとに、制作したプロトタイプが実際にどのように地域で機能するのか、女川で現地の人を前に発表します。


こんな人におすすめ
対象
  • 女川が大好きな方
  • 地域に関心がある方
  • 地域で起業を目指している方
  • ギークな方
  • 企画・開発・デザインに興味がある方
  • ガジェット、ものづくりに興味がある方
  • 多様なスキルをもつ参加者とネットワーキングしたい方
スキル
  • ソフトウェア(組み込み/Android 向けアプリ/iOS アプリ/フロントエンド/バックエンド/画像処理/音声処理)
  • ハードウェア(電子回路/機構/無線)
  • プロトタイピング(Arduino/Raspberry Pi/mbed/konashi など)
  • クリエイティブ(UI/UX/グラフィック/プロダクト/音楽制作/映像制作)
  • ものづくり(木工/金工/樹脂)
  • 企画
  • プロジェクトマネジメント
  • マーケティング
  • デザイン(UI/UX)
  • デザイン(グラフィック)
開発者のみなさまの参加をおまちしております。

Posted by イノベーション東北 チーム

Udacity を活用して生産性の高いウェブ デベロッパーになろう

$
0
0
[この記事は Paul Bakaus、Google ウェブ デベロッパー アドボケートによる Google Developers Blog の記事 "Become a Highly Productive Web Developer with Udacity" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

ウェブ デベロッパーになろうとすると、覚えなければならないことがたくさんあります。忘れられがちなのは、最高のウェブ デベロッパーは、適切な JavaScript API やフレームワークが選べたり CSS の謎を理解しているだけでなく、日々の生産性を大幅に向上させる多数のツールを利用しているということです。





私たちはこのたび、ウェブツールと自動化 (Web Tooling & Automation) のコースを Udacity に公開しました(コースは英語)。皆さんがデベロッパーとしてのキャリアに弾みをつけることができるよう、既存デベロッパーの多くが少しずつ学んできた情報をまとめてお伝えします。

学ぶ理由は「キャリアを始めたばかりだから」でも、「生産性ツールについての認識を改めたいから」でもかまいません。 Udacity のコースにアクセスし、エディタのセットアップ方法、強力なビルドスクリプトの作成方法、ライブエディット(コードの実行と編集を並行して進める)の方法、lint の実行方法、その他あらゆる素晴らしい最適化ツールについて学んでください。

Google Sign-In 利用のための OAuth クライアントの登録

$
0
0
[この記事は Isabella Chen、ソフトウェア エンジニアと Laurence Moroney、デベロッパー アドボケートによる Android Developers Blog の記事 "Registering OAuth clients for Google Sign-In" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

Google Play サービス 8.3 の公開に合わせて、Google Sign-In API大幅に更新し、クライアント側とサーバー側の両方の認証をサポートするよう改善しました。この API は、安全な認証認可を保証するために、内部的に OAuth 2.0 トークンを使用します。セキュリティを確保するため、このトークンを使ってクライアントを登録できるツールをGoogle デベロッパー コンソールに用意しました。

本稿では、Google Sign-In を利用するために OAuth クライアントを登録するという重要なタスクと、そのタスクをできるだけ簡単に実行するためのツールについて説明します。

デベロッパーの皆さんに当てはまりそうなシナリオを、以下のとおり想定しました。
  1. まず、Google デベロッパー コンソールでプロジェクトを新規作成します。これによって、クライアント アプリが登録されます。
  2. プロジェクトにバックエンド サーバーが存在する場合は、そのサーバーで使用する OAuth クライアント ID も取得する必要があります。
  3. また、あなたのアプリに複数のテスト バージョンやリリース バージョンがある場合は、その OAuth クライアントも忘れずに登録します。

また、上記のプロセスを詳しく説明し、その際に陥りがちな落とし穴についても考察します。

はじめに: Google デベロッパー コンソールでのプロジェクトの作成

Google Sign-In を今回初めて使う場合には、まずこのサイトの「Get a configuration file」セクションの記述に従って、アプリに API を組み込む作業が必要です。以下の図 1 で示すとおり、OAuth 2.0 のクライアント ID を作成するためのセットアップ ウィザードが表示されます。



図 1. アプリの設定


アプリを指定すると、Google Sign-In、Google クラウド メッセージング、Google Analytics など、アプリで利用できるサービスを選択し個別の設定を行うための画面が表示されます。

[Google Sign-In] を選択します。これを利用するには、あなたの Android アプリの署名証明書の SHA-1 を取得する必要があります。この証明書はデバッグ版でもリリース版でもかまいませんが、このブログではデバッグ版を使用します。ただし、最終的に利用する予定のあるパッケージや証明書のペアすべてについて、1 つずつこのプロセスを繰り返さなければならないことに注意してください(本稿の最後のセクションでもっと詳しく説明します)。

デバッグ版の SHA-1 は、以下の keytool コマンドを実行して取得することができます。

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

SHA-1 が取得できたら、以下の図 2 のとおり、その情報を入力します。



図 2. Google Sign-in の有効化


これでプロジェクトの設定は完了です。Sign-In API を組み込む作業に取りかかれる状態になりました。ただし、バックエンド サーバーや追加のパッケージ名またはキーストアと連携させるプロジェクト設定が必要な場合は、以下の手順に進んでください。

サーバーの設定 - サーバーが同一プロジェクト内に登録されていることの確認

アプリのデータを格納するウェブ サーバーやクラウド サーバーを運用している場合、バックエンド用の OAuth クレデンシャルが必要です。この詳細については、ID トークンおよびサーバーの認証コードに関するドキュメントを参照してください。

上記のフローを利用する前には、Google デベロッパー コンソールでウェブ サーバーの登録が正しく行われているかどうかを確認する必要があります。ここまでの処理が完了すると、プロジェクトを選択する画面が表示されます。下記の図 3 を参照してください。



図 3. Google デベロッパー コンソールでプロジェクトに直接アクセス


プロジェクトを選択してから [Continue] ボタンを選択すると、直接 [Credentials] タブに移動できます。このタブでは、あらゆるタイプのクレデンシャルを管理できます。「OAuth 2.0 client IDs」セクションを確認してください。前述のセットアップ ウィザードで自動的に作成された「Web client」と「Android client for com.my.package.name」が表示されています。下記の図 4 を参照してください。



図 4.デベロッパー コンソールの [Credentials] タブ - ウェブ サーバーの OAuth クライアント情報


ここで、「Web client」のクライアント ID に注目してください。下記の図のとおり、アプリとサーバーの両方の ID が必要です(過去にプロジェクトを作成しており、そのプロジェクトの「Web application」に OAuth 2.0 クライアント ID がない場合は、[New Credentials]、[OAuth client ID] の順に選択して、クライアント ID を新規作成してください)。

バックエンド認証の ID トークン フローを利用する場合は、Android アプリの開発を開始する際に、GoogleSignInOptions にお使いのサーバーのウェブ クライアント ID を指定して ID トークンをリクエストします。

GoogleSignInOptions gso =
new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(serverClientId)
.requestEmail()
.build();

続いてサーバー側で、オーディエンスとなるウェブ アプリケーションに、同じ OAuth クライアント ID を設定します。

GoogleIdTokenVerifier verifier =
new GoogleIdTokenVerifier.Builder(transport, jsonFactory)
.setAudience(Arrays.asList(serverClientId))
.setIssuer("https://accounts.google.com")
.build();

検証が正常に終了すると、新たにサインインしたユーザーを認証し、セッションを発行することができます。

また、Google API へのバックエンド アクセスでサーバー認証コードフローを使用する場合も、Android 上でサーバーのウェブ クライアント ID を指定して、GoogleSignInOptions でサーバー認証コードをリクエストしてください。

GoogleSignInOptions gso =
new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestScopes(new Scope(Scopes.DRIVE_APPFOLDER))
.requestServerAuthCode(serverClientId)
.requestEmail()
.build();

サーバー上では、OAuth クライアント ID と「クライアント シークレット」の両方が有効です。Google が提供しているサーバー SDK では、ダウンロードした JSON 構成ファイルをそのまま利用できます。「ダウンロード」アイコンをクリックして JSON ファイルをダウンロードし(図 4 を参照)、以下のコードで GoogleClientSecrets を作成します。

GoogleClientSecrets clientSecrets =
GoogleClientSecrets.load(
JacksonFactory.getDefaultInstance(),
new FileReader(PATH_TO_CLIENT_SECRET_FILE));

この時点で、アプリはサインインしたユーザーの権限で認証済みの Google API にアクセスできるようになります。「クライアント シークレット」は文字どおりシークレット(秘密)なので、Android クライアントに公開することのないように注意してください。

複数環境の管理 - プロジェクトに別のクライアント ID を登録する

環境が異なれば(たとえば別のデベロッパーの環境や、本番環境とテスト環境の違いなど)、1 つのアプリに別々のパッケージ名が割り当てられたり、証明書が異なる(当然 SHA-1 キーも異なる)ことも珍しくありません。Google では、パッケージ名と SHA-1 で署名した証明書のフィンガープリントを組み合わせて使用し、Android アプリを一意に識別します。したがって Google デベロッパー コンソールでは、すべてのパッケージ名と SHA-1 フィンガープリントの組み合わせを登録しておくことが重要です。

たとえば、現在のパッケージのリリース版を登録するには、以下の図 5 で示すように [New Credentials]、[OAuth client ID] の順に選択します。続いてステップに従い、パッケージ名と本番環境のキーストアの SHA-1 を追加します。



図 5.デベロッパー コンソールの [Credentials] タブ - OAuth クライアント ID を追加で作成する

これであなたも、アプリを実行するさまざまな環境に対応し、ユーザーにリリースできるようになりました。

本稿によって、OAuth キーを登録する方法についての皆さんの理解が深まり、皆さんのアプリやサーバーのセキュリティの維持が以前より容易になることを願っています。詳細については、Google Developers サイトの Google Identity Platform のドキュメントを参照してください。

Posted by Eiji Kitamura - Developer Relations Team

アプリやウェブサイトに没入型コンテンツを埋め込む VR View の紹介

$
0
0
[この記事は Nathan Martzプロダクト マネージャーによる Google Developers Blog の記事 "Introducing VR view: embed immersive content into your apps and websites " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

たとえば、旅行アプリにあるカメの写真があっても、それは広い海に潜ってカメを見るのとは異なります。また、不動産情報サイトにダイニングルームの説明があっても、それは実際に家の中を見て回る体験には及びません。デベロッパーにとって、没入型の要素を導入することは、ありきたりでない魅力的なアプリやウェブサイトを作る決定的な違いとなります。そこで私たちは、Android や iOS、ウェブサイトに没入型のコンテンツを素早く簡単に埋め込むことができるツール、VR View を発表しました。




VR View を使えば、撮影した 360 度の VR イメージや動画をインタラクティブなエクスペリエンスに変換し、スマートフォンや Cardboard ビューア、デスクトップ パソコンから見ることができるようになります。ネイティブ アプリに VR view を埋め込むには、最新の Cardboard SDK for Androidまたは Cardboard SDK for Android for iOS*に、コードを数行追加します。ウェブへの VR View の埋め込みは、サイトに iframe を追加するだけです。ウェブ デベロッパー向けに HTML と JavaScript のオープンソース コードを githubで公開していますので、それぞれのニーズに合わせてセルフホストや修正が行えます。

VR View を埋め込むと、旅行や不動産からニュースやエンターテインメントにいたるまで、ストーリーを共有しユーザーに愛される、魅力的な没入型の視覚エクスペリエンスを素早く簡単に構築できるようになります。皆さんが作成したコンテンツを見られるのを楽しみにしています。

* Google はこのたび、ネイティブの Cardboard SDK for iOS を公開しました。この新しい SDK は、標準的な Objective-C で記述され、使いやすい CocoaPods の Pod としてパッケージ化されており、Cardboard SDK for Android で利用できる機能がすべて含まれています。

Posted by Khanh LeViet - Developer Relations Team

Google for Mobile: Game Bootcamp 開催のお知らせ

$
0
0

Google for Mobile は、Google が主催するモバイルサービス・コンテンツ提供事業者の皆様をサポートするためのイベントです。今回のイベントでは、ゲームデベロッパーの皆様を対象に、先日サンフランシスコで行われた GDC (Game Developers Conference) 内で Google からの発表内容を改めて説明させていただくとともに、Google Cloud Platform、Google AdWords、AdMob、Google Play のそれぞれの製品からゲームビジネスをさらに発展させていただくために役立つ実践的ノウハウを共有させていただきます。

また Google Cloud Platformトラックでは、3月 23日(水)にサンフランシスコで開催された GCP Next 2016で発表された最新情報はもちろん、日本ならではの内容も事例を交えながらご紹介致します。

是非ご参加ください。


<イベント概要>

日程
2016年4月20日(水)

スケジュール
9:30: 受付開始
10:00 - 11:30: 基調講演
11:35 - 13:00: ライトニングトーク
14:00 - 18:00: ブレイクアウトセッション(Google Cloud Platform トラック と Google Play/Google AdWords/AdMob トラック の 2 トラック)

※ 2 トラックの中から、お好きなセッションにご参加いただけます。
18:00 - 19:30: ハッピーアワー

会場
六本木アカデミーヒルズ

住所:〒106-6149 東京都港区六本木6丁目10番1号 六本木ヒルズ森タワー49F
アクセス:東京メトロ 日比谷線「六本木」駅1C出口より徒歩3分(コンコースにて直結)

お申し込みサイト
※サイト内招待制イベントとなっておりますが、一般のお客様へのお席もご用意がありますので、ぜひお申し込みください。

お問い合わせ
Google for Mobile 運営事務局
Email: mobile-app-event@jp-seminar.com

Vulkan デベロッパー ツールを用いた開発環境のご紹介

$
0
0
[この記事は Shannon Woods、テクニカル プログラム マネージャーによる Android Developers Blog の記事 "Optimize, Develop, and Debug with Vulkan Developer Tools" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

本記事では、Vulkan™に対応した Android 開発ツールのプレビューをお届けします。Vulkan は、Google が Khronos グループの一員として開発に携わった、新しい 3D レンダリング API であり、デベロッパーが GPU を明示的に、かつ少ないオーバーヘッドで制御できるのが特徴です。Vulkan では CPU のオーバーヘッドが減少するため、総合ベンチマークでシングル コアでのドローコールのスループットを比較すると従来の OpenGL ES の 10 倍にもなります。マルチコアを並列的に高効率で使うことを可能にするスレッディングとの相性が良い API 設計は、ドローコールの多いアプリケーションのパフォーマンスを飛躍的に高めます。

Vulkan のサポートは、Nexus 5X、Nexus 6P、Nexus Player などの Android N Preview 対応端末で、Android N Preview を介して利用できます(もちろん、OpenGL ES も引き続き使用できます)。デベロッパーの皆さんがプログラミング作業にすぐ取りかかれるように、Vulkan を効果的に使用する方法を説明したサンプルガイドをまとめました。Vulkan が実際に Android 端末で実行されている動画をご覧ください。使われているのは、Robert Hodgin 制作の Fish Tornado のデモを、Google の Art, Copy & Code チームが Vulkan に移植したものです。



Vulkan API で可能になる最適化

OpenGL ES と Vulkan には共通する部分も多くありますが、Vulkan には、1 ミリ秒も無駄にしないデベロッパーの皆さんの役に立つ新機能があります。
  • メモリ割り当てのアプリケーションによる制御:  Vulkan には、メモリを GPU に割り当てる方法やタイミングを非常に細かく制御するメカニズムが用意されています。このメカニズムによって、自分のアプリケーションに適した独自の割り当てポリシーや再利用ポリシーを使用できます。最終的には、実行回数やメモリのオーバーヘッドが減り、コストのかかるメモリ割り当てのタイミングをアプリケーションで制御できるようになります。
  • 非同期的なコマンド生成:  OpenGL ES では、アプリケーションがドローコールを呼び出すと、すぐに GPU に対してドローコールが発行されます。一方 Vulkan では、代わりにアプリケーションがドローコールをコマンド バッファに対して発行するので、ドローコールを生成して記録する作業と、ドローコールを GPU に対して発行する作業を分けられるようになっています。コマンド生成をいくつかのスレッドに分散させることで、アプリケーションは複数の CPU コアをより効率的に活用できます。また、こうしたコマンド バッファは再利用できるので、コマンドの生成と発行に伴うオーバーヘッドが削減されます。
  • 分かりにくい作業の解消:  OpenGL ES で困ることの 1 つが、コマンドによって作業を開始させるタイミングについて API 仕様に明示的に示されていない、またはデベロッパーに対して明らかにされていない場合がある点です。Vulkan では、作業を明示的に開始させるコマンドと、そうではないコマンドを仕様で明示しているので、動作を予測しやすくなり、一貫性が向上しています。
  • 完全なマルチ スレッド設計:  OpenGL ES アプリケーションでは、レンダリングを予測可能な形で正確に行うために、必ず 1 つのコンテキストに対応するコマンドは 1 つのスレッドから発行することになっています。Vulkan では対照的に、そうした条件がないので、アプリケーションはコマンド バッファの生成といった作業をいくつも並行して行えます。しかしその一方で、データの修正や読み取りを複数のスレッドから同時に実行する場合、その安全性が暗黙的に保証されるわけではありません。スレッドの同期を管理する権限や責任は、アプリケーション側が持つことになります。
  • モバイル フレンドリーな機能:  Vulkan の機能には、多くのモバイル端末で使われている、タイリング方式の GPU で高いパフォーマンスを実現するのに特に役立つものがあります。個々のレンダリング パス間の相互作用に関する情報をアプリケーションで用意できるので、タイリング方式の GPU は限られたメモリ帯域幅を効果的に使うことができ、オフチップでのデータ読み取りの実行を避けられます。
  • シェーダーのオフライン コンパイル:  Vulkan では、シェーダー用の中間言語である SPIR-V をサポートしています。これにより、シェーダーを前もってコンパイルしておいて、SPIR-V バイナリをアプリケーションと一緒に出荷することが可能です。こうしたバイナリでは、GLSL のような高水準言語よりも解析が簡単です。そのため、ドライバがこの解析を行う場合のばらつきが小さくなります。また、SPIR-V をサポートすることで、特別なシェーディング言語やクロス プラットフォーム対応のシェーディング言語のためのコンパイラをサードパーティが提供することも可能になります。
  • 任意のツールによる検証作業:  OpenGL ES では、呼び出したコマンドをすべて検証し、設定が望ましい範囲内にあることや、オブジェクトが動作に適切な状態になっていることを確認しています。Vulkan は、それ自体ではこうした検証を行いません。代わりに任意のデバッグ ツールを使用することで、Vulkan のコマンド呼び出しが正確であり、最終製品で実行時オーバーヘッドが生じないことを確認するようになっています。

検証レイヤを用いたデバッグ

上記のとおり、Vulkan 内部には検証システムがないので、コードを検証するためには API 外部のツールを使用する必要があります。Vulkan のレイヤ メカニズムでは、検証コードやその他のデベロッパー ツールを使って、開発中にすべての API の呼び出しを点検できるようになっており、出荷バージョンにオーバーヘッドを含める必要がありません。Google がまとめたガイドでは、Android NDK で使用する検証レイヤの構築方法を説明し、最初から最後までバグのない Vulkan コードを書くのに不可欠なツールを紹介しています。

シェーダー ツールチェーンによる開発

Shadercというツール コレクションには、GLSL を SPIR-V にコンパイルするためのビルド ツールや実行時ツールが用意されています。シェーダーはビルド時にコマンドライン コンパイラの glslc を使ってコンパイルすることが可能で、既存のビルド システムへ簡単に統合できます。また、実行中に作成や編集が行われたシェーダーは、Shaderc ライブラリを使って、GLSL シェーダーを C インターフェース経由で SPIR-V にコンパイルできます。どちらのツールも、Khronos のリファレンス コンパイラの上に構築されています。

その他のリソース

Vulkan のエコシステムは広大です。導入と活用のためのリソースや、参考資料が豊富に用意されています。

  • Khronos による Vulkan 関連リソースには、概要や、参考になるウェブページ、仕様、ユーザー コミュニティによる Vulkan のデモがあります。
  • Android のサンプル
  • Android のチュートリアル
  • LunarG の LunarXchangeには、Windows と Linux で Vulkan 開発を行うためのリソースがあります。

ぜひこの Android 版 Vulkan のプレビューを開発作業の参考にしてください。
Posted by Ryosuke Matsuuchi - Developer Relations Team

Android Studio 2.0

$
0
0
[この記事は Jamal EasonAndroid プロダクト マネージャー による Android Developers Blog の記事 "Android Studio 2.0" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]


Android Studio 2.0 は、携帯端末やタブレット、Android Auto、Android Wear、Android TV などの Android プラットフォーム用の高品質、高性能なアプリを構築する一番の早道です。Google による公式 IDE として、Android Studio にはコードエディター、コード分析ツール、エミュレータなど、アプリの構築に必要なものすべてが含まれています。今回の Android Studio 新安定版は、ビルドが高速であるだけでなく、最新バージョンの Android や Google Play サービスをサポートする高速なエミュレータも搭載しています。

Android Studio は Android プラットフォームと連携して開発されており、強力な最新 API をすべてサポートしています。Android の開発を行っている方なら、ぜひ Android Studio 2.0 をお使いください。本日(*原文公開当時)より、安定版リリース チャンネルから簡単にダウンロードやアップデートを行うことができるようになっています。

Android Studio 2.0 には、Android デベロッパーがワークフローの中で利用できる次のような新機能が含まれています。
  • Instant Run
    ビルドを高速化したい方にはうってつけの機能です。変更を行うと、実行中のアプリに変更点が即座に反映されます。Instant Run では、VM のホットスワップからアプリのリソースのウォーム スワップまで、さまざまなビルドや実行の高速化が行われており、日々の時間を節約できます。
  • Android エミュレータ
    新しいエミュレータは、旧版の Android エミュレータと比較して最大 3 倍の速度で実行されます。また、ADB の拡張により、アプリやデータを実機の 10 倍の速度でエミュレータに転送できます。公式の Android エミュレータには、物理デバイスと同じ Google Play サービスが組み込まれているため、より多くの API 機能をテストすることができます。そのうえ、新しいエミュレータには、通話、バッテリー、ネットワーク、GPS などを管理するたくさんの新機能が搭載されています。
  • Cloud Test Lab の統合
    一度書いて、どこでも実行。Android Studio 内から直接 Cloud Test Lab を使い、さまざまな物理 Android 端末によるテストを行い、すばやく簡単にアプリの品質を改善しましょう。
  • App Indexing のコード生成とテスト
    Android Studio の App Indexing 機能で自動生成された URL を追加し、Google 検索でアプリをユーザーの目に触れやすくします。わずか数クリックで、インデックスを作成可能な URL リンクを追加し、テストできます。この操作は IDE 内だけで完結します。
  • プレビュー版 GPU デバッガー
    OpenGL ES ベースのゲームやアプリを開発している場合、新しい GPU デバッガーから各フレームの状態や GL ステートを確認できます。Android 端末の GPU ストリームをキャプチャして分析することによって、GL のレンダリングに関する問題を特定し、診断します。
  • IntelliJ 15 アップデート
    Android Studio は、世界的に使用されている Intellij コーディング プラットフォーム上に構築されています。最新の Intellij の機能は、こちらをご覧ください。

新機能の詳細

Instant Run

現在のモバイル プラットフォームは、スピードと俊敏性が命です。それにもかかわらず、モバイル アプリのビルドは重く、遅い場合があります。Android Studio の Instant Run は、高速でなめらかな開発フローを継続的に実現するためのソリューションです。この機能は、編集、ビルド、実行のサイクルを高速化することによって、デベロッパーの生産性を向上させます。Instant Run ボタン()をクリックすると、今までの変更点が解析され、新しいコードをもっとも短時間でデプロイする方法が決定されます。


新しく追加された Instant Run ボタン


可能な場合は、コードの変更を実行中のアプリのプロセスにインジェクションすることによって、APK の再デプロイと再インストールを回避します。変更の種類によっては、アクティビティやアプリの再起動が必要になります。しかし、その場合でも、編集、ビルド、実行のサイクルを以前よりかなり早く回すことができます。Instant Run は、API 14(Ice Cream Sandwich)以降を実行しているすべての Android 端末やエミュレータで動作します。

昨年末に Instant Run のプレビュー版が公開されてから、フィードバックの反映や安定版のリリースに向けた微調整に数え切れないほどの時間が費やされています。ビルドのスピードが早すぎて困るということはありません。そのため、将来のリリースではさらなる高速化が計画されています。開発中のアプリで Instant Run を最大限に活用する方法については、Instant Run のドキュメントをご覧ください。

Android エミュレータ

新しい Android エミュレータは、CPU、RAM、I/O において以前の Android エミュレータより最大 3 倍高速になっています。さらに、ビルドの準備ができたときの ADB の転送速度は、なんと 10 倍高速です。多くの場合、公式の Android エミュレータを使うと実機よりも高速に開発できます。Instant Run などの新機能も新しい Android エミュレータと組み合わせたときに最高の効果を発揮します。

スピードとパフォーマンスに加えて、Android エミュレータには、まったく新しいユーザー インターフェースやセンサー制御機能が搭載されています。初回リリース後に拡張された機能もあり、ドラッグ&ドロップによる APK の簡易インストール、ウィンドウのサイズ変更や拡大縮小、マルチタッチ アクションの使用(ピンチとズーム、パン、回転、チルト)などが可能になっています。



Android エミュレータのユーザー インターフェース:ツールバーと拡張コントロール パネル


SDK Tools を 25.1.1 以上にアップデートし、推奨されている x86 システム イメージのいずれかから新しい Android 仮想デバイスを作成するだけで、新しいエミュレータを試すことができます。Android エミュレータの詳細については、ドキュメントをご覧ください。

Cloud Test Lab

Cloud Test Lab は、さまざまなデバイスやデバイス設定を使い、アプリの大規模なテストをクラウド上で行う新サービスです。Cloud Test Lab を使用すると、Google のデータセンターにホストされているさまざまな種類の物理デバイスで一連のテストを実行することができます。これによって、Android エミュレータや Android 端末を使った初期テスト完了後のテストプロセスを大きく拡大することができます。テストを明示的に記述していなくても、Cloud Test Lab は一連の基本的なテストを実行してアプリがクラッシュしないことを確認します。

Cloud Test Lab で実行する一連のテストの設定やテスト結果の確認は、Android Studio の新しいインターフェースから行うことができます。このサービスの詳細は、こちらをご覧ください。



Cloud Test Lab の設定

App Indexing

App Indexing API によって、開発したアプリを Google 検索でユーザーに見つけてもらうのがさらに簡単になりました。Android Studio 2.0 では、アプリのコードに正しい URL 構造を作成し、AndroidManifest.xml ファイルに属性を追加して Google App Indexing サービスを動作させることができます。URL をアプリに追加すると、次のようにして App Indexing コードのテストや検証を行うことができます。



Google App Indexing のテスト


Android Studio での App Indexing のサポートの詳細については、こちらのリンクをご覧ください。

プレビュー版 GPU デバッガー

OpenGL ES のゲームやグラフィックを多用するアプリを開発している場合、Android Studio 2.0 で新しい GPU デバッガーを使うことができます。GPU デバッガーはプレビュー版ですが、アプリをフレームごとにステップ実行し、GL ステートについての詳しい情報をもとにグラフィックのレンダリングの問題の特定やデバッグを行うことができます。このツールを使用できるように Android 端末とアプリをセットアップする方法の詳細については、こちらの技術ドキュメントをご覧ください。



プレビュー版 GPU デバッガー

次のステップ

アップデート

旧バージョンの Android Studio をご使用中の方は、ナビゲーション メニューからベータ チャンネルのアップデートを確認できます(Windows / Linux の場合は [Help] → [Check for Update]、OS X の場合は [Android Studio] → [Check for Updates])。新しく Android Studio をインストールする場合は、こちらからダウンロードできます。N Developer Preview 向けの開発を行っている場合は、こちらの追加セットアップ ガイドをご覧ください。

Instant Run と Android エミュレータの設定

Android Studio 2.0 へのアップデートまたはダウンロードを行った後、Instant Run を使用するためにプロジェクトをアップグレードし、Android エミュレータ用の新しい Android 仮想デバイス(AVD)を作成する必要があります。これによって、Android の開発を高速に行うことができるようになります。

Instant Run は簡単に使えます。既存のプロジェクトそれぞれに対して、プロジェクトの Gradle プラグインを新しいバージョン(com.android.tools.build:gradle:2.0.0)にアップデートするかどうかの確認が表示されます。

プロジェクトの Gradle のバージョンのアップデートの確認


Android Studio 2.0 のすべての新規アプリ プロジェクトでは、デフォルトで Instant Run が有効になっています。詳しくは、ドキュメントをご覧ください。

Android Studio の次期リリース版の開発は既に始まっています。気に入った機能や問題点、新機能の提案などのフィードバックは大歓迎です。新しい Google+のページや Twitterで Android Studio 開発チームからの情報を常にチェックしてください。


Posted by Yoshifumi Yamaguchi - Developer Relations Team

Google Maps SDK for iOS 1.13 の新機能:高度なマーカーアニメーションなど

$
0
0
[この記事は Megan Boundey, Product Manager, Google Maps Mobile APIs による Geo Developer Blog の記事 "Advanced marker animations and more with Google Maps SDK for iOS 1.13" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

米国時間 3 月 29 日にリリースされた Google Maps SDK for iOS 1.13 では、より高度なマーカーアニメーションの作成や情報ウィンドウの自動更新といった機能が追加され、mapViewSnapshotReady という新しいイベントが実装されました。また、フレームレートを最大で 60fps に設定できるようになったほか、プレイス オートコンプリート ウィジェットのスタイルのカスタマイズ性も向上しています。

高度なマーカーアニメーションの作成機能と情報ウィンドウの自動更新



マーカーを回転させたり、マーカーアニメーションを使ってみたいと思いませんか?

Google Maps SDK for iOS 1.13 では新たに iconViewというプロパティが追加されており、これを使って UIView にアニメーション機能を持たせることができます。iconViewは UIView に設定されるプロパティであるため、標準の UI コントロールがマーカーを定義し、個々のビューがアニメーション機能を持つという形になります。iconView プロパティのサポート対象は、frame と center を除く、UIView のアニメーション可能なプロパティ全てです。詳しくはドキュメントを参照してください。

また、情報ウィンドウを自動的に更新するオプションも追加されました。情報ウィンドウに Web ページの内容を表示したいけれど、ウィンドウの作成時点ではまだ Web ページのダウンロードが完了していない、といったことはないでしょうか? このような場合は、新しく追加されたマーカープロパティ tracksInfoWindowChangesを利用すれば、Web ページのロード完了後に情報ウィンドウを自動的に更新することができます。

60fps の実現と自動フォールバック機能



Google Maps SDK for iOS 1.13 では、GMSFrameRate という新しい enum が利用可能になりました。これには 3 種類のオプション、kGMSFrameRatePowerSave (15fps)、kGMSFrameRateConservative (30fps)、kGMSFrameRateMaximum (60fps、ただし不可能な場合は 30fps。これがデフォルトの設定となります) が用意されています。60fps のフレームレートに適していないデバイスを保護するため、実行時にはデバイスのモデルチェックが行われるようになっており、古いデバイスでは preferredFrameRateが自動的に 30fps に低下します。

オートコンプリート ウィジェットのカスタマイズ



Google Maps SDK for iOS 1.12 で導入された iOS プレイス オートコンプリート ウィジェットは、1.13 ではさらに高度なスタイル カスタマイズが可能となり、ビジュアルに統一感を持たせることができるようになりました。


ウィジェットの UI 要素のカラーリングを設定する方法は以下の通りです。
  1. iOS の Appearance Proxyシステムを利用して、UI コントロールのスタイルをカスタマイズしてください。プレイス オートコンプリート ウィジェットは Appearance Proxy の設定に従います。 
  2. Appearance Proxy システムがサポートしていない色を設定したい場合は、ウィジェット クラスに新しい SDK メソッドを利用してください。
Appearance Proxy や SDK メソッドによってカスタマイズ可能な要素は、ドキュメントでハイライト表示されています。

mapViewSnapshotReady イベント



全てのタイルが描画されて地図のロードが完了したときに合図を出してほしいというご要望にお応えするため、Google Maps SDK for iOS 1.11では、地図タイルとストリート ビュー パノラマの描画開始 / 終了を示すイベントを追加しました。

そして 1.13 では、新たに mapViewSnapshotReadyイベントが追加されています。これは、地図が安定し(すなわちタイルのロードとラベルの描画が完了し、カメラがアイドル状態になる)、オーバーレイのオブジェクトの描画が完了したときに発行されるイベントです。地図から他の画面に遷移したいが、後で戻ってくるときのために地図の画像を用意しておきたい、といった場面で mapViewSnapshotReadyイベントを活用すれば、現在の地図が正確に描画された状態であるかどうかを確認することができます。

以上も含めて、詳細はリリースノートをご覧の上、ぜひ Google Maps SDK for iOS 1.13へのアップデートをお試しください。

Google Maps APIs をご利用いただき、また、issue trackerにフィードバックをお寄せいただき心よりお礼を申し上げます。

Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Maps Solution Architect, Google Maps API for Work

動画シリーズ「教えて Google Maps API」

$
0
0
Google Maps for Work を活用した数多くのサービスやアプリケーションが構築されており、業務の最適化は新たな価値を生み出す先進事例をこのブログでもいくつか紹介してきました。

一方で、Google Maps API を使うと何ができるか、利用にあたってどのような料金プランがあるか、以前と比べてどのような点が進化しているかといったお問い合わせをたびたびいただきます。そこで、こうしたよくある質問に対して、Google Maps for Work 担当者がわかりやすくかつ簡潔に解説する動画シリーズを始めました。このシリーズでのテーマは次の通りです。
  • 第 1 回 - Google Maps API とは?
  • 第 2 回 - Google Maps API の利用規約
  • 第 3 回 - 店舗検索(小売業の公開サイトでの利用事例)
  • 第 4 回 - 店舗検索 スマートフォン活用
  • 第 5 回 - アセットトラッキングライセンスと移動体管理
  • 第 6 回 - 開発者向け Tips
  • 第 7 回 - 各回のまとめ

早速、第 1 回と第 2 回を公開しましたので、その内容をご紹介しましょう。

Google Maps API とは何か?

第 1 回「Google Maps API とは?」では、Google Maps APIの全体像を解説します。Google Maps API を利用すると何ができるのか? 実際にどのような API が提供され、どこで調べれば良いのか、さらに料金プランの概要などを、約 5 分で解説します。

Google Maps API の利用規約を理解する

続く第 2 回「Google Maps API 利用規約」では、料金プランの選び方をさらに詳しく解説します。「この使い方ではスタンダードプランを選ぶべきか、あるいはプレミアムプランを選択すべきか」といったことでお悩みの方、「モバイルアプリでも Google Maps APIを使う時はどのライセンスが必要なのか」という疑問をお持ちの方は必見です。


第3回以降も順次公開予定です。Google Maps API にご興味のある方、また、Google Maps API の利用をご検討されている方は、この動画シリーズをぜひご覧ください。さらに詳しく Google Maps API について知りたい、あるいは質問やご要望がある方は、こちらからのお問い合わせをお待ちしています。なお、Google for Work チャンネルを登録しておけば、新しい動画がアップされるとメールで通知されますので、いち早くご覧いただけます。

最後に、Google Maps for Work チームからのメール配信を希望される方は、こちらでご登録いただけます。ぜひご登録ください。

Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Maps Solution Architect, Google Maps API for Work

タップとオーディオの遅延を計測する新手法

$
0
0
[この記事は Mark Koudritsky、ソフトウェア エンジニアによる Android Developers Blog の記事 "A new method to measure touch and audio latency" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

タップとオーディオの遅延を計測し、それを最小限にとどめようという Android や ChromeOS チームの戦いに新兵器が登場します。それが WALT Latency Timerです。

モバイル端末を使用するときは、タップや音声に即座に応答があるのが当然だと思うでしょう。応答が早ければ早いほど、端末と直接つながっているように感じるはずです。ここ数年間、私たちは Chromebook や Android 製品で発生する遅延を計測し、その詳細を理解して短縮しようとする努力を重ねてきました。

遅延を短縮するには、まず遅延がどこで発生しているのかを理解する必要があります。タッチスクリーンをタップする場合、応答時間に含まれるのは、タッチを検知するハードウェアとドライバー、アプリケーション、ディスプレイ、グラフィック出力などの処理時間です。音声コマンドの場合は、入力されたオーディオのサンプリング、アプリケーション、オーディオ出力の処理時間が必要です。こういった処理時間の両方が混在する場合もあります(たとえば、ピアノアプリにはタップ入力とオーディオ出力が含まれます)。

今までの遅延の分析方法は、1 往復分の遅延時間に着目し、それを計測しようとするものがほとんどでした。たとえば、オーディオの遅延を計測するには、アプリからスピーカーやマイクまでの時間と、そこからアプリに戻ってくるまでの時間を計測していました。それには Dr. Rick O'Rang ループバック オーディオ ドングルが必要で、これと Dr Rick O’Rang Loopback アプリSuperpowered Mobile Audio Latency Test Appなどの適切なアプリを組み合わせて使用します。同様に、TouchBotは高速なカメラを使用し、物理的にタップされてからスクリーンの表示が変化するまでの往復の遅延時間を計測しています。このような計測方法は有用であるものの、遅延を入力コンポーネントと出力コンポーネントに分けて内訳を確認することが難しいという問題点もあります。

QuickStepの後継である WALT には、外部ハードウェアのクロックと Android 端末や Chromebook をミリ秒以内の精度で同期させるという重要な技術革新が取り入れられています。これによって、往復の遅延を計測するのではなく、入力と出力の遅延を別々に計測することができるようになっています。

WALT はシンプルです。パーツの価格は 50 ドル未満で、趣味レベルの基礎的な電子工作のスキルがあれば、自作することができます。

Google の内部でも、Nexus や Chromebook の開発に WALT が使われています。私たちは、アプリ開発者など、現実世界の遅延を厳密に計測したい方のために、このツールを公開することにいたしました。簡単にアクセスできるツールを提供することによって、業界全体のあらゆるデバイスでタップや音声への応答性の向上に貢献できることを願っています。

Posted by Eiji Kitamura - Developer Relations Team

Android N Developer Preview 2 がリリースされました

$
0
0
[この記事は Dave Burke、エンジニアリング部門副社長による Android Developers Blog の記事 "Android N Developer Preview 2, out today! " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

先月、Google では Android N Developer Preview の第 1 弾をリリースし、デベロッパーの皆さんに次期プラットフォームを体験していただきました。これまでお寄せいただいたフィードバックのおかげで、バグを特定し、機能を改善することができました。本日(*原文公開当時)、Developer Previews の第 2 弾をリリースし、引き続きアプリのテストにご利用いただけるようになりました。

この最新の Android N のプレビューでは、皆さんからご報告いただいたバグを修正しました。一例を挙げると、ステルスモードの Wi-Fi ネットワークに接続できない(AOSP 203116)、マルチウィンドウが一時停止する(AOSP 203424)、ダイレクト リプライで起動中のアクティビティが終了する(AOSP 204411)などがあります。Google では引き続き、問題の改善に取り組んでいます。今後も N Developer Preview Issue Trackerまたは N プレビュー コミュニティを通じて、フィードバックをお寄せください。

新機能:

先月の Developer Preview では、マルチウィンドウ、バンドル通知といった多くの新機能が導入されていました。今回のプレビューのビルドでは、いくつかの新機能が加わりました。
  • Vulkan: Vulkan は、Google が Khronos グループの一員として開発に携わった、新しい 3D レンダリング API です。デベロッパーが GPU を明示的に、かつ少ないオーバーヘッドで制御できるのが特徴で、ドローコールの多いアプリケーションのパフォーマンスを飛躍的に高められます。Vulkan では CPU のオーバーヘッドが減少しているので、シングル コアでのドローコールのスループットを合成ベンチマークで比較すると、OpenGL ES の 10 倍になります。マルチコアを並列的に高効率で使うことができ、スレッディングとの相性が良い API 設計と組み合わせれば、ドローコールの多いアプリケーションのパフォーマンスを飛躍的に高められます。Android N にはこの Vulkan がプラットフォームに組み込まれているため、Developer Preview 2 が動作するサポート対象デバイスで、この API をお試しいただけます。詳細については、こちらを参照してください。Vulkan デベロッパー ツール ブログはこちらです。
  • ランチャー ショートカット: アプリでショートカットを定義できるようになりました。アプリがランチャーに表示されるので、すぐにアクションを実行できます。これらのショートカットには、アプリ内の特定のポイントへのインテント(仲の良い友だちにメッセージを送信する、地図アプリで自宅まで案内する、メディア アプリでテレビ番組の次回のエピソードを再生する、など)が含まれています。
    アプリケーションで、ShortcutManager.setDynamicShortcuts(List) ShortcutManager.addDynamicShortcut(ShortcutInfo)を使用してショートカットを作成できます。ランチャーには、指定したアプリのショートカットが 3 ~ 5 個表示されます。
  • Emoji Unicode 9 のサポート: 表情や仕草を表す新しい絵文字が導入さました。よくあるようなものではなく、生き生きとしたデザインが追加されています。キーボードやメッセージング アプリのデベロッパーの皆さんは、ぜひこれらの絵文字をアプリに組み込んでください。今回のアップデートでは、肌の色のバリエーションが増えたほか、ベーコン、セルフィー、手で顔を覆うジェスチャーなど、Unicode 9 のグリフがサポートされました。Paint.hasGlyph()を使用して、新しい絵文字を動的に調べることもできます。
新しい人間の絵文字




新しいアクティビティの絵文字

  • API の変更: Google では継続的に機能の改善に取り組んでおり、今回のアップデートには API の変更が含まれています。たとえば、マルチウィンドウのサポート(アクティビティの高さと幅の最小値を個別に指定できるようになりました)、通知などが改善されました。詳細については、ダウンロード可能な API リファレンス パッケージで差分レポートを参照してください。

  • バグの修正: システム全体にわたり、多くの問題を解決しました。その中には、公開されている Issue Tracker から皆さんにご報告いただいた問題の修正も含まれています。引き続き、問題を発見された場合はお知らせください。また、既知の問題についてはこちらを参照してください。

アップデートの入手方法:

この最新のプレビューのアップデートを入手する最も簡単な方法は、お使いの端末を Android ベータ版プログラムに登録することです。visit g.co/androidbetaにアクセスして、対象の Android 携帯端末またはタブレットをオプトインするだけで、すぐに今回(および次回以降)のプレビュー アップデートを OTA で受信できます。お使いの端末を既に登録している場合は、近日中にアップデートが配信されます。特に操作は必要ありません。このアップデートを手動でダウンロードして書き込むこともできます。Developer Preview 2 はあくまでデベロッパー向けで、通常のドライバーとは異なります。このビルドは、パフォーマンスやバッテリーの寿命を考慮して最適化されているわけではありません。

N Developer Preview は現在、Nexus 6、Nexus 5X、Nexus 6P、Nexus 9、Pixel C 端末のほか、General Mobile 4G(Android One)端末に対応しています。Nexus Player の Developer Preview 2 へのアップデートは、その他の端末に続いて数日以内に対応する予定です。

Developer Preview 2 を使用してアプリのビルドとテストを行うには、Android Studio 2.1 を使用する必要があります(これは、Developer Preview 1 に必須のバージョンと同じです)。Developer Preview 2 を使用する前に、SDK コンポーネントのアップデート(ビルド ツールとエミュレータ システム イメージを含む)を確認してください。詳細については、こちらを参照してください。

いつもフィードバックにご協力いただき、ありがとうございます。今後も N Developer Preview Issue Trackerまたは N プレビュー コミュニティを通じて、フィードバックをお寄せください。早くフィードバックをいただければ、より多くの修正を Android の次期リリースに反映することができます。

Posted by Takeshi Hagikura - Developer Relations Team
Viewing all 2211 articles
Browse latest View live