[go: nahoru, domu]

この記事は Martin Aguinis による Medium Blog の記事 "Flutter Create is live with over $10,000 in prizes" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

Flutter Create は、Flutter で 5 KB 以下の Dart コードを使用して、何か面白いもの、刺激的なもの、美しいものを作ろうというコンテストです。Flutter の経験を問わずどなたでも挑戦できます。賞品総額は 10,000 ドル以上です。応募方法については flutter.dev/create  (英語)をご覧ください。



Flutter Create では、5 KB 以下の Dart コードで作った Flutter 関連のプロジェクトを募集しています。Flutter の経験、未経験を問わず、どなたでも応募できます。

5 KB と言えば、一般的な MP3 ファイルで 0.5 秒にもならない大きさです。たった 5 KB で一体何ができるのでしょう?実は Flutter ならたくさんのことができます。さまざまなウィジェットやライブラリが用意されており、ほんの少しのコードで実用的なアプリを作ることができるのです。

そこで皆さんからアイデアを募ることにしました。あなたが Flutter でつくった作品で世界をあっと驚かせてください。勝者へは以下の賞品を準備しています。



受賞作品は Google I/O 2019 で発表します。

コンテストの詳細と応募方法については、flutter.dev/create(英語) をご覧ください。


コンテストの概要

期限: 応募期限は 4 月 7 日午後 11 時 59 分(太平洋夏時間: GMT -7)です。

応募方法: flutter.dev/create の応募フォームを使ってアプリを提出してください

受賞者と賞品: Flutter のエキスパートが、見た目の美しさ、コードの品質、アイデアの斬新さ、全体の完成度に基づいて応募作品を評価します。賞品として、フルスペックの iMac Pro、Google Home Max、Google Home Mini をご用意しています。

みなさまのご応募をお待ちしております!

Reviewed by Tomoko Tanaka - Developer Product Marketing Manager, Google Play

この記事は Nadine Sundquistによる Google Ads Developer Blog の記事 "Upgrade Dynamic Search Ads in AdWords API and Google Ads API by March 6, 2019" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

2019 年 3 月 6 日までにDynamicSearchAdDYNAMIC_SEARCH_AD)の代わりに ExpandedDynamicSearchAdEXPANDED_DYNAMIC_SEARCH_AD)を使うように AdWords APIGoogle Ads API の広告をアップグレードしてください。3 月 6 日以降、この 2 つの API で DynamicSearchAd を作成すると AdGroupAdError.CANNOT_CREATE_DEPRECATED_ADS エラーが、更新すると AdError.CANNOT_MODIFY_AD エラーが発生して失敗します。既存の DynamicSearchAds は引き続き提供されます。

ExpandedDynamicSearchAd には、単に見出しを自動調整するだけでなく、広告のサブドメインがランディング ページのサブドメインに一致するように表示 URL を自動調整するというメリットがあります。さらに、Google 広告では、プレーン URL よりもパスの方が高い成果をあげられると判断された場合、パスが追加されます。あらゆる広告主が成果をあげられるように、Google 広告は皆さんを新しいフォーマットにご案内しています。

アップグレードの際に疑問に思うことがありましたら、フォーラムからご連絡ください。

Reviewed by Thanet Knack Praneenararat - Ads Developer Relations Team

この記事は MATERIAL DESIGN  の記事 "Material partner studies" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

マテリアル デザインの新しい表現機能を活用した Lyft、Genius、NPR、Pocket Casts、Zappos の事例をご紹介します。



多くの開発チームは、アプリを短期間で完成させることと、魅力的なデザインにしたいという気持ちの間で葛藤しているのではないでしょうか。マテリアル デザインの最新リリースを活用すれば、品質面で妥協することなく、魅力的なデザインのアプリを短期間で完成させることが可能です。

2014 年にマテリアル デザインを公開して以来、Google は社内外の人々と協力して数百回というデザイン スプリントを実施し、膨大な数のデザインを検討して世界中のデザイナーやデベロッパーのニーズの把握に努めてきました。さらに、このプロセスの中で重要な役割を果たしたのが、Lyft、Genius、NPR、Pocket Casts、Zappos など、早い段階からマテリアル デザインを採用してくれたマテリアル パートナーとの協力でした。

マテリアル デザインが常に目標としているのは、簡単かつシステマティックにデザインできるようにすることです。それを可能にしたのが、アプリに独自のデザインを適用できるカスタム Material Theme、カスタマイズ可能なコンポーネントのライブラリ、チーム間のスムーズな連携を促進するツールです。

デザイン システムが本当に生命を宿す場所はユーザーの手の中です。すべてのタッチ、すべてのタップ、すべてのインタラクションが、ユーザーが画面上で体験したことを日常に具現化していくのです。ここに紹介するマテリアル パートナーたちが、マテリアル デザインの新しいコンポーネント、インタラクション、表現機能をどのように活用し、何を実現したかをご覧ください。

Lyft: 拡張フローティングアクションボタンで操作を明確化

Lyft アプリの拡張フローティングアクションボタン: 丸みを帯びたグラデーションのボタンで重要な操作であることを強調している
「新たにチームを作り、デザイン システムを検討し始めたときにマテリアル デザインに出会いました。非常に堅牢なデザイン システムで、柔軟にカスタマイズでき、多くを学ぶことができます。私たちの選択は間違っていなかったと日々実感しています。」

- Lyft 社デザイン システム リード、リンジー ベリー氏

配車サービスを提供する Lyft のミッションは、ユーザーが A 地点から B 地点までできるだけ早く移動できるようにすることです。この「効率性の追求」は、アプリの体験において最も重視すべき要素であり、「配車を予約する」という重要なアクションにも反映すべきことです。予約を簡単かつスムーズに行えるようにするだけでなく、車の選択、予約、確認という一連のプロセスの中で、乗客が必要とする情報を的確に伝えることができるかどうかが課題です。

円形のフローティング操作ボタンを、マテリアル デザインに新たに追加された拡張フローティングアクションボタンに切り替えたことで、いくつかの重要な課題も解決できました。拡張フローティングアクションボタンを使用したことで、機能的なメリットもさることながら、その色、種類、形の組み合わせにより Lyft らしさも表現できています。

また、ボタンに追加できるラベルの長さも柔軟になったことで、アイコンだけのときに比べ情報を伝えやすくなりました。Lyft の場合なら、Lyft と Lyft Line という 2 種類のブランドの操作を明確に区別できますし、特定の市場にサービスを展開する場合も、それぞれの言語に応じて文字数を増やすなど柔軟に対応できます。目立つ場所に配置できる拡張フローティング操作ボタンは、ユーザーが戸惑うことなく簡単に見つけられるため、配車の予約のような重要な操作に最適です。

Genius: レスポンシブなレイアウト グリッドを作成

マテリアル デザインで一貫性のあるレスポンシブ レイアウト グリッドを作成した Genius アプリ

「マテリアル デザインでレスポンシブなグリッド構造にしたことで、ブランド全体を通して一貫性のあるエクスペリエンスを提供できるようになりました。」

- Genius 社アート ディレクター、アリー ボール氏

レスポンシブ デザインが目指すのは、サイズの変更とコンテンツのスタックだけではありません。コミュニティを利用した歌詞表示サービスを提供する Genius は、独自の手法でモバイルとデスクトップの体験に一貫性をもたせました。

Genius のモバイル ユーザーは、スマートフォンで聴いている曲の歌詞やアーティストを調べるという使い方が多いのに対し、デスクトップ ユーザーは解説や注釈を共有するために使用する傾向にあります。ユーザーは状況に応じてモバイルとデスクトップを使い分けているわけですが、アプリのレイアウト グリッドは他のインターフェースのようにシームレスに適応しないことがありました。

そこで Genius では、マテリアル デザインの新たな指針に沿ってプラットフォーム間でレイアウト グリッドを統一し、デバイスを変えても違和感を抱かないレスポンシブなレイアウトを実現しました。

NPR: カードでエクスペリエンスを整理

カード、リスト、色を効果的に使い、コンテンツを整理してシンプルに表示した NPR アプリ

「NPR が目指しているのは、コンテンツを視覚的に整理して提示し、ユーザーが欲しい情報をすぐ見つけられるようにすることです。」

- NPR 社シニア プロダクト デザイナー、リビー バウクーム氏

NPR の「ON DEMAND」画面は、複数の提供元からのさまざまなコンテンツを 1 つのインターフェースにまとめることで、厳選されたニュースを手早くチェックできるようになっています。以前はすべてのコンテンツを 1 つのリストにまとめていたため、さまざまなメディアが混在し明確には識別できない状態でした。一方で、ニュースキャスト、ポッドキャスト、ラジオは別々のセクションに分けられていたため、ユーザーからコンテンツを探しにくいとの声が上がり改善策を検討することになったのです。

NPR は、アプリに表示するコンテンツをもっと拡張性の高い柔軟な方法でグループ化することで、ユーザーがコンテンツをひと目で識別できるようにすると同時に、エディターがコンテンツを簡単に管理できるようにしたいと考えました。NPR が解決策として選んだのが、マテリアル デザインのカードをカスタマイズする方法でした。

白の背景に白のカードを配置して見た目をシンプルにし、それぞれのカードに影をつけてコンテンツのグループを表現しました。また、角を大きく丸めた特徴的なシェイプ システムを作成し、NPR ブランドを演出することにしました。

カードだけでなく、番組や出版物のカバーアート、ミニプレーヤーもすべてカスタム シェイプです。カード内のリスト コンポーネントは、必要に応じて拡張して関連コンテンツを表示できます。青色を効果的に使うことで、重要な操作と画面下部のミニプレーヤーを強調し、他にも再生可能なコンテンツがあることを表現しています。

Pocket Casts: プレーヤーの操作性を向上

シンプルな配色手法を採用し、プレーヤーの操作性を高めた Pocket Casts アプリ

「画面をもっとうまく切り替える方法があるかもしれない。そう考えて Google に相談したところ、モーションの専門家から助言を得ることができました。これまで円形のボタンにばかり頼っていましたが、新しい方法で楽しく画面を切り替えられるようになりました。」

- Pocket Casts 社デザイナー、クリス マーティン氏

ポッドキャスト プレーヤー Pocket Casts の開発チームは、それまでのインターフェースを一新することを決断しました。新しくなったマテリアル デザインから得たインスピレーションをもとに、アプリの操作性を改善し、使用する色や動きを調整することで、Pocket Casts のブランディングを刷新、強化することにしたのです。特にプレーヤー コンポーネントは、コントロールを追加して動作パターンを充実させました。

たとえば、プレーヤーを開くと、アプリの他の部分(下部のナビゲーション バーなど)がに非表示になるようにしました。再生、一時停止、巻き戻し、早送りなどのコントロールにコレオグラフィを採用して適切な位置に表示することで、その他の項目(たとえば「次の曲」)を表示できる十分なスペースを確保しました。

また、ポッドキャストの多彩なアートワークに合わせつつ Pocket Casts らしさも表現するため、アプリ内で使用する色もこだわって微調整しています。まずポッドキャストのアートワークから色を抽出し、インタラクティブ コンポーネントや進行状況インジケータに使う色として確保するとともに、それらの色のグラデーションの中からサーフェス(たとえば折りたたんだプレーヤー)の色を選ぶことで、過度な色使いにならないようにしています。

Zappos: 背景を使って流れるような操作性を実現

新しい背景を採用したことで、いつでもワンタップでコンテンツを検索、管理できるようになった Zappos アプリ
「モバイルは、カスタマイズされたエクスペリエンスを提供するのに最も適したプラットフォームの 1 つです。マテリアル デザインの [背景] を採用したことで、今まで以上に関連性の高いコンテンツを見つけやすくなりました。」

- Zappos 社パーソナライゼーションおよびモバイル プロダクト ヘッド、アンドリュー グエン氏


Zappos は、以前から検索結果のフィルタリング機能に力を入れてきましたが、マテリアル デザインを使用してコンテンツをもっと簡単に検索、厳選できるようにしたいと考えました。問題は、ユーザーがよく使うコントロール(検索など)へのアクセスを犠牲にすることなく、ユーザーが探しているアイテムをいかに目立たせるかでした。

開発チームは、マテリアル デザインの新しい背景を採用することにしました。背景の背面レイヤにユーザーがよく使うコントロールを配置し、検索やフィルタにいつでもワンタップでアクセスできるという安心感を提供することにしたのです。前面レイヤには、検索結果や厳選されたコンテンツを表示することにしました。

これにより、それぞれのユーザー向けにカスタマイズしたコンテンツをメイン画面に表示しつつ、検索やフィルタに簡単にアクセスできるアプリが実現しました。

Posted by Takuo Suzuki - Developer Relations Team

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

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

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

Android アプリバンドル

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

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

Gboard ステッカー

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

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

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

たくさんのコードの改善

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

コードをのぞいてみよう

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

Reviewed by Yuichi Araki - Developer Relations Team

この記事は Ben Fried による Google Developers Blog の記事 "Hello, .dev!" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

投稿者: 副社長、CIO、最高ドメイン愛好家、Ben Fried

デベロッパー、デザイナー、ライター、アーキテクトの皆さん。ウェブを構築しているのは、あなたがたです。いま何十億という人々がオンラインで活動できるのも、皆さんのおかげです。気に入ったドメイン名を登録しようとしたのに、残念ながら空いていなかったという経験はないでしょうか。本日、Google Registry は .dev についてお知らせします。.dev は、デベロッパーとテクノロジーのためのまったく新しいトップレベル ドメイン(TLD)です。コミュニティを作成したり、最新テクノロジーについて学んだり、プロジェクトを公開したりする際のドメイン名をつけるために .dev を活用してください。
以下に、大小さまざまな企業が .dev で行っている取り組みをご紹介します。
  • ウェブサイトを作りたいなら、GitHub.devgrow.dev で対応できます。
  • 誰でも使えるプロダクトを作成したいなら、accessibility.dev でデジタル ユーザー補助ソリューションを探しましょう。
  • slack.dev では、Slack の便利なツールやライブラリ、SDK について学ぶことができます。
  • women.dev からは、Women Who Code に参加することができます。
  • 誰だって効率よく時間を使いたいと思っています。Jetbrains.dev は、デベロッパーの生産性を上げるソフトウェア ソリューションを提供しています。
  • スキルを磨きたい(あるいは、新しいスキルを身につけたい)なら、Codecademy.dev をチェックしましょう。
  • Salesforce プラットフォームでアプリを開発する方法は、crm.dev で学ぶことができます。
  • データチームのスピードと生産性を上げる方法を知りたいなら、dataops.dev をご覧ください。
  • グローバル クラウド ネットワークでサーバーレス アプリを構築してデプロイしたいなら、workers.dev で Cloudflare を使って実現できます。
  • Niantic Real World Platform の仕組みをのぞいて見たいなら、ar.dev にアクセスしてみましょう。
最近リリースされた .app.page と同じく、すべての .dev ウェブサイトは HTTPS が必須になります。そのため、皆さんのサイトにアクセスしたユーザーは、不正な広告ソフトウェア、インターネット サービス プロバイダによるトラッキングの注入、オープン Wi-Fi ネットワークの盗聴から守られます。.dev ウェブサイトがリリースされるたびに、ウェブがすべて HTTPS になる未来へ向かう手助けをしていることになります。
早期アクセス プログラムの一環として、太平洋時間の 2 月 28 日いっぱいまで、.dev ドメインの登録を行うことができます。この期間に追加料金を支払うことで、希望のドメインを確保できます。料金は日ごとに減ってゆきます。2 月 28 日以降は、お好みのレジストラの基本年額で .dev ドメインを利用できるようになります。各参加パートナーが提示している価格は、get.dev から確認できます。
Google は、web.devopensource.dev など、新しいプロジェクトのいくつかで既に .dev の利用を始めています。get.dev にアクセスして、Mozilla、Netflix、Glitch、Stripe、JetBrains といった企業による .dev での取り組みをご覧ください。そして、いずれかのレジストラ パートナーからドメインを取得しましょう。皆さんが .dev で作り出すものを楽しみにしています!


Reviewed by Takuo Suzuki - Developer Relations Team



Google では現在、オンライン学習プラットフォーム QWIKLABS を用いて GCP を無料で学ぶことができる Cloud Study Jams という学習プログラムを開催しています。

これは、GCP(Google Cloud Platform)について勉強したい方がいつでも自主的に学習できるセルフペースのオンライン学習プログラムですが、『一人でやっていてもなかなか学習が進まない』という方に向けて、今回特別に、GCP のユーザー会である GCP User Group(GCPUG)が、このキャンペーンを使った「春一番 GCP」と題した勉強会を全国各地で実施してくれることになりました。

日程はどの会場も 3 月 2 日の午後です。会場での参加を希望される方は、各勉強会に申し込むのとは別に、Cloud Study Jams のプログラムに登録し、前もって無料のクーポンをお受け取りください。各イベントの詳細とお申し込み先は、イベント概要のリンクからご覧ください。

今回 GCPUG で企画されている勉強会は 3 月 2 日のみですが、学習自体は Qwiklabs のクーポン有効期間内(配布から約3ヶ月)であれば無料で進めていただくことができます。


イベント概要


[湘南] GCPUG Shonan 春一番GCP
場所: FG-Space https://goo.gl/maps/RMyMCc9H6Fy
募集人数: 12名
主催: GCPUG Shonan
申し込みサイト: https://gcpug-shonan.connpass.com/event/121621/


[奈良] GCPUG in Nara ~クラウドサーバGCPを無料で実際に使ってみる~【特別版】
場所: 奈良県生駒郡斑鳩町興留10丁目6番43号 いかるがホール(2F第4研修室)
募集人数: 47名
主催: GCPUG奈良
申し込みサイト https://gcpug-nara.connpass.com/event/121618/


[滋賀] 春一番GCP~初心者が無料でGoogle Cloud Platformに触れてみる~
場所: 滋賀県草津市大路1-15-39 カフェバル フィオーレ
募集人数: 15名
主催: GCPUG滋賀
申し込みサイト: https://gcpug-shiga.connpass.com/event/121824/


[名古屋] GCPUG Nagoya 春一番GCP
場所: 愛知県名古屋市中区錦1-17-13 MYCAFE錦通店
募集人数: 5名
主催: GCPUG名古屋
申し込みサイト: https://gcpug-nagoya.connpass.com/event/121931

[岡山] GCPUG Okayama 春一番GCP
場所: 岡山県玉野市宇野1-38-1天満屋ハピータウン・メルカ2階 第二研修室
募集人数: 8名
主催: GCPUG岡山
申し込みサイト: https://gcpug-okayama.connpass.com/event/122198/


また、お近くに会場がない方には、オンラインでの参加をいただけるよう、現在準備中です。参加方法に関しましては、キャンペーンにお申し込みいただいている皆さまにお知らせいたしますので、オンライン参加をご希望の場合には、Cloud Study Jamsのサイトからキャンペーンにお申し込みください。

皆さまのご参加をお待ちしております。




Posted by Takuo Suzuki - Developer Relations Team

この記事は IoT デベロッパー アドボケート の Dave Smith による Android Developers Blog の記事 "An Update on Android Things" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

Google はこの 1 年、パートナー各社と密接に連携し、Google アシスタント搭載の Android Things を活用した消費者向け製品を生み出してきました。パートナー各社は、スマート スピーカーやスマート ディスプレイで成功を収めています。その点を踏まえて、Android Things の方向性を変更し、進化を続けるこのカテゴリの端末を OEM パートナーが構築するためのプラットフォームといたします。そのため現在のところ、NXP、Qualcomm、MediaTek のハードウェアをベースとした System on Module(SoM)製品のサポートについては、一般公開されるデベロッパー プラットフォームとしての提供は予定していません。
Android Things は、今後も NXP i.MX7D や Raspberry Pi 3B などの人気ハードウェアをベースに、Android Things SDK を使ってスマートなネットワーク対応端末を実験、構築できるプラットフォームであり続けます。これらのボードのシステム イメージは、今後も Android Things コンソールから入手できます。デベロッパーは、Android Things コンソールを通して最大 100 台の非商用端末に対し、新しいビルドの作成やアプリのアップデートの配信を行うことができます。

これからも私たちは、すぐに利用できるハードウェア ソリューションを含む IoT 端末用マネージド プラットフォームの提供に注力してまいります。2019 年に IoT プロダクトを商用化したいと考えているデベロッパーの皆さんは、安全かつ大規模な端末のネットワーク接続を実現できる Cloud IoT Core や、各種マネージド エッジ コンピューティング サービスに利用できる Cloud IoT Edge ランタイム(近日公開)についてご確認ください。端末内機械学習アプリケーションに興味のある方は、Edge TPU 開発ボードにご期待ください。

Reviewed by Yuichi Araki - Developer Relations Team

この記事は Ben Carl, Google Ads API Teamによる Google Ads Developer Blog の記事 "New Required Header for Google Ads API Requests" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

管理者アカウントから OAuth 認証情報を使って Google Ads API リクエストを行い、関連する顧客アカウントにアクセスしている場合、2019 年 2 月 11 日より、HTTP リクエスト ヘッダーまたは grpc メタデータ項目を追加する必要があります。具体的には、すべてのハイフンを除いた管理者アカウントの顧客 ID を login-customer-id ヘッダーに設定します。

この新しいヘッダーを設定することは、ログイン後に Google Ads UI でアカウントを選択することとほぼ同じ意味になります。設定する内容は、クライアント ライブラリから変更できます。ローカル構成で login-customer-id を設定する手順は、それぞれのライブラリの README で説明しています。以下は、それぞれのライブラリ向けの完全な手順へのリンクです。
このヘッダーが設定されていない場合、USER_PERMISSION_DENIED エラーが発生する場合があります。

login-customer-id を含むリクエスト ヘッダーの詳細については、ドキュメントをご覧ください。

疑問に思うことがありましたら、Google Ads API フォーラムからご連絡ください。

この記事は Leo Sei (Product Manager on Android Studio and R8) による Android Developers Blog の記事 "R8, the new code shrinker from Google, is available in Android studio 3.3 beta" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

Android デベロッパーの皆さんは、APK のサイズがユーザー エンゲージメントにおける重要な要素であることをご存知でしょう。APK のサイズは、コードを圧縮することで縮小できます。コードの圧縮は、不要なコードやリソースを削除すると同時に、実行されるコードの容量を削減する機能です(コードの「軽量化」とも呼ばれ、「難読化」によっても達成されます)。

そのため Google では、コードの圧縮をより高速かつ効率的に実行できるよう改良を重ねています。そしてこのたび、次世代のコード圧縮ツール「R8」のプレビュー版が Android Studio 3.3 ベータ版でご利用いただけるようになりました。(追記:Android Atudio 3.3.1でもご利用いただけます)

R8 では、圧縮、desugar、dex をまとめて一度に実行できます。現在のコード圧縮ソリューションである ProGuard と比較すると、R8 ではコードの圧縮にかかる時間が短縮され、出力サイズもより小さくなっています。

以下のデータは、「Google サンタを追いかけよう」アプリでのベンチマークの結果です。このプロジェクトとベンチマークの詳細については、こちらの GitHub リポジトリでご覧いただけます。

R8 を試用するには

R8 は Android Studio 3.3 ベータ版で利用でき、ProGuard ルールに対応しています。R8 を試してみる場合は、プロジェクトの gradle.properties ファイルで次のように設定してください。

android.enableR8=true


R8 を本格的に使用できる完全モードを試すことも可能です(ただし、このモードは ProGuard との直接の互換性はありません)。こちらを試すには、gradle.properties ファイルに次の設定を追加します。

android.enableR8.fullMode=true


この設定によってさらなる最適化が可能になり、アプリのサイズをさらに削減できます。ただし、そのためには追加の保持ルールがいくつか必要となる場合があります。
Google では多数のアプリで R8 をテストし、その正確性とパフォーマンスについて有望な結果が得られたことから、Android Studio のデフォルトの圧縮ツールをまもなく R8 に切り替える予定です。

ぜひ R8 をお試しのうえ、ご意見やご感想をお聞かせください。バグレポートをお送りいただく際は、こちらのリンクをご利用いただけます。(追記:リンクにアクセスするにはAndroid開発者登録されたGoogleアカウントが必要です)

Reviewed by Tomoko Tanaka - Developer Product Marketing Manager, Google Play

この記事は Google Ads API チーム、Adam Ohren による Google Ads Developer Blog の記事 "Recap of the latest Google Ads API webinar" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

12 月 11 日火曜日に Google Ads API: ロードマップと移行 というウェビナーを開催し、44 か国から 300 名以上の方にご覧いただきました。ありがとうございました。また、2 回目のウェビナーでライブ配信の開始時に発生したいくつかの技術的な問題の解決を手伝ってくださった、すばらしい YouTube チャット グループにもお礼を申し上げます。

Q&A にはたくさんの良い質問や回答がありますので、このイベントが皆さんのお役に立つことを願っています。

ライブ配信に参加できなかった方や、プレゼンテーションのコピーが必要な方のために、スライド資料と、午前 9 時(GMT+8)のウェビナーの YouTube 録画へのリンクを提供します。
技術文書、移行ガイドフィードバックの送信については、Google Ads API デベロッパー サイトにアクセスしてください。

いつものように、ご質問がありましたら、遠慮なくフォーラムからご連絡ください。


Reviewed by Thanet Knack Praneenararat - Ads Developer Relations Team


この記事は Jose Alcérreca による Medium の記事 "The Android Dev Summit 2018 app (instant app takeaways + open source)" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。


Android Dev Summit アプリの開発と Instant App 対応 App Bundle のリリースを通じてわかった留意点。

Android Dev Summit アプリは、11 月 7~8 日にカリフォルニア州マウンテンビューで開催されたサミットの参加者とリモートの視聴者向けにリリースされたアプリです。


IO-Sched をベースに ADS-Sched を開発

Android Dev Summit アプリ(adssched)は、Github から入手できるオープンソース プロジェクト、Google I/O アプリ(iosched)をベースに開発しました。以下のような機能は不要だったため削除しました。
  • 予約 [メインコミット]。この機能は、アプリのすべてのレイヤに深く関わっています。そのため、データ リポジトリがかなり複雑になっていました。I/O アプリの場合は、登録済みの参加者かどうかをエンドポイントで識別し、参加者でないユーザーには別のエクスペリエンスを提供する必要がありました。一方、adssched のユーザーはすべて同じ立場であるため、この機能を削除したことでビジネス ロジックがかなりシンプルになりました。
  • 地図画面 [コミット]。今回のカンファレンスは 2 系列のみだったため地図は不要でした。下部のナビゲーションから地図を削除し、空いたスペースにアジェンダを追加して基本情報のみを一覧できるようにました。
新しい機能として以下を追加しました。
  • 通知 [コミット]。AlarmManager を使用して、スターを付けた項目の開始時間 5 分前にリマインダーが設定されるようにしました。
  • Instant App [コミット]。Instant App のビルドは、Android Studio からかなり簡単に行えるようになっています。今回は、フレーバーを使用して 2 種類のバンドル(インストール用アプリと Instant App)を生成しました。現時点ではバンドルが 2 つ必要ですが、将来的には 1 つのバンドルでアップロードできるようになります。

Instant App の統計情報

カンファレンス アプリを Instant App としてリリースしたのは今回が初めてです。チームとしても、どれくらいの人々が Instant App を利用するのか関心を寄せていました。

インストール用アプリと Instant App のユーザー数の比較(10 月 30 日~11 月 15 日)

Instant App ユーザーの約 25%(全体の 15%)がインストール用アプリに移行しました。

Instant App とインストール用アプリの利用者の割合

 Instant App の採用状況:

  • カンファレンスの 1 週間前にこのアプリを発表したとき、およそ 40% のユーザーが Instant App を試しました。Instant App には、Play の検索結果に表示される [今すぐ試す] ボタンからアクセスできるようにしました。
[今すぐ試す] ボタンで Instant App が開く

  • カンファレンス期間中は、この割合が 30% まで下がりました。通知を利用するために、インストール用アプリに移行した人が多かったものと思われます。
  • 興味深いのは、カンファレンス終了後にインストール数が減り、Instant App のユーザー数が増えたことです。2 つの違いが通知のみであることを、ユーザーが理解した結果と思われます。
このような統計情報を収集するには、Instant App をリリースする前にこちらのガイドに沿ってアナリティクスを設定してください。また、Instant からインストール用への移行フローのイベントも追加してください(今回追加せず後悔しました)。

Instant App を追加する際の留意点

うまく機能した点:
  • 認証メカニズムを修正する必要はありません。Firebase Auth と Google Smart Lock for Passwords で対応できるため、Instant App へのログインは非常にスムーズでした。
  • ユーザーが Android スマートフォンでサミットを検索すると Instant App が表示されました。 
サミットの検索結果に表示された Instant App

  • Instant App からインストール用アプリへの移行フローは、Google Play によってシームレスに処理されます。
Google Play の Instant からインストール用への移行フロー
改善が可能だった点:
  • activity-alias の発見に問題があり、Instant App は起動しているのにランチャーに表示されませんでした。[最近] 画面には表示されましたが、理想からはほど遠い状態でした。時間的な問題で、バグの修正の配信が間に合いませんでした。
  • 通知を Instant App から直接利用することはできません。ただし、Play 開発者サービス(現時点ではベータ版)を使用してプッシュ通知を送信することは可能です。これにはバックエンド コードが必要になります。今回はこの通知を使用して、Instant からインストールへの移行を提案しました。2 つのフレーバーの違いはこの点だけです。

adssched のオープンソース化

IOSched は、最初からサンプルとして開発されたアプリです(そのため、このようなパッケージ名になっています)。他のカンファレンス アプリを開発する際に参照したり、ベースとして使用することを意図しています。ただし、I/O には特定の要件(たとえば予約システム)があり、一般的なカンファレンス アプリに適用するには複雑すぎる面があります。

Android Dev Summit は、サイズや要件が一般的なカンファレンス アプリに近いため、こちらのほうが開発のベースや再利用に適しています。新しいバージョンで必要なのは、Firebase プロジェクト(2 番目のステージング プロジェクトの使用を推奨、Debug ビルドタイプにリンク)と、カンファレンス データの JSON ファイル(非常にわかりやすい形式になっています)をホストする場所のみです。

https://github.com/google/iosched/tree/adssched


adssched をベースにした開発についてご不明な点がありましたら、お気軽に Github プロジェクトに質問を投稿してください。

今回の Instant App の実験は成功裏に終わり、非常に興味深い調査結果を集めるとができました。しかし、Instant App のエントリ ポイントは 1 か所のみで、アプリ全体のサイズは小さくユーザー数も限られた点を考えると、事例としては非常に単純なものと言えます。デベロッパーの皆様がどのような Instant App を構築し、adssched をベースにどんなコミュニティが形成されるのか、チーム一同楽しみにしております。

Ben Weiss(adssched の Instant App 機能)、Nick Butcher(アニメーション作成)

Posted by Yuichi Araki - Developer Relations Team

この記事は Jeni Miles (Partner Development Manager, Google Play) による Medium Blog の記事 "5 principles for apps to survive and thrive" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。


ユーザーを引き付けて維持することは、多くのデベロッパーにとっての主要な課題です。Google では、デジタル インサイトおよび戦略コンサルタントの業務を行う Sparkler 社に消費者調査を依頼し、一部のアプリが人気を集める一方で、すぐに忘れられ、削除され、置き換えられてしまうアプリもある理由を探りました。

その結果、自然界と同様に、アプリは容赦のない過酷な環境に置かれていることがわかりました。アプリは、多くのライバルがひしめき合い、絶えず変化する世界での生存競争を余儀なくされています。ここでは、環境に適応したアプリだけが長く使われて成長を続けられます。Google では今回の調査を通じて、ユーザーがどのようにアプリと関わりを持ち、何を最も重視するか、および、他のアプリがアンインストールされるなかで特定のアプリがユーザーに愛用され続ける理由は何かをもとに、デベロッパー向けの 5 つの原則を特定しました。

ここでは、デベロッパーがどうすればインストール後の最初の数日を乗り切り、長く使われて成長を続けるアプリを開発できるかをご紹介します。


原則 1: どんなアプリなのかを明確に伝える

ユーザーは、初めからアプリの価値をすぐにユーザーに伝えるという、シンプルで明確な目的があると感じた場合、そのアプリを使い続ける可能性が高くなります。ユーザーはアプリの利便性を即座に判断します。ユーザーの 3 人に 2 人は、アプリの主な目的が明白で、数回の操作で簡単に使えるようにならない限り、使用をやめると回答しています。余分な機能などがあると混乱を招き、わかりづらくなる場合があります。アプリの主な目的が不明確になり、ユーザーにアプリの価値への疑問を抱かせます。(1)

価値の高いアプリは、単に便利というだけではありません。66% のユーザーが、優れたアプリには愛着を感じ、自分に合っていれば他のアプリを探す気はないと回答しています。強いブランド力を持つアプリは、ユーザーとの間に強固かつ感情的な関係性を築いています。したがって、アプリの強い独自性を当初から構築することが不可欠です。(2)

原則 2: 直感的かつ信頼できるアプリを作る

アプリに出会うとき、ユーザーは使いやすさと品質の問題に極めて敏感です。これは基本的なことのように思えますが、依然として、短期間でアプリが削除される主な原因です。アプリのクラッシュ頻度、アプリによるデータ、メモリ、電池の使用量に対するユーザーの認識は、アプリの第一印象に大きく影響します。そして、定期購入するアプリの場合はさらに期待が高まり、機能やコンテンツの量だけでなく、品質も求められます。82% のユーザーが、品質を最優先事項とすると回答しています。(3)

全般に、直感的なアプリは愛用されやすい傾向があります。アプリを使い始めるために余計な時間と労力が必要な場合、ユーザーはそのアプリを受け入れるのに苦労します。50% 以上のユーザーが、日常生活で重要な価値を占めるアプリとなるには、「操作しやすい」インターフェースが大きな要素になると考えています。(4)


原則 3: 適度なペースでアップデートする

新たなコンテンツの提供や新機能の開発は、長期にわたってアプリへの関心を維持するうえで不可欠です。ユーザーはそうした項目を、長い間アプリを愛用する主な理由として挙げています。(5)アプリのアップデートのペースが遅く、新しいコンテンツや機能がなかなか提供されない場合、そのアプリには活気のなさが漂い始め、ユーザーはもっと良さそうな別のアプリを探し始めます。

ただし、すべてのアップデートが同じように受け止められるとは限りません。一般に、定期的なコンテンツのアップデートは好意的に受け止められますが、機能のアップデートはユーザーを困惑させやすい傾向があります。ユーザーはアプリに進化を求めます。ただし、ユーザーがアプリを使いこなせて満足しているという雰囲気を維持できる適度なペースでアップデートを行う必要があります。デザインの大幅な変更や、頻繁に行われる細かい変更は、アプリが見放される原因になります。

原則 4: ユーザーのエコシステムの一部になる

アプリは単独で存在しているわけではありません。アプリがユーザーの幅広いテクノロジーや生活のエコシステムにうまく溶け込めれば、置き換えられる可能性が低くなります。ユーザーは、既存のスマートフォンの機能(カレンダー、カメラなど)を利用するアプリや、他のアプリおよびデバイス(音声テクノロジー、ウェアラブルなど)と連携するアプリなどを通じて、自分の持つテクノロジーが一体となって機能することを望みます。

また、そうした考え方はテクノロジー エコシステムにとどまりません。ユーザーがアプリによって他のユーザーとつながる場合、そのアプリの認識される価値は高くなります。54% のユーザーが、友だちや家族と一緒に同じアプリを利用できれば、そのアプリをもっと使うようになると回答しています。(6)ただし、単にチャット機能を追加することが解決策になるわけではなさそうです。ソーシャル機能の追加がユーザーの利用意欲を呼び起こすのは、機能がアプリの主な目的に基づく形で実装されていて、アプリの利便性をさらに高める場合のみです。

原則 5: ユーザーが主体的に管理できるカスタマイズ機能を実装する

カスタマイズ機能によって、長期間にわたりユーザーとアプリをより強く感情的に結びつけることができます。64% のユーザーが、設定を保存して自分好みにカスタマイズできればそのアプリの価値が高まると回答しています(7)。そのようなアプリは、ユーザーのニーズに基づいて調整されていると認識され、日々の生活に組み込まれて、アンインストールされにくくなります。

一般に、カスタマイズ機能は好意的に受け止められますが、ユーザーは、アプリがアクセスするデータやそのデータの使用方法を自分で管理することを望みます。そのことが、受動的なカスタマイズを好むユーザー(27%)よりも、自発的なカスタマイズを好むユーザー(37%)のほうが多い理由となっています。ユーザーが設定を表示、確認、調整できるためです。(8)

最後に

持続的なアプリのエンゲージメントを構築することは、目的の明確さ、直感的で信頼できるサービス、バランスの取れたアップデート頻度、ユーザー自身のエコシステムへの統合、ユーザー主体のカスタマイズ機能の提供といった、ユーザーがアプリのエクスペリエンスにおいて重視する部分に対応することに関係しています。こうしたニーズに焦点を合わせれば、長期間にわたって、ユーザーのエンゲージメントを高め、アプリのファンを形成することができます。

ユーザーがどのようにアプリと関わりを持ち、コンテンツをどう利用しているか、および長期にわたって成長を続けるためにアプリで何をすればよいかについて詳しくは、調査レポートの完全版をご覧ください。

データの出典:

1.Sparkler Research 2018、Q24: 以下の記述にどの程度同意しますか… 基数: 全標本数 N=2,996
2.Sparkler Research 2018、Q24: 以下の記述にどの程度同意しますか… 基数: 全標本数 N=2,996
3.Sparkler Research 2018、Q28: アプリを購入する場合に、無料アプリの場合と比べてアプリへの期待がどう変わるかを説明した以下の記述に、どの程度同意しますか。基数: 全標本数 N=2,996
4.Sparkler Research 2018、Q9: アプリがあなたの日常生活において重要な価値を占めるために、以下の要因のなかで重要なのはどれですか。基数: 全標本数 N=2,996
5.Sparkler Research 2018、Q11: あなたが長期間利用しているアプリについて、そのアプリを長期間利用している最も重要な要因は以下のうちどれですか。基数: 全標本数 N=2,996
6.Sparkler Research 2018、Q14: 以下の記述にどの程度同意しますか。基数: 全標本数 N=2,996
7.Sparkler Research 2018、Q14: 以下の記述にどの程度同意しますか。基数: 全標本数 N=2,996

8.Sparkler Research 2018、Q14: 以下の記述にどの程度同意しますか。基数: 全標本数 N=2,996

Reviewed by Rikako Katayama - Japan Apps Business Development, Google Play

この記事は Play プロダクト マネージャー、Vlad Radu、Android プロダクト マネージャー、Diana Wong による Android Developers Blog の記事 "Get your apps ready for the 64-bit requirement" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

64 ビット CPU は、ユーザーに高速で高度な体験を提供します。64 ビット版のアプリを追加すると、パフォーマンスの改善、将来のイノベーションに向けた進歩、そして 64 ビット専用ハードウェア端末への準備を実現できます。
私たちが皆さんの準備をサポートいたします。皆さんには、計画を立てる時間が必要であることもわかっています。64 ビット CPU は、Android 5.0 Lollipop 以降でサポートしています。2017 年には最初に、ネイティブ コードを使うアプリで(32 ビット版に加えて)64 ビット版の提供が必須になることをお知らせしました。本日は、2019 年にできる限り簡単に移行できるように、詳しい情報とスケジュールをお伝えします。

64 ビット要件: デベロッパーにとっての意味

2019 年 8 月 1 日以降:
  • ネイティブ コードを含むすべての新規アプリとアプリのアップデートを Google Play で公開する際に、32 ビット版に加えて 64 ビット版の提供が必須になります。
  • 延長期間: Unity 5.6 以前を使っている既存のゲームの場合、Google Play は 2021 年 8 月まで 32 ビットのみのアップデートを受け入れます。
2021 年 8 月 1 日以降:
  • Google Play は、64 ビット対応端末に対する 64 ビット版のないアプリの提供を停止します。つまり、64 ビット対応端末は、Play Store で 64 ビット版のないアプリを利用できなくなります。
  • これには、Unity 5.6 以前でビルドされたゲームも含まれます。
以下に該当する場合、この要件の対象外となります。
  • 明示的に Wear OS または Android TV をターゲットとしている APK またはアプリバンドル。Wear OS および Android TV は、現在 64 ビット用コードをサポートしていないフォーム ファクタです。
  • Android 9 Pie 以降の端末に配布しない APK またはアプリバンドル。
32 ビット サポート ポリシーの変更は行いません。Play での 32 ビット端末へのアプリの提供は継続します。この要件が意味するのは、32 ビット向けネイティブ コードを含むアプリには、追加で 64 ビット版も含める必要があるということです。

64 ビット要件への対応

ほとんどのデベロッパーにとって、64 ビットへの移行は簡単なはずです。多くのアプリは、すべてネイティブ コード以外(例: Java プログラミング言語または Kotlin)で書かれているので、コードの変更は必要ありません。
すべてのデベロッパー: 64 ビットに対応するために必要な手順の概要を示します。このプロセスのさらに詳しい手順については、詳細ドキュメントをご覧ください。
APK またはアプリバンドルを調査し、ネイティブ コードが含まれているかどうかを調べます。具体的には、APK Analyzer を使って .so ファイルがあるかどうかを確認します。含まれている場合は、自分のコードをビルドしたものか、使っている SDK またはライブラリからインポートされたものかを確認します。APK 内に .so ファイルが含まれていない場合は、既に 64 ビット対応になっています。
64 ビットアーキテクチャを有効化し、自分のコードからインポートしているネイティブ コード(.so ファイル)を再ビルドします。詳細については、ドキュメントをご覧ください。
  • 必要に応じて、すべての SDK およびライブラリを 64 ビット対応版にアップグレードします。64 ビット対応版が公開されていない場合は、SDK またはライブラリの所有者にご確認ください。私たちは、主要なライブラリ所有者と協力して 64 ビット対応を進めています。
  • アプリの再ビルド後に、ローカルで問題がないかをテストします
  • テストトラックを使ってテスターにロールアウトし、徹底的にテストを行います。
ゲーム デベロッパー: 最もよく使われている 3 つのエンジンは、現時点ですべて 64 ビットをサポートしています(Unreal と Cocos2d は 2015 年より、Unity は 2018 年より)。サードパーティ製ゲーム エンジンの移行は、多大な労力が必要で時間のかかるプロセスであることは承知しています。
Unity は、最近になってバージョン 2017.4 および 2018.2 で 64 ビット サポートの提供を始めたため、バージョン 5.6 以前を使用している既存のゲームについて、2021 年 8 月まで無条件に延長期間を提供します。Unity は、64 ビット対応版へのアップグレード プロセスを説明したガイドを提供しています。
SDK およびライブラリ所有者: アプリ デベロッパーが対応に必要な時間をとれるように、できるだけ早く 64 ビット対応にアップデートし、周知を行ってください。ユーザーへのサービス提供に役立つ最新のツールや情報に関するアップデートを受け取るために、サインアップして SDK を登録してください

今後に向けて

既に 64 ビットをサポートしている皆さん、すばらしい作業をありがとうございました!まだ対応できていない方は、できる限り早く 64 ビット要件への対応に着手することをお勧めします。期限が迫っているので、デベロッパー ドキュメントをアップデートして、アプリが対応できているかを確認する方法を追加する予定です。
人工知能、機械学習、臨場感のあるモバイル体験などの分野で、64 ビット CPU がもたらしてくれる未来がとても楽しみです。64 ビットをサポートすることで、64 ビット端末の進化した計算能力と 64 ビット用コードのみをサポートする今後の Android 端末がもたらすイノベーションに向けたエコシステムの準備が整うことになります。
このブログ投稿はどのくらい役に立ちましたか?


Reviewed by Yuichi Araki - Developer Relations Team

この記事は Nadine Sundquistによる Google Ads Developer Blog の記事 "Announcing v0_7 of the Google Ads API" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

本日は、Google Ads API v0_7 ベータ版がリリースされたことをお知らせします。このバージョンでは、引き続き v0 をエンドポイントとして使用できますが、クライアント ライブラリのアップデートが必要になります。主な機能は以下のとおりです。
  • リクエスト パラメータ: 以下のパラメータを使うと、リクエストの処理方法を変更できます。
    • リクエスト パラメータとして validate_onlytrue に設定すると、リクエストは実行せず、検証のみを行います。この機能は、GoogleAdsService.Mutate() を含むすべてのサービスに追加されています。
    • mutate パラメータとして partial_failuretrue に設定すると、同じリクエスト内の他のオペレーションが失敗しても処理を続行し、有効なオペレーションを commit します。
  • レポート機能: セグメント項目は、すべて segments の一部になります。つまり、クエリをすべて更新し、セグメント項目名の前に segments. をつける必要があります。
  • 管理者アカウント: CustomerManagerLink および CustomerClientLink を使ってユーザー階層を変更する機能を追加しました。
  • クライアントアカウント: ユーザーがテスト アカウントまたは管理者アカウントであるかどうかを識別する項目を追加しました。ユーザーのコンバージョン トラッキング設定が利用できるようになりました。
  • 広告フォーマット: AdParameterService で広告パラメータを管理する機能を追加しました。
  • オーディエンス: キャンペーンおよび広告グループのターゲット設定が利用できるようになりました。ルールベースの論理的な基本ユーザーリストのサポートを追加しました。基本ユーザーリストに対するリマーケティング アクションを管理できるようになりました。
  • 条件種別: CriterionType として、MOBILE_APP_CATEGORYWEBPAGEOPERATING_SYSTEM_VERSIONAPP_PAYMENT_MODEL を指定した条件を作成できるようになりました。
この API を使ってみたい方は、以下の有用なリソースをご確認ください。
アップデートされたクライアント ライブラリとコードサンプルは、2 営業日以内に公開されます。ご質問やサポートが必要なことがありましたら、フォーラムからご連絡ください。

Reviewed by Thanet Knack Praneenararat - Ads Developer Relations Team

この記事はThanet Knack Praneenararat による Google Ads Developer Blog の記事 "Register now for the upcoming Google Ads API Workshops!" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

新シリーズの Google Ads API ワークショップが 3 月から 4 月にかけて開催されます!テクニカル セッションでは、現在の AdWords API から短時間で効率的に移行する方法について重点的に取り上げます。初めての方にも役立つ内容なので、新規ユーザーも大歓迎です。

台北、東京、上海以外のワークショップは英語での開催となります。詳細は以下をご覧ください。地域名のリンクから、登録用のウェブサイトを開くことができます。
すべての地域のワークショップで同じトピックを扱いますので、一番都合のいい場所をお選びください。登録が完了すると、確認メールが送信されます。

ワークショップのウェブサイトには、詳しいアジェンダを掲載しますので、ご期待ください!

ワークショップについて質問がある方は、フォーラムから投稿できます。

Reviewed by Thanet Knack Praneenararat - Ads Developer Relations Team

Google は Machine Learning (機械学習) の専門的な知識を持たない方向けにトレーニングを無料で提供するプログラム「ML Study Jams」を 2019 年 2 月 7 日から 2 月 28 日の期間中に開催します。



本プログラムは、オンライン学習プラットフォーム、QWIKLABS 上にある Machine Learning 関連のコードラボを利用して行います。今回のプログラムは、QWIKLABS で多数公開されている中から Machine Learning の専門的な知識が必要で無い下記のコードラボを利用して行います。



QWIKLABS のコードラボは有料で提供されているのですが、本プログラムにご応募いただいた皆さまには、QWIKLABS を無料で使えるクーポンをお配りします。




また、上記の「ラボ」を4つ修了された方にはノベルティをプレゼントさせていただきます。

本プログラムの流れ
2 月 7 日 申し込み受付開始
2 月 13 日 クーポンと進め方についてのメール送付、各自クエストを開始
2 月中旬/下旬 Google 東京オフィスでのイベントを予定
2 月 13 日以降 各自でクエストを進める
2 月 26 日 自主学習の方の申し込み受付終了
2 月 28 日 終了


本プログラムのお申し込み
本プログラムへの参加はこちらのサイトより参加申し込みをお願いいたします。


皆様のご応募をお待ちしております。


Posted by Takuo Suzuki - Developer Relations Team

2019 年 2 月 19 日(火)、Katie Hempeniusの来日に合わせパフォーマンスをテーマにした Chrome Tech Talk Night #12 を開催します。

Having Katie Hempenius in Tokyo, Google is organizing a tech meetup "Chrome Tech Talk Night #12" on 19h February 2019 themed after web performance.


  • Performance Budgetについて - Shunya Shishido (@sisidovski), Google
  • Tools for Performance Budgeting - Katie Hempenius (@katiehempenius), Google
  • Introduction to Performance APIs (仮) - Shogo Sensui (@1000ch), Merpay, Inc.
一部講演は英語であることを予めご了承の上ご参加下さい。通訳は付きませんが、実験的に英語のキャプションを提供する予定です。

This event includes sessions in Japanese, but we'll provide captions in English experimentally.

イベント概要 (Event abstract)

名称:Chrome Tech Talk Night #12
日時:2019 年 2 月 19 日(火) 19:00 - 21:00 (受付 18:30 〜 19:30)
場所:グーグル合同会社 六本木オフィス
   東京都港区六本木 6-10-1 六本木ヒルズ 森タワー
会費:無料
定員:200 名
主催:グーグル合同会社
ハッシュタグ: #chromejp

申し込み方法 (Application)

参加を希望される方はこちらのページよりお申込みをお願いします。

プログラム

18:30 受付開始
19:00 - 21:00 セッション

内容は変更になる可能性がございます。予めご了承ください。
皆様のご参加をお待ちしております。


Posted by Eiji Kitamura - Developer Relations Team

Cloud OnBoard お申し込みページはこちら


来る 2019 年 2 月 20 日(水)、渋谷にて「Cloud OnBoard 東京 GCP 入門編トレーニング」を実施する運びとなりました。また、3 月には「機械学習講座」「BigData 講座」「Architect Design 講座」を、それぞれ開催いたします。

Cloud OnBoard は、GCP 認定トレーナーによる Google Cloud Platform (GCP) トレーニング入門編です。2016 年より日本各地で開催し、毎回、多くのお客様にお越しいただきました。今回の「Cloud OnBoard - 東京」では、初めて GCP に触れる方向けの入門編講座に加え、更に知見を深めたい方向けに、機械学習や BigData の集中トレーニング、そして、GCP 製品の賢い組み合わせ方法をお話するアーキテクト デザイン講座もご用意しています。

IT マネージャ、 システムエンジニア、ソリューション デベロッパー、ソリューション アーキテクト、オペレーター、ビジネスリーダーなど幅広い方々のために構成されたトレーニングです。 各トレーニングでは、スペシャル トレーナーがデモンストレーションを駆使し、各製品の利点や特徴、業界別ポイント、事例などを交えて解説し、さらに GCP エキスパートが皆さまの疑問にお答えします。

参加費は無料です。ぜひこの機会に、同僚の方々とお誘い合わせの上、ご参加ください。

入門編トレーニングを受講されました皆さまには、認定の証として、参加証の配布をいたします。

また、座学の後に実際に GCP を触って学んだことを試してみたいという方には、Qwiklabs という学習プラットフォームがおすすめです。Qwiklabs は有料ですが、Google では現在、無料クーポンがもらえる Cloud Study Jams キャンペーンを開催中です。こちらのサイトからお申し込みができます。

Cloud OnBoard - 東京


Google Cloud Platform 入門編トレーニング
「初めての Google Cloud Platform」
日時:2019 年 2 月 20 日(水)13:00-18:00
会場:ベルサール渋谷ファースト
 - Google Cloud Platform 認定トレーナー 技術教育エンジニア 古賀 聖人氏
 - Google Cloud ソリューション アーキテクト 中井 悦司
(関連Qwiklabsコース:GCPの基礎

機械学習講座
「エンドツーエンドで学ぶ GCP を活用した機械学習モデルの構築」
日時:2019 年 3 月 6 日(水) 14:00-17:00
会場:Google 六本木オフィス
 - Google Cloud ソリューション アーキテクト 中井 悦司
(関連Qwiklabsコース:Baseline: Data, ML, AI


Big Data 講座
「GCP を活用した効率的なビッグデータの利活用方法」
日時:2019 年 3 月 14 日(木) 14:00-17:00
会場:Google 六本木オフィス
 - Google Cloud Japan カスタマーエンジニア 脇阪 洋平
(関連Qwiklabsコース:BigQuery For Data Analysis他

アーキテクト デザイン講座
「アーキテクチャ原則とパターンで学ぶ、実践的な GCP 使いこなし講座」
日時:2019 年 3 月 19 日(火)14:00-17:00
会場:Google 六本木オフィス
 - Google Cloud カスタマーエンジニア 福田 潔
 - Google Cloud カスタマー エンジニア 水江 伸久
(関連Qwiklabsコース:クラウドアーキテクチャ他)


Cloud OnBoard - 東京 お申し込みはこちら


Posted by Takuo Suzuki - Developer Relations Team

毎年、IT の専門家やビジネスリーダーの方々にご好評いただいている、Google Cloud Next in Tokyo。今年は、夏に開催することが決定しました。2019 年 7 月 31 日 (水) 、 8 月 1 日 (木) の 2 日間、東京プリンスホテル、ザ・プリンスパークタワーの 2 会場で実施します。


今年は、参加される方々の興味関心のある分野によりフォーカスするために、セッションのカテゴリ数を大幅に増やします。イベントの詳細およびイベント登録については、4 月頃にご案内させていただく予定ですので、どうぞお楽しみに。なお今年も、G Suite や Google Cloud Platform (GCP) の活用にまつわる専門的知見やナレッジを、セッションの場で共有してくださる方を募集します。セッションスピーカーを希望される方は、こちらからご応募ください。(応募期間: 2019 年 3 月 15 日(金)まで)

イベント概要
イベント名: Google Cloud Next ’19 in Tokyo
ウェブサイト:https://cloud.withgoogle.com/next/tokyo
日程: 2019 年 7 月 31 日(水)・ 8 月 1 日(木)
開場: 8:30 (予定)
基調講演: 9:30 〜 11:30 (予定)
セッション: 12:00 〜 18:00(予定)
会場: ザ・プリンス パークタワー東京 および東京プリンスホテル
セッションスピーカー募集
対象:G Suite や Google Cloud Platform (GCP) の活用にまつわる専門的知見やナレッジをセッションの場で共有してくださる方
応募期間: 2019 年 3 月 15 日(金)まで
応募先はこちら
※ 画面が、英語表記になった場合は、右上の言語設定ボタン*で Japanese を選択すると、日本語表記に変更できます。
*

最新情報を受け取る Next ’19 の最新情報は、こちらのページの『最新情報を受け取る』ボタンからご登録いただくと、随時お受け取りいただけます。Google Cloud 製品の最新情報なども併せてお送りしますので、ぜひご登録ください。

今年も、会場で皆様にお会いできるのを、楽しみにしております。




お問い合わせ先
Google Cloud Next Tokyo 運営事務局
gc-nexttokyo-info@google.com

この記事は Ryan Richmond (Games Business Operation Manager, Google Play)によるMedium Blog の記事 "Optimizing notifications in games" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

プッシュ通知は、今やモバイルゲームのユーザー エンゲージメント戦略に欠かせない要素となっています。プッシュ通知が圧倒的な支持を得たのは、ゲームを利用中のユーザーはもちろん、利用しなくなったユーザーにも、新しいコンテンツや 新しいコンテンツやアップデート、その他ゲーム内イベントに関する最新情報を届けることができる有効な手段であるためです。つまりプッシュ通知は、プレーヤーを引き付けて維持するという 2 つの点において、ゲーム開発で独自の役割を果たしています。その有効性を考えると、節度を持って効果的にこのツールを使用することが、ゲームのパフォーマンスを一層向上させる鍵だと言えます。

ゲーム業界で働く中で、私達は通知がどのようにして生まれ、それがさまざまなモバイルゲームで利用される様子を目にしてきました。また、Google Play プラットフォーム全体の通知データを調べてみたところ、プッシュ通知についての一般的な考え方が裏付けられたと同時に新たな事実も発見しました。この投稿では、私達が自分の分析から学んだ特に重要な結果を皆さんに共有するとともに、プッシュ通知を最大限に活用するためのおすすめの方法をいくつかご紹介します。

なお、これから説明するのは Google Play のゲーム全体の一般的な傾向であり、個別のゲームには直接当てはまらない場合もあることをご了承ください。ゲームに対する変更をグローバルに展開する前に、A/B テストを実施してその変更による効果の有無を確認することをおすすめします。

プッシュ通知の効果的な活用: 定義

一般に、プッシュ通知を効果的に活用することにより、ゲームの継続率とエンゲージメント率が高くなると認識されています。ここで問題となるのが、「プッシュ通知の効果的な活用」の内容に、合意に基づく共通の定義がないことです。そこで私達は、大まかに次のように定義してみました。

プッシュ通知の効果的な活用とは、関連性が高く便利だと思われるコンテンツをユーザーに通知することにより、ゲームのパフォーマンスが向上することを意味します。この種の通知を行うゲームは、通知に対するインタラクション率が高くなる傾向にあります。

この定義は単純ですが、「内容を確認したり通知からアプリを開いたりすることで、インタラクションが発生したプッシュ通知の割合」という明確かつ有用な指標になります。私達はこの指標を利用して、通知の効果が特に高いゲームを判断してきました。ただし、この定義はきわめてゲーム寄りのものであり、他の種類のアプリには当てはまらない場合もあることに注意してください。たとえば天気アプリは、ほとんどの場合、ユーザーが通知を開いたり通知からアプリを起動する必要はなく、通知そのもので価値を届けることができます。

プッシュ通知で目指すべき目標は、適切な情報を適切なタイミングでユーザーに伝えることです。通知に対するインタラクションが発生しない場合、通知の内容またはタイミングが適切でなかったと考えられます。そのような通知はゲームのプレーヤーに有意義な価値を提供できていない可能性があるため、制限を設けるか内容を見直す必要があります。こうしたガイドラインを採用した場合の効果について、以下に詳しく説明します。

通知の効果的な活用による効果

この分析の目標は、通知の効果的な活用による効果を明らかにすることです。そこでまず、インタラクションが発生した通知の割合と、Play のゲーム全体の標準インストール継続率(1~28 日間)の相関の傾向を調べました。下のグラフからわかるように、通知のインタラクション率が高いゲームと 1~28 日間の継続率には顕著な正の相関関係があります。また、各期間のインタラクション率を比較すると、この相関は期間が長くなるほど強くなります。

さらに、エンゲージメントに対する通知の効果を評価するため、Play で人気のゲームを対象に、インタラクションが発生したプッシュ通知とデイリー アクティブ ユーザー(DAU)全体の維持率の相関の傾向にも注目しました。これは「DAU 維持率」と呼ばれる指標で、前日に引き続いて翌日もゲームをプレイしたユーザーの割合を示します。DAU 維持率が高いということは、ユーザーが毎日ゲームを操作してそのコンテンツを楽しんでいることを表しています。ご覧のとおり、通知を使用しているゲームは DAU 維持率とも正の相関があります。

インタラクションが発生した通知は DAU 維持率も高い傾向にある

DAU 維持率が有効な KPI である理由を詳しく知りたい方は、Adam Carpenter (Head of Developer Business Growth, Google)が投稿した「Why focusing on tomorrow brings back players in the long run(なぜ明日に集中することがプレーヤーの長期定着につながるのか)」をご覧ください。

プッシュ通知で効果が出ない場合

効果的なプッシュ通知はプレーヤーに大きな価値を提供し、結果的にはゲームのパフォーマンスを向上させることになります。しかし残念ながら、すべての通知がユーザーの役に立つとは限らず、摩擦が生まれることもあります。この摩擦が生じていることが明らかにわかる一例は、オプトアウト率が高くなったときです。プレーヤーが通知をオプトアウトするに至る要因はさまざまですが、きわめて単純明快な理由の 1 つとして、通知の多さに閉口することが挙げられます。以下の左側のグラフは、1 日に送信される通知の多さとゲームのオプトアウト率の高さに相関があることを示しています。したがって、場合によってはプレーヤーに送信する新たな通知について見直しを行い、インタラクション率が低い通知は削除することも検討する必要があります。

しかし、本当に興味深いのは、1 日の通知の量には 1 日目のインストール維持率との間に負の相関関係もあることです。つまり、プレーヤーに送信する通知の数を減らすことによって維持率が高まる可能性があり、特にユーザー エクスペリエンスの初期段階でその効果が期待できるということです。


Android では以前から、通知を管理できる便利な機能(通知のグループ化など)をユーザーに提供してきました。こうした機能は、Android P でさらに強化されています。Android P では、アプリごとの通知の数の確認や、プッシュ通知送信の権限を持つアプリの管理などが、どの通知でも 1 回タップするだけで行えるようになっています(下図赤枠 #1)。[通知を管理する] をタップすると新しい画面が開いて、通知の表示順序(通知が新しい順または通知件数が多い順)を切り替えることができます(赤枠 #2)。それぞれの画面にはアプリごとに切り替えボタン(赤枠 #3)があり、ユーザーが選択したアプリの通知をオプトアウトできます。


さらに、各アプリの画面上の位置に関する詳細情報(赤枠 #4)が表示され、そのアプリのプッシュ通知のパターンを詳しく知ることができます。Google では、この情報を Android ユーザーに示すことによって、どのアプリを何時間使ったかをユーザー自身が意識したり、どのアプリが通知を頻繁に送信しているかを把握したりできるようになることを期待しています。結果として、Android P がリリースされた後は、大量のプッシュ通知を送信するアプリやゲームはオプトアウト率が高くなると予想されます。デベロッパーは、ユーザーの時間に配慮し、有用性の低い一般的なプッシュ通知を過度に送信しないようにすることで、これに備える必要があります。さらに、次のセクションで紹介するおすすめの方法を試してみることも推奨します。

プッシュ通知に関するおすすめの方法


通知を効果的に活用して、プレーヤーが快適に利用できるようにすると同時にゲームの KPI も向上させるにはどうすればよいでしょうか。デベロッパーと仕事をする際、私達は以下の方法を採用するよう推奨しています。
  • ゲームの現在の通知を再検討する。役に立たなくなった通知や現在効果が見られない通知がないか調べます。通知はただ単に送信すればよいわけではありません。ユーザーにとって価値がある通知を送信することが重要なのです。。
  • 通知の有効性を継続的にテストする。モバイル業界の競争が激しさを増す中、過去に成功したという理由だけで、古くなった通知を残しておくことにもはや意味はありません。開発におけるあらゆる工程と同様に、通知を改善するためには繰り返しテストを行う必要があります。
  • プッシュ通知戦略を策定、更新する。ゲームで使用する通知については、ゲームの戦略(継続、エンゲージメント、再有効化など)に則って注意深く検討しましょう。
  • ユーザーが通知チャンネルAndroid O で導入された必須の通知機能)を活用できるようにする。受け取る通知をユーザーが選択できる通知チャンネルによって、通知の信頼度が高まるだけでなく、ユーザー自身によるセグメントが可能になります。どちらの要素も、ユーザーがオプトアウトするリスクを潜在的に軽減します。ユーザー セグメントのメリットや戦略について詳しくは、Alyssa Perez (Developer Growth Consultant, Google Play)が投稿した記事「User segmentation approaches for games(ゲームに対するユーザー セグメント手法)」をご覧ください。


ゲーム開発に関係する要素は数多くありますが、ゲームの効果的な通知戦略の策定に関係する要素も多数あります。競争の激しいモバイルゲーム業界で、プッシュ通知を直感的に設計していたのでは時勢に遅れてしまいます。上記のデータ探索の手法が、通知を効果的に活用する重要性とプッシュ通知の多用がもたらす結果の理解につながり、この記事でご紹介したおすすめの方法を取り入れて、テストを繰り返すことで、ゲームのパフォーマンス向上につながれば幸いです。

Reviewed by :
Iku Igarashi - Google Play Business Development Manager