[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

この記事は Jacob Lehrbaum による Android Developer Blog の記事 "Announcing the winners of the #AndroidDevChallenge, powered by on-device machine learning" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。


デベロッパーの皆さんの存在は、Android のイノベーションにおいて常に重要な役割を果たしています。10 年以上前に初めて Android SDK をリリースしたとき、この技術を取り入れたアプリを発見・表彰し、ユーザーの問題を解決する新たな方法を見つける目的で Android Developer Challenge というプログラムを始め、実施していました。




Android が機械学習、5G、折りたたみ式端末といった数々の技術的・端末固有の限界に挑み、可能性を広げる中、デベロッパーの皆さんもまた、このような新しい技術への対応を常に行い、研鑽されています。このようなデベロッパーの取り組みを称えるため、2019 年に Android Developer Challenge を再開し、特にオンデバイス機械学習を利用した「Helpful Innovation(役立つイノベーション)」に焦点を当てて募集を開始。寄せられた何百ものクリエイティブなプロジェクトの中から、素晴らしいアイデアとそれを実現する意欲にあふれた 10 の入賞作を選出しました。

その後、入賞された皆さんと連携してそのアイデアを実現するためにサポートしてきました。本日、その 10 の入賞作を発表します。まだ最初の一歩を踏み出したばかりの作品もありますが、ぜひ気になるアプリをインストールしてみてください!

  • AgroDoc は、農家が植物の病気を診断して治療計画を立てる手助けをします。[Navneet Krishna、インド、コチ]
  • AgriFarm は、農家が植物の病気を検知し、トマト、トウモロコシ、ジャガイモなどの果物や野菜への大きな被害を防ぐ手助けをします。[パキスタン、バルチスタン]
  • Eskke は、SMS で送金、支払い、サブスクリプションや通信時間の購入を行えるようにして、コンゴの人々がモバイルで効率的にお金を管理できるようにします。[David Mumbere Kathoh、コンゴ民主共和国、ゴマ]
  • Leepi は、アメリカ手話のジェスチャーやシンボルの学習をサポートします。[Prince Patel、インド、バンガロール]
  • MixPose は、ヨガ教師やフィットネスのプロがリアルタイムで教えたり、姿勢を確認したり、フィードバックを提供したりする機会を提供するライブ ストリーミング プラットフォームです。[Peter Ma、アメリカ、カリフォルニア州サンフランシスコ]
  • Pathfinder は、道を移動するものを識別してその軌跡を計算することにより、目の不自由な方が複雑な状況下で移動する手助けをします。[Colin Shelton、アメリカ、テキサス州アディスン]
  • Snore & Cough は、いびきや咳を識別して分析することで、医師の助言を求めるユーザーに情報を提供します。[Ethan Fan、アメリカ、カリフォルニア州マウンテンビュー]
  • Stila は、Fitbit リストバンドや Wear OS by Google を実行している端末などのウェアラブル端末とペア設定し、体のストレスレベルを監視、追跡します。ストレスレベルの経時変化をモニタリングすることで、生活のストレスについて理解を深め、管理できるようにします。[Yingdin Wing、ドイツ、ミュンヘン]
  • Trashly は、リサイクルを促進します。オンデバイス カメラを対象物に向けると、アプリが物体検知を使ってプラスチックや紙のコップ、袋、ボトルなどを識別して分類します。[Elvin Rakhmankulov、アメリカ、イリノイ州シカゴ]
  • UnoDogs は、カスタマイズした情報とフィットネス プログラムを提供し、ペットの健康をサポートします。[Chinmany Mishra、インド、ニューデリー]

ML Kit と TensorFlow Lite でオンデバイス機械学習を身近なものに

機械学習は、技術的なバックグラウンドの不足という制約があるデベロッパーにとって、ますます身近なツールになりつつあります。実際に、Android Developer Challenge で入賞したデベロッパーにとっても、機械学習への挑戦は今回が初めてでした。それでもアイデアを実現できたのは、Google が提供している 2 つの重要なプロダクトもその一助になっています。

その 1 つが ML Kit です。ML Kit によって、モバイルアプリのデベロッパーは Google のオンデバイス機械学習テクノロジーを利用し、カスタマイズしたインタラクティブなエクスペリエンスをアプリに組み込めるようになりました。ML Kit には、言語翻訳、テキスト認識、物体検知などのツールが含まれています。たとえば、Eskke は ML Kit のオフライン テキスト認識バーコード スキャンを使い、ユーザーがモバイルマネーの端末で QR コードをスキャンしてすばやく現金を引き出せます。また、MixPose は ML Kit の新機能である姿勢検知 API を使って、ユーザーのヨガのポーズや動きを検知し、教師がフィードバックできます。




Android Dev Challenge の入賞者の多くが使っていたもう 1 つの Google の技術が TensorFlow Lite です。この強力な機械学習フレームワークを使うと、通常ではサポートできない Android や iOS、IoT 端末で機械学習モデルを実行できます。TensorFlow Lite の一連のツールは、イメージ検知から音声認識まで、あらゆる種類の強力なニューラル ネットワーク関連アプリに利用できるので、私たちが肌身離さず持ち運んでいる端末で最新テクノロジーを利用できます。たとえば、Trashly は、カスタム TensorFlow Lite モデルを使って対象物がリサイクル可能かどうか、どのようにリサイクルすればよいかを分析します。

今回入賞した 10 個のアプリのようなイノベーションは、私たちが情報にアクセスして、その情報を使用したり解釈したりする方法を変え、その情報が一番必要なとき、必要な場所で利用できるようにする可能性を秘めています。デベロッパーの皆さんと力を合わせることで、新たなテクノロジーを使って次の波をもたらすデベロッパーがまだ見ぬ可能性を切り開いていくことを期待しています。



#11WeeksOfAndroid 第 2 週「機械学習」次のトピック

#11WeeksOfAndroid 第 2 週は機械学習がテーマです。引き続き、Android デベロッパーの皆さんが利用できる新しいツールや情報をお知らせします。今後の予定は次のとおりです。


  • 火曜日 - ML Kit: ML SDK が大幅に改良され、新しいオンデバイス機能が導入されました。デベロッパーのユーザビリティの大幅な改善、CameraX のサポート、そして今後のプラットフォームの方向性をご確認ください。

  • 水曜日 - カスタムモデル: パッケージ化された SDK ではニーズを満たせない場合、Android Studio のツールや TensorFlow Lite、ML Kit にその答えがあるかもしれません。個々のプロダクトだけでなく、それらを組み合わせて使う方法もご説明します。

  • 木曜日 - ML デザイン: People + AI Guidebook で、ML プロダクトに関する意思決定を行う際のベスト プラクティスを学習しましょう。オンデバイス ML を使って読み方を教えるアプリ、Read Along の内側に迫ります。UX 担当、エンジニア、プロダクト マネージャーなど、チーム全員が必見です!


火曜日と水曜日には 「今日のコードラボ」 も紹介します。早速 Android Studio 4.1 ベータ版をダウンロードして一緒に ML を学習しましょう!

*ここでご紹介したアプリは個々のデベロッパーのプロジェクトであり、Google のプロジェクトではありません。


日本でも 7 月 7 日 に 機械学習のオンラインイベントを行います



Android 11 Meetups は、6 月 23 日  から 9 月 29 日にかけて、計 8 回に渡って開催される、アプリ開発企業のエンジニアやプロダクト担当の皆さまを主な対象としたオンラインセミナーシリーズです。次回 7 月 7 日のセミナーでは、TensorFlowやML Kit 等、端末上で実行可能な機械学習についてのセッションを行いますので、興味のある方はぜひこちらのウェブサイトで登録・参加(視聴)ください。


Reviewed by Nori Fujii - Google Play Developer Marketing APAC

この記事は Angela Ying による Android Developer Blog の記事 "New features to acquire and retain subscribers" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。


定期購入は、Google Play アプリのビジネスモデルの中でも、特に成長著しいモデルであり続けています。定期購入ビジネスが進化し、洗練されていく中、私たちのプラットフォームも皆さんのニーズに応えるために進化を続けています。本日は、新しい定期購入者を獲得する際に役立つプロモーション コード、ユーザーに価値を伝えて離脱したユーザーに復帰してもらうための新たなチャンスなど、Android 11 Beta リリースで発表した新しい定期購入機能について詳しくお伝えします。これらの機能の多くが、Play Billing Library バージョン 3 を使って構築されています。

新機能に加えて、既存のプラットフォームへの改善も行っています。ここ数年間で、アカウントの一時停止とアカウントの復元などの多くの機能をリリースしてきました。これらの機能は、意図的な離脱や意図的でない離脱の削減に大きな効果を発揮しています。そのため、誰もがこれらの機能のメリットを活用できるように、2020 年 11 月 1 日から、デフォルトの設定を省略可能ではなく必須またはデフォルトでオンに変更することを計画しています。機能の詳細と実装要件は、この投稿の最後に記載しています。

次の表に、定期購入プラットフォームに関するすべての変更点をまとめました。




対象を絞ったプロモーション


プロモーションと取引は、ビジネスを拡大して新しい顧客を獲得する重要な方法です。昨年を通して定期購入向けの新しいプロモーション コード機能を準備してきたのはそのためです。この機能を使うと、対象を絞った一部のユーザーだけにプロモーションをすることができます。

昨年の Googl I/O 2019 では、定期購入のワンタイム プロモーション コードをリリースしました。一意な英数字のコードを個々のユーザーに配布して、精算に使ってもらうことができます。今回は、スムーズな精算フローを新しくリリースします。これにより、ユーザーは簡単にコードを使って定期購入を行い、わずか数ステップで Google Play ストアのアプリをインストールできるようになります。ユーザーがコードを使う際の手間が削減されるので、ユーザー エクスペリエンスが大幅に簡素化されます。定期購入フローがアプリの外部で開始するので、この機能は Billing Library 2.0 以降を使っているデベロッパーのみが利用できます。




ワンタイムのコードに加えて、カスタムコード(バニティコード)も正式にリリースしました。複数のユーザーが利用できるカスタムコードは、定期購入ユーザー獲得を促進するマーケティング キャンペーンに活用できます。たとえば、覚えやすいカスタムコードを広告やソーシャル プロモーションに掲載し、積極的に潜在顧客にアピールすることができます。ユーザーがアプリでカスタムコードを使うには、定期購入を行う際に支払い方法にコードを入力します。


ユーザーに定期購入の価値を伝える


定期購入の維持は、長期にわたって定期購入ビジネスの健全性を保つために欠かせません。ユーザーが定期購入を続けるのは、その定期購入サービスに継続的な価値を感じているからです。この価値を伝わりやすくするため、先日、ユーザーが定期購入をキャンセルしようとする際に、定期購入の利点を思い出してもらうためのモジュールをリリースしました。このモジュールを活用するには、定期購入のメリットを最大 4 項目に短くまとめ、そのリストを Google Play Console に追加します。




離脱した定期購入者を取り戻す


私たちは、ユーザーが定期購入から離脱した場合でも、希望すればいつでも簡単に再開できるようにしたいと考えています。これを実現するため、最近期限が切れた定期購入を Google Play の定期購入センターから直接再開できるようにする機能をリリースしました。定期購入再開の SKU は、Google Play Console から有効化できます。この定期購入はアプリの外部で開始されるので、この機能は Billing Library バージョン 2 以降を使っているデベロッパーのみが利用できます。




価格値下げ時のオプトインを省略


ユーザーが定期購入の値下げ価格をオプトインしなければならないのは煩雑すぎるというフィードバックが寄せられています。今後は、定期購入の価格を下げる場合、定期購入を継続するためにユーザーがオプトインする操作は必要なくなります。ユーザーは、価格の値下げ予定についての通知を受け取り、変更予定を Google Play の定期購入センターで確認できるようになります。


プラットフォームの維持設定の更新

ここ数年間にわたり、このプラットフォームは、自発的な離脱と自発的でない離脱(支払いの失敗による離脱)の両方を減らすための機能を通して、定期購入者の維持に大きく貢献しています。たとえば、アカウントの一時停止は、一時停止を行わない場合と比べて、自発的でない離脱を 8% 減少させ、支払いの失敗からの復帰率を 35% 上昇させて、デベロッパーの皆さんに貢献しています。こういった機能は効果的ですが、最初から実装しておくべきものだったのかもしれません。

そのため、今まで省略可能だったいくつかの定期購入機能のデフォルトを更新します。これは、2020 年 11 月 1 日から有効になります。



  • 定期購入を有効化しているすべてのデベロッパーで、定期購入の一時停止と定期購入の再開がデフォルトでオンになります。11 月までに変更を実装できない場合は、どちらの機能も任意のタイミングで Google Play Console からオプトアウトできます。

    • 定期購入の一時停止を行うと、ユーザーは最大 3 か月間定期購入を一時停止できます。一時停止期間が終了すると、定期購入は自動的に再開されます。定期購入の一時停止を行うには、アカウントの一時停止を有効化する必要があります。本機能は 11 月 1 日以前に無効にできます。その場合は、Google Play Console の [定期購入の設定] で [無効] をオフにします。定期購入の一時停止を組み込む方法はこちらをご覧ください
    • 定期購入の再開機能を有効にすると、定期購入期間の終了から 12 か月以内に離脱したユーザーが、再度定期購入することが可能になります。この機能は、Billing Library バージョン 2.0 以降をサポートするアプリでのみ利用できます。
    • 本機能は 11 月 1 日以前に無効にできます。その場合は、Google Play Console の各定期購入商品で、[再度定期購入] の設定を [無効] に変更します。定期購入の再開を組み込む方法はこちらをご覧ください

これらの新機能に対応するために、アプリやサーバーの変更が必要になる場合もあります。具体的には、アプリで以下の対応を行う必要があります。

  • ユーザーが定期購入へのアクセスを失ったタイミングと、後ほどユーザーが復帰したタイミングを認識する

    • アプリで Billing Library を使っており、Google Play Developer API の Purchases.subscriptions を使って定期購入者の最新ステータスを管理していない場合は、アプリが自動的にこれを処理できる必要があります。
    • ただし、Google Play Developer API を使っている場合(ウェブなどの複数のプラットフォームからアクセスできる定期購入のデベロッパーは、これを使うのが一般的です)は、サーバーで常に定期購入者の最新ステータスを保持していることが重要です。
    • 常に定期購入者の最新ステータスを保持できるように、リアルタイム デベロッパー通知を実装することを強くおすすめします。詳細はこちらをご覧ください

  • アプリ外購入にうまく対処する(Billing Library 2.0 以降のみ)
    • ユーザーが定期購入の再開後にアプリを開いたときに、購入を承諾し、新規購入を認識したことを伝えるアプリ内メッセージを表示するようにします。アプリ外購入を扱うベスト プラクティスをご覧ください。

すべての機能で変更が必要になるわけではありませんが、11 月 1 日までに各機能をテストしておくことを強くおすすめします。簡単に移行できるように、Google はすべてのライセンス テスト アカウントでアカウントの一時停止、アカウントの復元、定期購入の一時停止、定期購入の再開を有効化しています。詳しくは、定期購入固有の機能をテストするをご覧ください。



Reviewed by Hidenori Fujii - Google Play Developer Marketing APAC

この記事は Crystal Lambert と Elijah Soria による The AMP Blog の記事 "Introducing the fastest and most user-friendly content encryption" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。


コンテンツの保護とユーザー エクスペリエンスの間で板挟みになってはいませんか?その論争はもう終わりです!私たちが新しいタイプのプレミアム エクスペリエンスを導入します!クライアント側でのコンテンツ暗号化は、高速かつユーザー フレンドリーなソリューションで、貴重なコンテンツを保護しつつ提供することができます。そのうえ、サーバー側での認証と同じレベルのセキュリティを保つことができます!

問題は何か

サーバー側で有料コンテンツを提供する場合、次のようなプロセスになります。

ユーザーは、購読者専用のページにアクセスします。 

ユーザーはログイン認証情報を入力し、その情報がサーバーに送信されます。

ユーザーは応答を待ち…

サーバーは購読者にプレミアム コンテンツを返します。 

購読者以外の場合は、現在のページを更新して支払い画面を表示します。 

AMP が目指すのは、スピード、移植性、そしてユーザーの幸せです。しかし、サーバーサイドの認証は回り道のようなものです。ユーザーが最新ニュースを見たくてうずうずしているにもかかわらず、この往復によって同じ量のコンテンツを得るために倍のデータが必要になる可能性があります。言うまでもなく、長時間待たされたり、あまりに面倒な処理だったりすると、ユーザーは離脱します。

多くの場合、サイト運営者は CSS でコンテンツを隠すことでそれよりもユーザー フレンドリーな体験を実現しようとします。しかし、その代償も発生します。賢い非購読者は、それを突破して無料でコンテンツにアクセスすることもできます。 

では、両方の長所を活かすにはどうすればよいでしょうか。

ソリューション

AMP や Google の担当者は、ユーザー エクスペリエンスを効率化し、さらにサイト運営者のコンテンツを保護する新しいプロトコルを作成しました。 

クライアント側でコンテンツ暗号化を行う場合、ユーザー認証を行う前のプレミアム コンテンツは保護されます。このプロトコルは、非対称鍵暗号と対称鍵暗号を組み合わせ、暗号化したコンテンツを提供します。ユーザーが認証されると、クライアント側だけで復号化されます。さらに、暗号化と復号化という負荷の高い作業は、すべて AMP が行ってくれます。すべてのコンテンツは簡単に Google のインデックス登録を行うことができ、AMP キャッシュから提供できる状態になります。しかも、同じセキュリティ レベルが維持されます。  

これは最高にユーザー フレンドリーなプレミアム コンテンツ保護で、セキュリティにもスピードにも妥協しません。このソリューションの詳しい実装方法については、クライアント側暗号化で定期購読コンテンツを保護するをお読みください。

投稿者: Crystal Lambert、Elijah Soria
イメージ作成: Chen Shay


Reviewed by Chiko Shimizu - Developer Relations Team

この記事は Dr. Stefan Frank による Android Developer Blog の記事 "11 Weeks of Android: People & Identity" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。




このブログ投稿は、これから毎週更新される #11WeeksOfAndroid シリーズの記事です。 Android の重要な内容を取り上げていきますので、お見逃しなく。今週は、人と ID に注目します。ぜひ知っておいていただきたいことを以下にまとめています。



「人」と「ID」


Android 11 は、皆さんの生活に最も重要な「人」を認識して優先できる OS にするよう務めました。愛する人とつながることが、なによりも大切だからです。人間には、そのようなつながりに対する根源的な欲求があります。現在の状況のように人と物理的な距離を取らなくてはならず、直接会えないといった制約が生じている中ではなおさら、つながりを重視したいというニーズがあります。Android 11 は、スマートフォンで会話する方法を新たな発想で見直し、複数の端末間で ID を維持できる新機能が追加されています。

Android 11 の新機能を活用すると、大切な人や友人、会社の同僚と簡単につながることができます。今回のリリースの中心となるのは、Android Conversation Shortcut API と Identity Services Library です。このような新しいツールを使うと、すぐに親友とつながって犬の面白い写真を共有したり、見つけたおいしいシーフードのレシピをおばさんに伝えたり、会社の同僚の昇進を祝うこともできます。また、ユーザーが簡単にサインアップおよびログインできるようになる新しいレベルのパスワード管理も提供されます。

まず初めにご紹介するのは、最も重要な人との会話をスマートフォンのロック画面に表示する機能です。アバターで簡単に判別できるので、家族や友人、同僚にすぐに返信できます。この機能は便利だろうと思っていましたが、ベータ版テスターの反応によってさらに確信してリリースしました。Conversation Shortcut API を使い、ユーザーの生活の改善を実現します。


着信した通知からバブルを作成し、バブルから会話にアクセスできます



ショートカットを使う新しい機能の 1 つが、通知エリアの上にある新しい会話スペースです。この機能は、皆さんにとって一番重要なこと、つまり会話にフォーカスしています。ユーザーは、この通知から Android 11 のもう 1 つの新機能であるバブルを呼び出すことができます。バブルは会話をコンパクトに表現したもので、画面横で他のコンテンツの上に表示されます。これを広げることで、端末で作業中の内容を維持したまま、すばやく会話にアクセスできます。端末で別のタスクを処理しながら会話を続けたい場合にとても便利です。


新しい会話スペースで会話を優先とマークすると、ロック画面に表示されます



会話の通知を長押しすると優先マークをつけることができ、一番重要な人を目立たせることができます。優先される会話は、アバターと一緒にロック画面に表示され、通知の上部に移動します。「サイレント モード(Do-Not-Disturb)」の時でも通知されるように設定することも可能です。また、会話ショートカットのもう 1 つの使用法として、Android 10 でリリースしたシステム共有シートの共有ターゲットとして使うこともできます。

次にご紹介するのが「ID」です。ユーザーやデベロッパーは ID の複雑さに悩まされており、それがデベロッパーにとっての課題になっています。この課題に対応するため、新しい Google Identity Services Library の一部として、One Tap と Block Store に取り組んでいます。One Tap は、ウェブと Android でクロスプラットフォームにログインするための新しい仕組みで、複数の種類の認証情報を効率よく管理します。Block Store は、バックアップと復元の機能を利用して構築されたトークンベースの新しいログインの仕組みです。これを使うと、複数の Android 端末でユーザーのログイン状態を維持できます。

私たちは、今回ご紹介した 2 つの新しい機能をリリースできたことをとても嬉しく思っています。私たち全員がつながってコミュニケーションをとり、大切な人や使っているアプリに対して自分を表現できるようになるからです。このような表現力の向上はさらに重要な要素になっています。


「人」と「ID」に関する機能を動画で解説


人間を認識して優先する機能については「What's new in Android」(日本語字幕あり)をご覧ください。また、Artur が会話ショートカットやバブルの実装方法についてご説明している「会話の通知」に関する新しい動画も公開しました。会話に関する追加機能やその他のシステム UI については、Dan が「What's new in System UI」(日本語字幕あり)で概要をご説明しています。さらに、私たちが人とバブルについてインタビューを受けている Chet のポッドキャストもお聴きください。

ID についてもっと詳しく知りたい方のために、「In Identity on Android: What’s new in sign-in」も公開しました。この動画では、Vishal が Google Identity System の新しいライブラリである One Tap と Block Store についてご説明しています。

このような会話機能に特化した機能について、早い時期から私たちと一緒に作業を続けてきたチームがあります。そのうちの 2 つが、Facebook の Messenger チームと Twitter のダイレクト メッセージング チームです。それぞれの実装についてのストーリーは、こちらこちらからお読みいただけます。


今週の機能をチュートリアルで確認する


今週ご紹介した「人」と「ID」の機能に関して、チュートリアル形式で動画や関連ブログ記事・コードラボをまとめて確認できる人と ID の Pathway をご覧ください。Pathway は、モジュールを順番に完了する形式になっており、最後にはクイズをご用意しています。クイズに合格した方には、もれなくバーチャル バッジが贈られます。人と ID について重要な知識を確認して、限定バッジを獲得しましょう。


今週のまとめ


Android 11 は、ユーザーにとって最も重要な「人」と「会話」に焦点をあわせる起点となります。Android のエコシステムを作り上げている多くのパートナーの皆さんがすばらしいアプリやサービスへ新しくリリースした機能を導入し、人とのつながりや会話を実現しています。私たち Android チームは、引き続きパートナーの皆さんが新機能を使いさらにアプリやゲームの新規開発や機能拡張ができるようにサポートしたいと考えています。そのため、

  • API 30 をターゲットに人とのリアルタイム コミュニケーションを行うアプリを作っているデベロッパーの方は、通知やバブル、共有といった機能が利用できる会話ショートカットベースの API を採用することを強くおすすめします。そうすれば、ユーザーの会話を一番目立つ場所に配置し、皆さんのアプリにユーザーがすばやくアクセスできるようになります。

  • ユーザーのアカウントを扱うアプリでは、ユーザーが厄介なパスワード探しや認証情報を忘れた場合に煩雑な操作をしなくてもいいように、One Tap を組み込んで認証情報の管理を効率化し、Block Store で端末のアップデートを扱えるようにすることをおすすめします。これらの機能は、Android M までの端末と互換性があります。

オンラインイベント Android 11 Meetups で最新情報を入手する




Android 11 Meetups は、6 月 23 日  から 9 月 29 日にかけて、計 8 回に渡って開催される、アプリ開発企業のエンジニアやプロダクト担当の皆さまを主な対象としたオンラインセミナーシリーズです。初回の 6 月 23 日には、「Android 11 の概要」をテーマにスペシャリストがお話しました。アーカイブを公開していますので、参加登録していただき、ウェブサイトよりご覧ください。

次回 7 月 7 日のセミナーでは、TensorFlowやML Kit 等、端末上で実行可能な機械学習についてのセッションを行いますので、興味のある方はぜひこちらのウェブサイトで登録・参加(視聴)ください。

最後になりますが、今回ご紹介した新機能で、ユーザーが大切な人と意味のある楽しいつながりが実現し、お気に入りのアプリをシームレスに使えるようになれば大変うれしく思います。この目的を実現するためにお役に立てれば幸いです。


関連情報


#11WeeksOfAndroid の動画の全プレイリストはこちらから、それぞれの週の詳しい内容は 11 Weeks of Android の Web サイトからご覧いただけます。毎週新しい分野を取り上げますのでご期待ください。Twitter YouTube チャンネル のフォローもお忘れなく。


Reviewed by Yuichi Araki - Developer Relations Team and Hidenori Fujii - Google Play Developer Marketing APAC

この記事は Google の Vice President 兼 General Manager である Gayathri Rajan による記事、"15 years of collaboration: new features and what’s next from Google Maps Platform" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。



2005 年 6 月、Google は Google Maps API をリリースしました。それは、2005 年初めに Google マップのウェブサイトを公開してからわずか数か月後のことでした。ひとりのデベロッパーが他のデータセットを Google マップとマッシュアップして、でき上がったマップとデータをウェブサイトに上げたとき、当時 Google マップの「マッシュアップ」と呼ばれていたものの威力をすぐに知らされることとなりました。今では簡単そうなことですが、プロジェクトとビジネスが成長し、新しい産業が出現し、既存の産業が変革する機会を Maps API が解き放ったことをほぼ同時に知ることとなりました。皆さんのおかげで楽しむことさえできました。

今や Google Maps Platform は、サイトやアプリに地図を追加する機会を提供しているだけではありません。Google で最も長い歴史を持ち、かつ最大のデベロッパー コミュニティの 1 つを活気づけ、あらゆる規模の企業が手掛ける 500 万以上のプロジェクトをサポートし、世界中の革新的なパートナーのエコシステムに貢献しています。デベロッパー、顧客、パートナーによるコミュニティとの 15 年間にもおよぶコラボレーションを振り返ってみると、それは素晴らしい体験で、皆さんなしには不可能でした。

Google Maps Platform チーム全体を代表して、これまでを共にしてきた皆さまに感謝いたします。現在、Google は次の段階へと進み、お客様、そして業界で皆さまが革新を進めていけるよう、さらに全力で支援していく所存です。以下の発表は、現在、これからの 15 年、そしてその後も必要とされるものを提供するための最初のステップです。

ユーザーの振る舞いに合わせた情報表現(以下、コンテキスト体験)の強化


よりユーザーのコンテキストに即した体験をお客様に提供できるよう、Google は製品の機能を拡張しています。まず、皆さんのフィードバックに基づいて、クラウドでマップのスタイルを管理し、マップ上で豊富なコンテキストをエンドユーザーに提供できる新しいマップのカスタマイズ機能を導入します。これらの機能を組み合わせると、マップに表示される POI の数や種類をうまく制御できます。また、カスタマイズされた地図は、コードを変更せずに更新する柔軟性を提供し、すべてのプラットフォームとデバイスでマップの更新を同時にほぼリアルタイムで行える一貫性もあります。

さらに、Google の豊富なローカル地図情報を簡単な方法で地図に追加できるように、マップ、ルート、プレイスの長所を集め、どのホテルを予約し、どの家庭を訪問していくかなどをユーザーが自信を持って決定できるようにします。このローカル コンテキスト機能は関心のある場所周辺の正確かつ詳細な情報を瞬時に構築できるパッケージソリューションなので、ユーザーはウェブアプリやサイトを離れることなく、評価、レビュー、写真や道順を確認できます。さらに、ビジネスニーズやブランドに合わせてカスタマイズすることもできます。

マップのカスタマイズ機能により、新しい方法でマップをカスタマイズしたり更新したりできますが、ローカル コンテキスト機能はこのマップ機能に加えてプレイスやルートと組み合わせることで、ユーザーの期待を超えるコンテキスト体験を簡単に構築できるようにします。

業界向けソリューションを拡大する


これまでの 2 年間、一部のゲーム制作会社と協力して、現実世界をモバイルゲームに取り込んできました。今日(米国時間 6 月 16 日)より、Google は、すべてのゲーム制作会社、独立系ゲーム デベロッパー、そして、没入型のロケーションベース体験がビジネスにどのように活用できるかという点について、実験したいと考えているあらゆる皆様にご利用いただける初めてのゲーム業界ソリューションを提供します。今後も業界ソリューションへの投資を続け、より多くの業界にサービスを提供できるよう拡大していきます。どうぞご期待ください。

デベロッパー向けのツールとリソースを増やす


デベロッパーがより迅速かつ簡単にアプリケーションを構築できるように、Google はツールとリソースを改善しています。Android については、Kotlin を主に使用した Android デベロッパーをさらにサポートするために、オープンソースの Kotlin Extensions ライブラリのバージョン 1 をリリース致しました。iOS については、Maps SDK for iOS や iOS ユーティリティ ライブラリを Carthage 経由で配布できるように致しました。これらは、Kotlin、Swift、JavaScript デベロッパーへのサポート強化するために今年に入って計画した施策の内、1 つ目の取組みです。また、Google Maps Platform を初めて使用する方を支援するために、JavaScriptAndroidiOS に対応した初心者向けの新しいコードラボを公開しました。

Google は、次の 15 年、そしてその後も、引き続き皆さんから学び、可能な限り最高の Google Maps Platform 体験を提供できるよう取り組んでまいります。皆さんの運用と成功に不可欠なデータの品質や信頼性の高いサービスの確保に尽力することをお約束します。これからの 15 年間も皆さんと共にいられるように、今後もデベロッパー体験を改善する新しい方法を模索し、製品に対するフィードバックを共有頂くためのチャネルを作っていきます。



こちら(英語)に最新の発表の詳細がありますので、Google Maps Platform の 15 年間の軌跡を振り返ってみてください。Twitter でフォローまたは YouTube チャンネルに登録して、Google Maps Platform とデベロッパー コミュニティの最新情報を入手することもできます。

Google Maps Platform に関する詳しい情報はこちらをご覧ください。ご質問やフィードバックはページ右上の「お問い合わせ」より承っております。

Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Maps テクニカル アカウントマネージャ


Google for Startups Campus は、スタートアップ ファウンダーが主に集まりお互いに学び合うことを目的としたコミュニティー スペースです。この度、Tokyo Campus での Campus メンバーシップ(無料)の募集を開始します。


Campus メンバーになることで、Goolgle for Startup 施設内のコミュニティー スペースの利用が可能となり、同じステージや課題を共有するスタートアップ同士や Google のメンターとの交流を深め、ネットワークを築くことできます。


また、メンバー向けに、Google が主催するイベントやワークショップ、経験豊富な起業家、VC を迎えてのイベントなど、さまざまな学びの機会を提供していきます。Campus メンバーシップは無料です。


現在、新型コロナウイルス感染症の状況を注視し、皆様の安全を最優先に考え、Google for Startups の Campus は一時クローズしており、サービスを一時的にオンラインでの提供とさせて頂いております。


オンラインでイベントやワークショップの実施を予定していますので、イベント カレンダーをチェックし、積極的にご参加ください!


メンバーシップの申し込み










Posted by Takuo Suzuki - Developer Relations Team



この記事は Google の Product Manager の Ryan Cassidy による記事、"Introducing new Maps customization features from Google Maps Platform" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

食料品店への行き方や近くにどんなレストランがあるのか、最寄りの薬局はどこにあるかなど、世界中の人々が目的を達成するために地図を利用しています。基本的な地図でもユーザーには有益ですが、スタイルの変更や POI を介して追加の地図情報を重ねると、地図の利用体験は状況に応じたものになり、ユーザーにとって単に食料品店に辿りつく以上の便利さを提供します。この記事では、高度にカスタマイズされた地図をこれまでより簡単に作成できる 5 つの新しいマップカスタマイズ機能と、このカスタマイズ機能をスムーズに適用できる新しい実装方法を解説します。

クラウドでのマップのカスタマイズ、スタイル設定や管理


マップのスタイリングについて、これまでウェブサイトで HTML を手動でコーディングしていた時のことを覚えていますか?この度、ウェブサイトのコンテンツの管理を、エンジニアを必要としないタスクに変える堅牢なツールが登場しました。クラウドベースのマップのスタイル設定を導入することにより、最初の一歩を踏み出すことができます。今回のリリースにより、Google Cloud Console を介して地図のスタイル作成や、管理ができるようになりました。この進化には、3 つの重要な利点があります。多くのカスタマイズ機能、非エンジニアでも可能な管理方式、テストとスタイルの迅速なサイトへの展開です。

これまで、マップのカスタマイズは、クライアント側の JSON を介して処理され、地図リクエストとともにサーバーに送信されていました。このため、実行できるカスタマイズは、URL の文字数制限によって上限が定められていました。地図をスタイル設定するとすぐにその限界に達してしまうということをお客様からフィードバック頂いており、我々自身も経験してきました。マップのスタイル設定をクラウドベースに移行したことで、地図のスタイル設定の実行できるカスタマイズの数が、ほとんどのブラウザで 250 以上に増えました。

スタイルがサーバー上にあると、地図スタイルが複数のプラットフォームやプロパティにまたがっていても、管理が簡単になります。単一の地図スタイルは、必要な数の地図に制限なく適用できます。つまり、複雑なデプロイメントなしにスタイルの変更をさまざまなアプリやサイトに一挙に当てはめることができます。

最後に、マップのカスタマイズをクラウドに移行すると、コードを作成しないメンバーも含めて、より多くのチームメンバーが地図を更新できるようになります。ユーザーエクスペリエンス チームが新しいカスタマイズ機能をすばやく採用したり、マーケティング チームが地図スタイルを更新して、ホリデー キャンペーンを反映すると言ったことが可能となります。コンソール側で公開処理をすると、新しい地図スタイルはすべてのプラットフォームとデバイスに対してほぼリアルタイムで更新されるので、統一感のあるカスタマー エクスペリエンスを確実に提供できます。


Cloud Console でマップの管理、カスタマイズ、スタイル設定が利用できるようになりました。



ベクトル地図を使用した、より洗練されたマップ体験


お客様からの多くのフィードバックを受けて、ベクトル地図を JavaScript API に導入することにしました。画像のセットで構成されるラスタータイル地図とは異なり、ベクトル地図はクライアント側でレンダリングされます。これは、WebGL を使用して行われます。WebGL は、ユーザーのデバイスの GPU を利用して、見栄えがよく滑らかで鮮明な地図タイルを、パンやズームなどのユーザー インタラクション中に描画するウェブ技術です。

ベクトル地図が JavaScript だけでなく、Android と iOS でもサポートされるようになったため、3 つのプラットフォームすべてに Marker Collision Management を導入することになりました。デベロッパーは、ベースマップ情報に対して優先表示するマーカーを決定できるようになったのです。マーカーが近くのラベルや他の地図情報と「衝突」したり、競合することはもうありません。したがって、地図を雑然としたり見づらくすることなく、より豊富な POI やもっと多くのラベルなど、さらにたくさんの情報を地図上に表示することができます。

地図に表示する POI の制御の強化


Google Maps Platform は、世界中の約 2 億か所のビジネスと場所に関する情報を提供しております。これまで、ビジネスに関する情報は「ビジネス」というラベルが付いた 1 つの大きな POI カテゴリにグループ化していました。今回、ビジネス POI フィルタリングに、宿泊施設、ショッピング、飲食店、レンタカー、ガソリンスタンドの 5 つのサブカテゴリを導入しました。これまでは、すべてのビジネスを表示するかしないかという粒度の粗い選択機能のみでしたが、今後は、どのタイプのビジネスを地図に表示するかを選択することができます。小売業者であれば、近くの飲食店やガソリンスタンドを表示することでお客様が外出時に必要となる情報を提供することができます。また、ショッピング POI を除外することで競合店の場所を表示させないということもできます。たとえば、ホテルチェーンであれば、検索地図には飲食店とショッピング POI を表示し、宿泊施設 POI は除外する設定をすることで競合の宿泊施設を地図に表示しないようにできます。

長年にわたり、地図上に配置する POI の最適な数を模索してきました。得られた知見はすべて地図タイルに反映させています。ただし、前述のフィルタリング機能は表示させない POI を決定するだけとなります。したがって、フィルタリング適用後は 地図上の POI の数は少なくなってしまいます。”POI Density Control” を使用すると、POI カテゴリごとに地図に表示する POI の数を増減することができます。これにより、顧客にとって最も重要なカテゴリを調整できます。先に述べたホテルチェーンの場合、ホテルの近くにあるレストラン、観光名所、ショッピングの場所を潜在顧客に提示することができます。

Marker Collision Management、Business POI Filtering、POI Density Control といった 3 つの機能を組み合わせると、有用で視覚的に特徴のある地図を作成することが可能となり、ユーザーに真の価値を提供できます。

それでは、使ってみましょう


こうしたマップの新しいカスタマイズ機能はすべてベータ版としてリリースしています。今後数週間にわたって、新規や既存の Google Maps Platform のお客様に展開をしていきます。Cloud Console の Google Maps Platform セクションに新しい「マップ管理」タブと「マップスタイル」タブが表示されたら、プロジェクトで使用することができます。地図実装のカスタマイズに関する技術的な詳細は、ドキュメントAndroid iOSJavascript)をご覧ください。

「マップ管理」タブと「マップスタイル」タブは、Cloud Console の Google Maps Platform セクションに表示されます。


これらの新機能は、カスタム地図を作成や管理する新しい方法で、地図スタイルをチームのより多くのメンバーが設定できるようにし、公開と更新のプロセスを合理化します。チームの誰が地図スタイルを設定するのか、どの程度の密度を選択するのか、どのタイプの POI を表示するかも関係なく、すべてクラウド上で変更が行えます。皆さんがどのような新しいスタイルを構築されるのかが楽しみです。

最新のお知らせは、こちらをご覧ください。Google Maps Platform の 15 年間の軌跡を振り返ることができます。

Google Maps Platform に関する詳しい情報はこちらをご覧ください。ご質問やフィードバックはページ右上の「お問い合わせ」より承っております。

Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Maps テクニカルアカウントマネージャ



この記事は Google の Technical Program Manager の Samuel Cheung と Engineering Manager の Mark Burslem による記事、"Google Maps Platform gaming solution now available to everyone" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

ちょうど 2 年前に、現実世界を舞台にしたゲームを実現するためのゲーム ソリューションを開発し、一部のゲームスタジオに提供をしてきました。これまでに、10 種類のゲームが Google Maps Platform で構築され、プレイヤーの数は毎月 1,100 万人にのぼります。しかし、このソリューションを提供した直後に、独立のゲームスタジオやデベロッパーの皆様も独自のゲームが作りたいということがわかりました。そこで Google は、すべてのデベロッパーがこのソリューションを利用できるように、登録後オンラインですぐに利用を開始できるスケーラブルなインフラストラクチャの構築に着手致しました。魅力的な没入型の現実世界を舞台にしたゲームを作成できるよう、すべてのモバイルゲーム デベロッパーにゲーム ソリューションを公開します。

わずか数分で開始できます


ゲーム デベロッパーは、オンラインですぐに Google Maps Platform でモバイルゲームの構築をはじめることができます。利用手続きに従い、請求先アカウントを作成したら、Google Cloud プロジェクトを設定し、Maps SDK for Unity をダウンロードします。これを済ませると、Semantic Tile API と Playable Locations API が自動的に有効になります。クイックスタート ドキュメントには SDK のインストール方法が解説されており、ゲーム開発を即座に始めることができます。

ゲームの世界をカスタマイズし、ゲームのストーリーに最適な場所を決定する


Google Maps Platform のゲーム ソリューションは、現実の世界をゲームに取り入れたり、ゲームを現実世界に取り込んだりする柔軟性を提供します。Maps SDK for Unity は、現実世界の位置情報をもとにゲームの世界を作成やカスタマイズするためのツールを提供します。Playable Locations API は、ゲームのストーリーを現実世界に当てはめる時に最適な場所を見つける手助けとなります。最初のリリース以降、プレイヤーのゲーム内体験を向上するために、複数のズームレベルのシームレスな拡大・縮小への対応(ミックスズーム)や経路検索などの機能が追加されました。

ミックスズームは、プレーヤーに近いエリアは高精細に表示し、プレーヤーから離れるほど精度を下げて表示する LOD 機能です。地平線を遠くに表示した状態で、距離に応じたズームレベルでベクトルタイルをレンダリングすると、処理負荷が大幅に軽減できるので、数千メートル以上におよぶ地図も生成できます。空から見下ろす眺望だけでなく、より広いエリアにズームアウトするゲーム世界を作ることもできます。

経路検索を使用すると、ゲーム内のキャラクターに新しい命を吹き込むことができます。モンスターを誘導してプレイヤーを追いかけたり、飛行機を飛ばして隠れ家に物資を投下したり、未来都市でのミッションに参加したりできます。Google Maps Platform は、ゲームの世界と現実の世界をつなぐお手伝いをします。

数億もの 3 次元形状の建物や、公園や道路などの都市設定を Unity のオブジェクトとして使用できるため、没入型のゲームストーリーを各プレーヤーにカスタマイズできます。また、220 を超える国と地域をカバーしているので、これをグローバルな規模で行うこともできます。

現実世界を舞台にしたゲームの限界を超える


恐竜を捕まえて孵化させるものバードウォッチング、その他多くのゲームが Google Maps Platform を利用して作成されています。また、特定の場所や自宅でプレイしなければならないといったプレーヤーの行動パターンの変化にも、ゲームスタジオはゲームをすばやく変更し対応してきました。
Krikey チームは、プレイヤーが家にいながらプレーできるようにしましたが、バードウォッチングの本質は維持するように WINGSPAN のストーリーを変えました 


また、このソリューションを使い既存のゲームに対して現実世界のモードを追加することで、ユーザーをゲームに再び没頭させるための新しい命を吹き込む機会を提供します。

ゲームをいつも構築したいと考えている個人デベロッパー、有名な IP 所有者との開発を始める準備が整っている定評のあるスタジオ、現実世界のデータと拡張現実(AR)が自身のビジネスにどう結びつくかを確認したいと思っている企業など、このソリューションを活用して皆様が構築するものを楽しみにしています。

最新のお知らせは、こちらをご覧ください。Google Maps Platform の 15 年間の軌跡を振り返ることができます。

Google Maps Platform に関する詳しい情報はこちらをご覧ください。ご質問やフィードバックはページ右上の「お問い合わせ」より承っております。

Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Maps テクニカルアカウントマネージャ

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

さまざまなコミュニティが新型コロナウイルス感染症(COVID-19)に対応する中で、すべての人がそれぞれの課題と向き合っていることを私たちは承知しています。この困難な時期を乗り切り、計画を立てる際に役立つアップデートとリソースについて、以下に説明します。

API にはどのような影響がありますか

皆さんは、生活のさまざまな側面で調整に追われていることと思います。そこで、次のような形でサポートします。
  • Google Ads API v1 のサービス終了を延期: Google Ads API v1 のサービス終了を 2020 年 7 月 29 日まで延期します。AdWords API は、今後も本番環境で利用できます。
  • 追加の時間を提供: AdWords API や Google Ads API のコードのアップデートが必要になる新規変更は、追加の時間を提供するか、延期します。
皆さんに新機能をお届けするため、Google Ads API の新バージョンのリリースは継続されます。

どんなカスタマー リソースがありますか
Google 広告は、企業やお客様に以下のリソースを提供しています。
どこでサポートを受けることができますか

Google 広告ヘルプセンターは、API に関連しないサポートに遅れが出ていることを発表しました。これには、デベロッパー トークンの承認や変更も含まれます。

API の質問やサポートが必要なことがありましたら、googleadsapi-support@google.com または Google Ads API および AdWords API フォーラムにご連絡ください。

Reviewed by Thanet Knack Praneenararat - Ads Developer Relations Team

この記事は Thanet Knack Praneenararat による Google Ads Developer Blog の記事 "Changing statuses of app and app engagement ads that do not serve" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。 


2020 年 4 月 17 日に、提供しないアプリ広告アプリ エンゲージメント広告のステータスが ENABLED から DISABLED に自動変更されました。アプリ キャンペーン内の各広告グループについて、 最初に作成された広告 のみを提供できるので、混乱を避けるために同じ広告グループのその他の広告を無効化します。これにより、クエリ条件に Google Ads API の ad_group_ad.status または AdWords API の AdGroupAdStatus が含まれている場合、レポートの行数が変わる可能性があります。

行うべきこと
広告が無効化されても構わない場合は、特に何かをする必要はありません。クエリで返されるレポートの行数が変わる可能性がある点にだけご注意ください。たとえば、クエリに有効な広告だけを取得する条件が含まれている場合、レポートの行数が少なくなるかもしれません。

無効な広告のパフォーマンス データも確認したい場合は、レポートのクエリに無効な広告も含めるようにしてください。なお、無効な広告は提供されないので、前述の日付以降にパフォーマンス統計が発生することはありません。

レポートについてさらに詳しく知りたい方は、以下のリンクを確認してください。
Google Ads API の場合は、以下をご覧ください。
AdWords API の場合は、以下をご覧ください。
いつものように、質問がある方は遠慮なく AdWords API および Google Ads API フォーラムにご連絡ください。

Reviewed by Thanet Knack Praneenararat - Ads Developer Relations Team



この記事は Product Manager の Ivan Passos による記事、"Announcing Local Context beta from Google Maps Platform" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

地域の情報は、訪問先や滞在場所、買い物や散策の行き先、どの家を見て回るかを決める上で役立ちます。たとえば住宅を購入したいと考えている人は、その家の立地条件が希望にあっているかどうか見極めるために、不動産サイトと Google マップを別々なウィンドウに表示して、切り替えることがよくあります。そして、興味を持った家ごとにこのプロセスを繰り返します。これはユーザーにとってストレスであり、コンバージョンに悪影響を与える可能性があります。新しいローカルコンテキスト ベータ版(英語)は、使い慣れた Google マップ体験をデスクトップやモバイル ウェブアプリにすばやく簡単に埋め込むことで、この問題を解決します。スムーズなユーザー エクスペリエンスを提供し、ユーザーの意思決定をより迅速にし、サイトから離れてしまう可能性を最小限に抑え、コンバージョンを改善するのに役立ちます。
周辺地域情報をサイトに統合すると、ユーザーは確信を持って迅速な決定ができます。


使い慣れた Google マップのローカル体験をサイトに直接提供する


ローカル コンテキストを使用すると、世界の約 2 億か所に関する Google の豊富な周辺地域情報と、毎月 10 億人を超えるグローバルユーザーが使用するこの体験をユーザーに提供できます。ユーザーが検討している特定の場所の周辺スポットについて、スポットの名前、説明、価格帯、評価、レビュー、写真などを使用してユーザーが特定の場所周辺の詳細な情報が瞬時に得られるので、、サイトの滞留時間を向上させるのに役立ちます。対象の場所からの到着予定時刻と徒歩での道順を表示することもできます。ユーザーは、対象の場所の近くに表示されるマーカーか、Place Chooser に表示されるスポットの写真をクリックすれば、この豊富な周辺情報を表示できます。
ユーザーは、マーカーか Place Chooser に表示されるスポットの写真をクリックすれば周辺情報を表示できます。



シンプルで包括的なローカル体験


ローカル コンテキストは、マップルートプレイスの長所をひとつの体験にまとめるので、実装も使用も簡単です。スタイルや他のマップ機能をそのまま維持しながら、既存のマップへの追加が可能です。わずか数行のコードを追加することでこのローカルコンキスト体験をサイトに統合できます。

ローカル コンテキスト追加前のマップコード :
const myCoordinates = {lat: -41.2847, lng: 174.7681};
const map = new google.maps.Map(
document.querySelector('#map-container'),
center: myCoordinates,
zoom: 16
);


ローカル コンテキストのマップコード :
const myCoordinates = {lat: -41.2847, lng: 174.7681};
const lcMapView = new google.maps.localContext.LocalContextMapView({
  element: document.querySelector('#map-container'),
  placeTypePreferences: [
    'bakery', 'cafe', 'clothing_store', 'drugstore', 'park',
    'restaurant', 'shopping_mall', 'tourist_attraction', 'university'
  ], 
  maxPlaceCount: 24,
});
const map = lcMapView.map;
map.setOptions({
  center: myCoordinates,
  zoom: 16
});


さらに、開発やメンテナンスのコストを事実上かけることなく、実装を最新の状態に保つこともできます。スポットの更新とキュレーションはバックグラウンドで実行されるため、開発者の方が新たに作業する必要はありません。セッションごとに価格設定されるのでコストの予測はより容易になり、追加の API 呼び出しをすることなく、豊富なプレイスデータと統合されたユーザー インタラクションを提供します。

ビジネスニーズとブランドに合わせてカスタマイズ


ローカル コンテキストを使用すると、対象の場所の周辺にあるスポットのうちユーザーに見せたい種類のみを選択することで、ユーザー エクスペリエンスを調整できます。また、マップに表示するスポット数を制限して、ユーザーのすばやい決定を助けることも可能となります。たとえば、ホテルのウェブサイトでは、ホテルの周辺に合計 12 か所の場所を表示させることにして、それをレストラン、観光スポット、ナイトライフ、ショッピングに限定することができます。マーカーやアイコンの色から主要な UI 要素の位置まで、サイトのスタイルやブランドに合わせて地図の表現を変更することもできます。
ビジネスニーズとブランドに合わせてユーザー エクスペリエンスをカスタマイズできます。



ローカルコンテキスト ベータ版を無料で試す


ローカル コンテキストは、ベータ版期間中に限り Maps JavaScript API のライブラリとして無料で利用できます。まずはドキュメントをご覧ください。また、ローカル コンテキスト ベータ版がネイティブの Android アプリや iOS アプリに拡張され、モバイルで外出先での使用事例やエクスペリエンスに対応できるようになるのをご期待ください。

最新のお知らせは、こちらをご覧ください。Google Maps Platform の 15 年間の軌跡を振り返ることができます。


Google Maps Platform に関する詳しい情報はこちらをご覧ください。ご質問やフィードバックはページ右上の「お問い合わせ」より承っております。 

Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Maps テクニカル アカウントマネージャ



この記事は Nadine Wang による Google Ads Developer Blog の記事 "Google Ads API beta v1 sunset reminder" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

Google Ads API ベータ版 v1 は、2020 年 7 月 29 日に提供が終了する予定です。それ以降、v1 API へのすべてのリクエストは失敗します。API アクセスに影響がないように、必ず 2020 年 7 月 29 日までに新バージョンに移行してください。

移行に役立つさまざまなリソースを準備しています。
アップグレードの際に疑問に思うことがありましたら、フォーラムまたは googleadsapi-support@google.com にご連絡ください。



Reviewed by Thanet Knack Praneenararat - Ads Developer Relations Team

この記事は Nadine Wang による Google Ads Developer Blog の記事 "Entity IDs as 64-bit in AdWords API, Google Ads API beta, Google Ads scripts, and Content API for Shopping" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

AdWords APIGoogle Ads API ベータ版Google 広告スクリプトContent API for Shopping のすべてのエンティティ ID は 64 ビット符号付き整数です。具体的には、以下の型です。
  • AdWords API では xsd:long
  • Google Ads API では INT64
  • Google 広告スクリプトでは number または string
  • Content API for Shopping では、REST で string、クライアント ライブラリで INT64
この API を組み込むアプリケーションは、この範囲の ID 値を扱う必要があります。

これまで、以下の ID は 32 ビット符号付き整数の最大値の範囲内に収まっていましたが、まもなくこの範囲を超える見込みです。ここ数年間の皆さんの生産性の高さにより、一意の ID を持つエンティティをさらに作成するには、64 ビット符号付き整数が確実に利用できなければならなくなっています。この件は、2019 年 7 月に初めてお知らせしました。問題が起こらないように、アプリケーションが 64 ビット符号付き整数値の範囲の ID を扱えることを確認してください。また、ここに記載されていない他のエンティティ ID についても、アプリケーションが 64 ビット符号付き整数をサポートできることを確認してください。

AdWords API と Google Ads API ベータ版で影響を受ける ID
AdWords API Google Ads API ベータ版
入札戦略 BiddingStrategyConfiguration.bidding_strategy_id

BiddingStrategyId(複数レポート)
BiddingStrategy.id
予算 BudgetOrder.id AccountBudget.id

BillingSetup.id
ユーザーリスト UserList.id

CriterionUserList.userListId

CLICK_PERFORMANCE_REPORT.UserListId

AUDIENCE_PERFORMANCE_REPORT.Id
UserList.id
ショッピング キャンペーン ServiceLink.serviceLinkId

ShoppingSetting.merchantId

SHOPPING_PERFORMANCE_REPORT.MerchantId

SHOPPING_PERFORMANCE_REPORT.AggregatorId
MerchantCenterLink.id

ShoppingSetting.merchant_id

segments.product_merchant_id

segments.product_aggregator_id
コンバージョン アクション ConversionTracker.id

ConversionTrackerId(複数レポート)

ConversionTracker.originalConversionTypeId
ConversionAction.id
アカウント コンバージョン トラッキング構成 ConversionTrackingSettings.effectiveConversionTrackingId ConversionTrackingSetting.conversion_tracking_id

ConversionTrackingSetting. cross_account_conversion_tracking_id




Google 広告スクリプトで影響を受ける ID
JavaScript で正確に表現できる整数は最大 53 ビットまでです。今後 ID の数が大きくなることによって発生する可能性があるエラーを避けるため、Google 広告スクリプトではすべての ID を string として扱うことを強く推奨します。
Google 広告スクリプト
入札戦略 AdsApp.BiddingStrategy.getId()
予算 AdsApp.BillingAccount.getId()

AdsApp.BudgetOrder.getId()
ユーザーリスト AdsApp.Audience.getId()

AdsApp.ExcludedAudience.getId()

AdsApp.UserList.getId()

AdsApp.​ShoppingCampaignAudience.getAudienceId()

AdsApp.ShoppingCampaignAudienceBuilder.withAudienceId()

AdsApp.ShoppingCampaignAudienceSelector.withIds()

すべての Targeting -> Audience Search メソッドの getAudienceId()withAudienceId()



Content API for Shopping で影響を受ける ID
すべての ID は、REST では string、クライアント ライブラリでは INT64 として返されます。アプリケーションで ID を数値に変換する場合は、アプリケーションが 64 ビット符号付き整数を扱えることを確認してください。この例として、クライアント ライブラリの構成や REST URL で設定する販売者 ID があげられます。
Content API for Shopping
Merchant Center AccountIdentifier.merchantId

Order.merchantId

OrdersCustomBatchRequestEntry.merchantId

RegionalinventoryCustomBatchRequestEntry.merchantId

ProductsCustomBatchRequestEntry.merchantId

ProductstatusesCustomBatchRequestEntry.merchantId

AccountsCustomBatchRequestEntry.merchantId

OrderReportDisbursement.merchantId

OrderReportTransaction.merchantId

LocalinventoryCustomBatchRequestEntry.merchantId

ReturnpolicyCustomBatchRequestEntry.merchantId
ショッピング キャンペーン AccountIdentifier.aggregatorId



どこでサポートを受けることができますか

API に関する質問やサポートが必要なことがございましたら、以下からご連絡ください。


Reviewed by Thanet Knack Praneenararat - Ads Developer Relations Team

この記事はウェブ プラットフォーム PM、PJ McLachlan による Chromium Blog の記事 "Protecting Chrome users from abusive notifications" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

メッセージング、カレンダー、メール クライアント、ライドシェア、ソーシャル メディア、配送サービスなど、さまざまなアプリケーションによるウェブの通知は、ユーザーが重要なアップデートを受け取る際に役立ちます。

残念なことに、ブラウザの通知はユーザーを誤解させたり、個人情報をフィッシングしたり、不正なソフトウェアを宣伝したりするために使われることもあります。このような不正のパターンは、大きく 2 つに分けることができます。それは、「アクセス許可リクエストの問題」と「通知の問題」です。

アクセス許可リクエストの問題とは、誤解させたり、だましたり、強制したりすることでユーザーに通知を許可させるリクエストを指します。一例として、サイトのコンテンツへのアクセス権を得るために通知を許可させるサイトや、最初に誤解を招くプロンプトが表示されるウェブサイトなどがあります。

通知の問題には、チャット メッセージや警告、システム ダイアログに似た偽造メッセージが含まれます。さらに、フィッシング攻撃、個人情報を盗んだりユーザーをだまして共有させたりする不正な手口、悪意のあるソフトウェアの宣伝やリンクに使われるマルウェア通知などが含まれます。

不正な通知の詳細については、Search Console の Abusive Notifications Report が特定した不正な通知の完全なリストをご覧ください。以下の「自分のサイトが不正な通知チェックに失敗しているかどうかは、どうすれば確認できますか?」のセクションでも説明しています。

2020 年 7 月 14 日に安定版がリリースされる Chrome 84 以降、不正なアクセス許可や不正な通知をリクエストするサイトには、自動的に邪魔にならない通知 UI が適用され、サイトがユーザーをだまそうとしている可能性がある旨が通知登録プロンプトに表示されます。 この変更については、以下で詳しく説明します。

この変更を実施する理由を教えてください。

不正な通知プロンプトは、Chrome に関してユーザーから特に多く寄せられる苦情の 1 つです。通知リクエストや通知の大部分は、一部の不正なサイトによるものです。こういったサイトからユーザーを守ることで、ウェブでのユーザーの安全性やプライバシーが向上し、ブラウズ体験を改善することができます。

この変更によって影響を受けるのはごく一部のウェブサイトに限られるはずですが、ユーザーによっては通知の数がかなり減ることが予想されます。

Chrome 84 での通知 UI の変更

Chrome 84 での不正な通知に対する保護は、不正なサイトからの新しい通知アクセス許可リクエストのみに影響します。 将来的には、既に不正なサイトからの通知アクセス許可を受け入れたユーザーへの保護を追加する可能性もあります。







不正なサイトでの邪魔にならない通知の PC 向け UI。新しい UI により、ユーザーはこのようなサイトからの通知を許可しにくくなっている。






不正なサイトでの邪魔にならない通知のモバイル UI。新しい UI により、ユーザーはこのようなサイトからの通知を許可しにくくなっている。



自分のサイトが不正な通知チェックに失敗しているかどうかは、どうすれば確認できますか?

Search Console の Abusive Notifications Report は、サイトの不正な通知の状況についての情報をサイト運営者に提供します。サイトが初めて「失敗」ステータスになると、Search Console は登録されているサイト運営者や Search Console ユーザーにメールで通知します。これは、少なくとも適用が開始される 30 日前(暦日)に行われます。ウェブサイトは、この間に問題に対処し、送信して再度審査を受けることができます。

Search Console のヘルプセンターにも、Abusive Notifications Report不正な通知の審査プロセスについての追加情報が掲載されています。

自分のサイトが不正な通知の審査に通らなかった場合、どうすればよいですか?

Search Console のヘルプセンターには、不正な通知を修正し、再度ウェブサイトの審査をリクエストする方法を説明したガイドが掲載されています。

Reviewed by Eiji Kitamura - Developer Relations Team

この記事は Chrome メディア プロダクト ディレクター、Matt Frost、WebRTC シニア プロダクト マネージャー、Niklas Blum による Chromium Blog の記事 "Celebrating 10 years of WebM and WebRTC" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

10 年前、Google はインターネットをさらに活性化させる根を育てるため、ウェブメディア テクノロジーの 2 つの礎の種をまきました。On2 TechnologiesGlobal IP Solutions の 2 社の買収は、WebM ProjectWebRTC Project の 2 つのオープンソース プロジェクトにつながりました。WebM Project は、Google がロイヤリティ フリーで提供する一連の最新動画圧縮技術(コーデック)です。WebRTC Project は、ウェブでリアルタイムの音声や動画によるコミュニケーション機能を構築するための API です。

この 2 つの取り組みは大きな技術的進展であり、ビデオ会議やストリーミングをサポートする期待の HTML5 を実現するインフラストラクチャに欠かせないものでした。しかしこれは、プロダクト マネージャーの Mike Jazayeri が WebM Project の立ち上げを祝うブログ投稿に記したように、メディアの哲学的な進化でもありました。


「ウェブの成功の重要な要因の 1 つは、HTML、HTTP、TCP/IP などのコア テクノロジーがオープンで自由に実装できることです」
ウェブ エクスペリエンスにおける一流の新参者として、メディアやコミュニケーションのコンポーネントもまた、自由でオープンでなければなりませんでした。

それから 10 年が経ち、この原則は、メディアの利用、端末、需要の指数関数的拡大に象徴されるウェブ エコシステムと歩調を合わせながら、圧縮技術や通信技術として確立されました。WebM Project は、2010 年の VP8 に始まり、2013 年には VP9 で動画ビットレートを最大 50%、2018 年には AV1 でさらに 30% を節約しました。これらは、YouTubeFacebookNetflixTwitch などに採用されています。それと同じくらい重要なのは、WebM チームが Alliance for Open Media を共同設立したことです。この組織は 40 以上の主要テック企業に IP を無償でライセンス提供し、無償のオープンなコーデックをサポートしています。WebRTC は、Chrome、Edge、Firefox、Safari がサポートしているため、世界中でインストールされている全ブラウザの 85% 以上がインターネットでのリアルタイム コミュニケーションのクライアントになることができます。WebRTC は安定した標準になり、今ではウェブのビデオ通話のデフォルト ソリューションとなっています。この 2 つのテクノロジーはともに成功を収め、現在では Chrome でエンコードされた WebRTC 動画の 90% 以上が VP8 か VP9 を使っています。

COVID-19 によって、こういったテクノロジーへのニーズが高まりました。世界中の人々は、ビデオチャットで仕事や教育、そして愛する人たちとつながるという新しい方法を見つけています。VP9 や AV1 のコンテンツは毎日 10 億時間以上視聴されており、限られた帯域幅でサービスを実行し続けるために、オープン コーデックによる圧縮は欠かせないものになっています。WebRTC によって相互運用可能なコミュニケーション アプリが活躍するエコシステムが実現し、Chrome では、2020 年 3 月以降、WebRTC で受信される動画ストリームは 13 倍増加しています。

オープンソース コミュニティを構成するすべてのサポーターの皆さんなくして、このような成功は実現できなかったでしょう。このエコシステムを実現してくださったコード貢献者、テスター、バグ修正者、企業パートナーのすべての皆さんに感謝の言葉を贈ります。今後も、Google はウェブのオープン メディアに貢献し続けます。これから 10 年、さらにその先も、皆さんと一緒にこの仕事に取り組めることを楽しみにしています。

Reviewed by Eiji Kitamura - Developer Relations Team

この記事は Chet Haase による Android Developers - Medium の記事 "Now in Android #19" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。






Android 開発の最新ニュースやトピックをご紹介する Now in Android。今回は Android Studio 4.0 安定版リリース、Kotlin に関するブログ記事と動画、サンプルコード、ポッドキャストシリーズ Android Developers Backstage 最新エピソードについてお知らせします。

Android Studio 4.0






先日、Android Studio の安定版 4.0 をリリースしました。また、 日本時間 6 月 11 日には Android Studio 4.1 ベータ版と 4.2 Canary 版で新機能をリリースしています。

Android Studio 4.0 については、Now in Android の以前のエピソードでも触れています。今回はその中からいくつかの機能について改めてご紹介します。

Motion Editor
Motion Editor 高機能で柔軟な UI アニメーションを簡単に作成できます


MotionLayout は、UI で強力なアニメーションを作成するための API(具体的には、ConstraintLayout のサブクラス)です。最初と最後の状態を作成し、その状態間で柔軟なアニメーションを定義できます。ユーザー インタラクションとの統合も可能で、2 つの状態の間をたどる操作を定義できます。MotionLayout は、パワーと柔軟性を兼ね備えた強力な  Transition と言えるでしょう。

ただし、MotionLayout は常に視覚ツールと合わせて使うことが想定されています。このようなアニメーションを XML ファイルで作るのは手間がかかります。ぜひ、Android Studio 4.0 の機能をご確認いただき、MotionLayout と Motion Editor ツールを実際に体験してみてください。

Layout Inspector
Layout Inspector の 3D 包含階層による新たな視覚化


Layout Inspector ツールが大幅に改善され、新しい機能が追加されました。たとえば、プロパティ値をクリックして、割り当て場所や割り当て方法を探すことができます。また、UI を 3D で表示して包含階層を視覚化することもできます。さらに、端末のアプリが変更されると、ツールの UI がライブで更新されるようになりました。

Build Analyzer

Build Analyzer でビルド パフォーマンスのボトルネックを特定できます


Build Analyzer は、ビルドのボトルネックを確認し、修正方法を見つけてビルド時間を短縮する際に役立ちます。

Android Studio 4.0 は、他にも多くの機能が追加されています。機能の詳細については、Adarsh Fernandoブログ記事(英語)や、Yacine Rezgui の動画でご説明しています。




Kotlin に関するブログ記事と動画 Murat Yener が が Kotlin Vocabulary シリーズの記事として、具象化に関する内容をご説明(英語)しています。

ジェネリックを使うと、その他の方法では実現できない API や構造のコンパイル時の型安全性を実現できます。しかし、実行時にその型を取得することはできなくなってしまいます。この状態が起こるのは、 型消去が行われた結果です。型は、コンパイル ステップに情報を提供します(たとえば、文字列型の ArrayList に整数値が入らないことを保証するため)。しかし、この情報はバイトコードには保存されません(型情報を持たない API と互換性を持たせるため)。

Kotlin では、reified キーワードとインライン関数を使うことで、この問題を回避することができます。reified と inline の両方をつけて関数を宣言すると、Kotlin コンパイラは内部的に必要なバイトコードを追加し、実行時に型情報を使えるようにします。

Murat は、Kotlin Vocabulary シリーズとして Object についての動画も投稿しています。この動画は、数週間前に投稿されたブログ記事「The one and only object(英語)」と対になっています。




サンプルコード バブルのサンプルコードが更新され、Android 11 の Bubbles API による変更と改善が反映されています。


ADB (Android Developers Backstage) ポッドキャスト 新エピソード

前回の Now in Android 以降、Android Developers Backstage に新しいエピソードが投稿されています。以下のリンクまたはお気に入りのポッドキャスト クライアントでご確認ください。

ADB 140: Bubbles!

今回は、Tor NorbyeRomain Guy、そして私が、System UI チームの Mady Melor と Artur Tsurkan を招き、Android 11 のバブルについて話を聞きました。もともと Android 10 でデベロッパー オプションとして導入された機能で、この機能を使ってユーザーは Android UI を通してアプリの会話にアクセスできます。Android 11 向けにアップデートされたバブルのサンプル(前述)もご覧ください。


またお会いしましょう 以上が今回ご紹介する Android についての最新情報です。

Android 11 Beta のスケジュールについてはウェブサイトで最新情報をご確認ください

次回も Android デベロッパー向けの最新情報をお届けします。お楽しみに。



Reviewed by Yuichi Araki - Developer Relations Team and Hidenori Fujii - Google Play Developer Marketing APAC