このたび、オープンソース ライブラリ Maps Compose の提供を開始することになりました。Maps Compose を使用すると、Maps SDK for Android を Jetpack Compose と一緒に使用できます。Compose を使ってアプリに地図を追加する場合、これまでは Compose とビューベースの MapView の間を橋渡しするために多くのビュー相互運用性コードを記述する必要がありましたが、今後はそういった手間を省くことができます。

Compose は、Android の最新の宣言型ネイティブ UI ツールキットです。UI の記述についての考え方を変えることで、前述の Compose は UI 開発を簡素化と高速化します。つまり、ユーザーはアプリの外観を指定するだけで済み、それ以外は Compose によって処理されます。これは Maps Compose についても同様です。従来よりはるかに少ないコードで Android アプリに地図を追加できるようになりました。

この記事は Google Maps Platform Developer Relations Engineer の Chris Arriola による Google Cloud Blog の記事 "Compose for the Maps SDK for Android Now Available" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。


このたび、オープンソース ライブラリ Maps Compose の提供を開始することになりました。Maps Compose を使用すると、Maps SDK for Android を Jetpack Compose と一緒に使用できます。Compose を使ってアプリに地図を追加する場合、これまでは Compose とビューベースの MapView の間を橋渡しするために多くのビュー相互運用性コードを記述する必要がありましたが、今後はそういった手間を省くことができます。

Compose は、Android の最新の宣言型ネイティブ UI ツールキットです。UI の記述についての考え方を変えることで、前述の Compose は UI 開発を簡素化と高速化します。つまり、ユーザーはアプリの外観を指定するだけで済み、それ以外は Compose によって処理されます。これは Maps Compose についても同様です。従来よりはるかに少ないコードで Android アプリに地図を追加できるようになりました。

このブログでは、Maps Compose ライブラリをインストールする方法と、その機能の一部について説明します。

さっそく始めましょう。


Maps Compose ライブラリをインストールする

Maps Compose ライブラリをインストールするには、アプリレベルの build.gradle ファイルに次の依存関係を追加します。

dependencies {

    implementation "com.google.maps.android:maps-compose:1.0.0"

    implementation "com.google.android.gms:play-services-maps:18.0.2"

}

上記の新しい依存関係をアプリに追加したら、Android Studio でプロジェクトを再構築して、変更を同期します。また、Cloud のコンソール経由で、API キーを作成してアプリに追加する必要があります。詳しくは、「API キーを使用する」をご覧ください。


アプリに地図を追加する

Maps Compose を依存関係としてアプリに追加し、API キーを追加したら、アプリでコンポーズ可能な関数 GoogleMap を使用できるようになります。Compose を初めて使用する場合、コンポーズ可能な関数は基本的に、Compose で構築されたアプリケーションの UI ビルディング ブロックとなります。

アプリに地図を追加する最も簡単な例を次に示します。

val singapore = LatLng(1.35, 103.87)

val cameraPositionState = rememberCameraPositionState {

    position = CameraPosition.fromLatLngZoom(singapore, 10f)

}

GoogleMap(

    modifier = Modifier.fillMaxSize(),

    cameraPositionState = cameraPositionState

) {

    Marker(

        position = singapore,

        title = "Singapore",

        snippet = "Marker in Singapore"

    )

}

上記のスニペットでは、地図が画面内で最大化され、ビューは camera パラーメータでシンガポールの中心に配置されます。googleMapOptionsFactory で提供されるラムダ式は、地図の初期化に使用される GoogleMapOptions オブジェクトを構築します。最後に、地図のコンテンツでコンポーズ可能な関数 Marker を呼び出すと、地図にマーカーが追加されます。

この例を、ビューを使って地図を追加する例と比較するには、Maps SDK for Android のドキュメント ページにある既存のクイックスタートをご覧ください。Compose の場合は必要なコードがはるかに少なく、地図のライフサイクルを考慮する必要がないことがわかります。


地図上でのプロパティの設定

地図上でプロパティを設定するには、MapProperties オブジェクト、または UI 関連のプロパティ用の MapUiSettings オブジェクトを使用します。これらの状態を管理することで、地図上で再構成をトリガーする際にに利用できます。

次のスニペットでは、地図上のズーム コントロールを切り替えるために、Compose の Material コンポーネントであるスイッチがビューに追加されています。

var uiSettings by remember { mutableStateOf(MapUiSettings()) }

var properties by remember {

   mutableStateOf(MapProperties(mapType = MapType.SATELLITE))

}



Box(Modifier.fillMaxSize()) {

    GoogleMap(

        modifier = Modifier.matchParentSize(),

        properties = properties,

        uiSettings = uiSettings

     )

     Switch(

         checked = uiSettings.zoomControlsEnabled,

         onCheckedChange = { 

             uiSettings = uiSettings.copy(zoomControlsEnabled = it)

         }

     )

}



地図上に図形を表示する

マーカーやポリゴンなどのオブジェクトを地図上に描画するには、コンテンツ ラムダをコンポーズ可能な関数  GoogleMap に提供します。

たとえば次のスニペットでは、コンポーズ可能な Marker を使用して、シンガポールを中心とする地図にマーカーを追加しています。

val singapore = LatLng(1.35, 103.87)


GoogleMap(

    modifier = Modifier.fillMaxSize()

) {

    Marker(

        position = singapore,

        title = "Singapore",

        snippet = "Marker in Singapore"

    )

}



カメラを制御する

地図のビュー内での位置を制御するには、CameraPositionState を使用します。このオブジェクトは、地図のカメラ位置の変更を管理するために使用できます。また、カメラ更新コマンドを地図に送信するために使用することもできます。

たとえば次のスニペットでは、ボタンがクリックされると、地図のカメラをシドニーに移動する方法を表しています。

val singapore = LatLng(1.35, 103.87)

val sydney = LatLng(-33.852, 151.211)


val cameraPositionState = rememberCameraPositionState {

    position = CameraPosition.fromLatLngZoom(singapore, 10f)

}


Box(Modifier.fillMaxSize()) {

    GoogleMap(

        modifier = Modifier.matchParentSize(),

        cameraPositionState = cameraPositionState

     )

     Button(

         onClick = { 

             cameraPositionState.move(CameraUpdateFactory.newLatLng(sydney))

         }

     ) {

        Text(text = "Animate camera to Sydney")

     }

}



使用を開始するには

Google マップにおける Jetpack Compose のサポートを改善することで、より迅速かつ簡単にアプリに地図を追加できるようになりました。すぐに使用したい場合は、GitHub リポジトリにある付属のサンプルアプリを利用してご確認ください。Jetpack Compose をこれまで利用したことがない場合は、Jetpack Compose の公式ドキュメントに詳細の記載がありますのでご覧ください。

今後ともどうぞよろしくお願いいたします。

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


Posted by 丸山 智康 (Tomoyasu Maruyama) - Developer Relations Engineer 

皆さん、こんにちは。Search Central チャンネルの 『初心者向け検索コース』のビデオシリーズが日本語でもご視聴いただけるようになりました。本ビデオシリーズの日本語版では、 英語版の初心者向け検索コースを日本語のナレーションとキャプションを使用してローカライズしています。


このコースの対象者は主に、検索について知りたい方々、または検索の仕組みや、Google 検索で サイトのパフォーマンスを向上させ、見つけやすくする方法を学ぶきっかけを探している方々です。最初は圧倒されることもあると思います! このシリーズが良い機会となり、学習の過程で Search Central の YouTube チャンネルドキュメントなどの他の既存のリソースを活用するのに役立つことを願っています。

同時に、自分がより経験豊富なユーザー、デジタルマーケター、または SEO 担当者である場合は、これらの動画コンテンツを活用して、売り込みやプレゼンテーションをしたり、クライアントや利害関係者にオンライン プレゼンスを管理する際の重要な概念を説明するのに役立ちます。ショートリンク https://goo.gle/jp-sfb をご活用ください。アイデアや学んだことを共有したい場合は、あなたの知識や経験が他の視聴者の学びとなるように、各ビデオのコメント欄に投稿してみてください。

初心者向け検索コースでは、『 ウェブサイトが必要な理由』、『 ウェブサイトの目標設定(とそれが重要な理由) ...
皆さん、こんにちは。Search Central チャンネルの『初心者向け検索コース』のビデオシリーズが日本語でもご視聴いただけるようになりました。本ビデオシリーズの日本語版では、英語版の初心者向け検索コースを日本語のナレーションとキャプションを使用してローカライズしています。



このコースの対象者は主に、検索について知りたい方々、または検索の仕組みや、Google 検索で サイトのパフォーマンスを向上させ、見つけやすくする方法を学ぶきっかけを探している方々です。最初は圧倒されることもあると思います! このシリーズが良い機会となり、学習の過程で Search Central の YouTube チャンネルドキュメントなどの他の既存のリソースを活用するのに役立つことを願っています。

同時に、自分がより経験豊富なユーザー、デジタルマーケター、または SEO 担当者である場合は、これらの動画コンテンツを活用して、売り込みやプレゼンテーションをしたり、クライアントや利害関係者にオンライン プレゼンスを管理する際の重要な概念を説明するのに役立ちます。ショートリンク https://goo.gle/jp-sfb をご活用ください。アイデアや学んだことを共有したい場合は、あなたの知識や経験が他の視聴者の学びとなるように、各ビデオのコメント欄に投稿してみてください。

初心者向け検索コースでは、『ウェブサイトが必要な理由』、『ウェブサイトの目標設定(とそれが重要な理由)』などの基礎的な内容から『Google 検索の詳細』、『SEO の詳細』、『Google 検索結果のスニペットを変更する方法』などのより自然検索に関連する内容まで提供しています。実際に、私たちはこれらの内容に関して、フォーラムソーシャル チャネル、そして世界中のイベントで質問を受けてきました。

また、このコースのローカライズ版の最初の言語として、日本語を選びました。これは、日本からの視聴回数や字幕の使用が多く、日本のコミュニティが常に重要であったためです。この日本語コースは、私たちのチャンネルで英語以外の言語で利用できる最初のビデオシリーズであり、気に入っていただければ幸いです。将来的には、より多くの言語でコンテンツを作成したいと考えています。

日本語のプレイリストで初心者向け検索コースをご視聴ください。そして、感想をお聞かせください。もしくは、フォーラム毎月開催しているオフィスアワーに質問や意見をお寄せください。またお会いできる日を楽しみにしております!


Posted by Anna Ogawa, Sr. Search Ecosystem Consultant and Cherry Prommawin, Search Relations

この記事は Google、プロダクト マネージャー、Vikrant Rana、グループ プロダクト マネージャー、Badi Azad による Google Developers Blog の記事 "Making Google OAuth interactions safer by using more secure OAuth flows" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

この記事は Google、プロダクト マネージャー、Vikrant Rana、グループ プロダクト マネージャー、Badi Azad による Google Developers Blog の記事 "Making Google OAuth interactions safer by using more secure OAuth flows" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

Google は、ユーザーがログインして、Google アカウント データをサードパーティ アプリケーションと共有できる安全な方法を提供するため、常に努力しています。その理念に基づき、OAuth インタラクション中のフィッシングやアプリのなりすましによる攻撃に対する一連の保護機能をロールアウトします。

Google のログインと認可のフローは、Google OAuth プラットフォームを利用しています。アプリ デベロッパーがサポート対象の OAuth フローを組み込めるように、ここ数年の間にたくさんの方法を開発し、サポートしています。今回は、オンラインのユーザーの安全を維持するという目的のもと、2 つのレガシーフローのサポートを終了します。デベロッパーの皆さんは、保護が強化されている別の実装方式に移行する必要があります。

スムーズな移行を実現し、サービスの中断が起きないようにするため、十分な実装の時間を提供します。以下の期日に間に合うように移行をお願いいたします。このロールアウトについては、メールでさらに最新情報をお知らせする予定です。Google API コンソールのプロジェクト設定で、サポート メールアドレスが最新になっていることをご確認ください。

ネイティブの iOS、Android、Chrome OAuth クライアント タイプでループバック IP アドレスフローを禁止

ループバック IP アドレスフローは、中間者攻撃に脆弱です。この攻撃が行われると、悪意のあるアプリが一部のオペレーティング システムで同じループバック インターフェースにアクセスし、OAuth レスポンスを傍受して認可コードを入手できる可能性があります。そこで、iOS、Android、Chrome アプリの OAuth クライアント タイプでこのフローを禁止することにより、この脅威ベクターを取り除きます。既存のクライアントは、安全性が高い実装方式に移行できます。2022 年 3 月 14 日以降、新規クライアントはこのフローを使えなくなります。

必要な対応

アプリでループバック IP アドレスフローを使っているかどうかを確認する

アプリのコードか、外向きのネットワーク呼び出し(アプリで OAuth ライブラリを使っている場合)を調べ、アプリで行っている Google OAuth 認可リクエストの “redirect_uri” パラメータに次の値が含まれているかどうかを確認してください。

redirect_uri=http://127.0.0.1:port または http://[::1]:port">http://[::1]:port または

http://localhost:port

別のフローへの移行

アプリでループバック IP アドレス方式を使っている場合は、デフォルトで安全性が高い別の方式に移行する必要があります。移行する別の方式として、以下を検討してください。

重要な期日

  • 2022 年 3 月 14 日 - 新規の OAuth 利用で、ループバック IP アドレスフローがブロックされます。
  • 2022 年 8 月 1 日 - 期日の 1 か月前より、非準拠 OAuth リクエストを使うと、ユーザーに警告メッセージが表示される場合があります。
  • 2022 年 8 月 31 日 - 既存クライアントに対して、ループバック IP アドレスフローがブロックされます。

OAuth アウトオブバンド(OOB)フローが非推奨に

OAuth のアウトオブバンド(OOB)は、レガシーフローです。ウェブアプリの場合、ユーザーが OAuth 同意リクエストを承認した後、リダイレクト URI で資格情報を受け取ることができます。このフローは、リダイレクト URI を持たないネイティブ クライアントをサポートするために開発されました。OOB フローにはリモート フィッシングのリスクがあるので、クライアントはこの脆弱性に対する保護策として、別の方式に移行する必要があります。2022 年 2 月 28 日以降、新規クライアントはこのフローを使えなくなります。

必要な対応

アプリで OOB フローを使っているかどうかを確認する

アプリのコードか、外向きのネットワーク呼び出し(アプリで OAuth ライブラリを使っている場合)を調べ、アプリで行っている Google OAuth 認可リクエストの “redirect_uri” パラメータに次の値が含まれているかどうかを確認してください。

redirect_uri=urn:ietf:wg:oauth:2.0:oob または urn:ietf:wg:oauth:2.0:oob:auto または oob

別のフローへの移行

アプリで OOB 方式を使っている場合は、デフォルトで安全性が高い別の方式に移行する必要があります。移行する別の方式として、以下を検討してください。

重要な期日

  • 2022 年 2 月 28 日 - 新規の OAuth 利用で、OOB フローがブロックされます。
  • 2022 年 9 月 5 日 - 非準拠 OAuth リクエストを使うと、ユーザーに警告メッセージが表示される場合があります。
  • 2022 年 10 月 3 日 - 既存クライアントで OOB フローが非推奨となります。

ユーザーに表示される警告メッセージ

前述の OAuth 方式がブロックされる 1 か月前から、非準拠リクエストを使うユーザーに対して警告メッセージが表示される場合があります。このメッセージは、近日中にアプリがブロックされる可能性があることをユーザーに伝えるものになります。Google API Console の OAuth 同意画面で登録されたサポートメールも表示されます。

【ユーザーに表示される警告の例】

デベロッパーは、ユーザーに表示される警告メッセージを確認したうえで、認可呼び出しの際に次のようにしてクエリ パラメータを渡すことで、メッセージを抑制することができます。

  • Google の OAuth 2.0 認可エンドポイントにリクエストを送るアプリのコードを開きます。
  • 期日を値としたパラメータを追加します。
    • OOB の場合 : ack_oob_shutdown パラメータを追加し、値として期日 2022-10-03 を指定します。例 : ack_oob_shutdown=2022-10-03
    • ループバック IP アドレスの場合 : ack_loopback_shutdown パラメータを追加し、値として期日 2022-08-31 を指定します。例 : ack_loopback_shutdown=2022-08-31

ユーザーに表示されるエラー メッセージ

期日までに基準を満たすようにアップデートされないアプリでは、認可リクエストがブロックされ、無効なリクエストを示すエラー画面がユーザーに表示される場合があります(次に例を示します)。

【ユーザーに表示されるエラーの例】


Reviewed by Eiji Kitamura - Developer Relations Team


デジタル カンファレンス Google Cloud Day: Digital '22 開催まで、あと 1 月半となりました

コンテンツの詳細と、ライブ視聴者への特典企画が公開されましたので、ぜひこちらからチェックしてみてください。

その中でも、昨年に引き続き注目いただきたい、基調講演とハンズオン祭についてご紹介します。


デジタル カンファレンス Google Cloud Day: Digital '22 開催まで、あと 1 月半となりました

コンテンツの詳細と、ライブ視聴者への特典企画が公開されましたので、ぜひこちらからチェックしてみてください。

その中でも、昨年に引き続き注目いただきたい、基調講演とハンズオン祭についてご紹介します。

基調講演

すでに多くの日本企業が、Google Cloud によってデジタル トランスフォーメーション(DX)を実現しています。基調講演では、皆さまのビジネス推進をサポートする最新のソリューションやサステナビリティへの取り組みを発表します。また、デジタル大臣 牧島かれん氏、 株式会社 LIXIL からジン モンテサーノ 氏をお招きし、具体的な DX への取り組みをお聞きします。

ハンズオン祭

セッションで学んだ知識を使って、実際に Google Cloud に触れることができるプログラムです。はじめて Google Cloud を利用される方は「実践 Google Cloud ハンズオン」で、製品の概要や各種機能を、実際に手を動かして体験いただけます。「Cloud Study Jam」では、Google Cloud Skills Boost(30 日間無料特典つき) を使って、Google Cloud の体験だけでなく Google エンジニアへの質問も可能です。

尚、ハンズオン祭への参加は、Google Cloud Day: Digital '22 とは別にお申し込みが必要となります。以下のリンクからご興味のあるセッションへ、それぞれお申し込みください。


☁ 4 月 26 日(火)

10:00 - 13:00 Cloud Study Jam - AppDev 編 https://goo.gle/3hcYVmD

14:00 - 17:00 実践 Google Cloud ハンズオンセミナー Cloud Run 編 https://goo.gle/gcho_d1bl1



☁ 4 月 27 日(水)

10:00 - 13:00 Cloud Study Jam - BQML 編 https://goo.gle/3LYpaLI

14:00 - 17:00 実践 Google Cloud ハンズオンセミナー データエンジニア向け BigQuery + Dataplex 編 https://goo.gle/gcho_d2bl1



☁ 4 月 28 日(木)

10:00 - 13:00 Cloud Study Jam - DevOps 編 https://goo.gle/3vdzmdi

14:00 - 17:00 実践 Google Cloud ハンズオンセミナー Kaggle 編 https://goo.gle/gcho_d3bl1


ライブ視聴者への特典企画

Google Cloud を試せる 300 ドルのクレジットを、イベント期間中(4 月 19 日~21 日)に視聴していただいた方から、抽選で 100 名に進呈いたします。

※上限は $300 です。上限を超えると課金されますのでご留意ください。
※今年、すでに他のハンズオンなどでクーポンコードを使用された方は、今回のクーポン適用外になる可能性があります。


開催概要

日程 :

4 ⽉ 19 ⽇(火)~ 21 ⽇(木)
基調講演、特別講演、ブレイクアウト セッション

4 ⽉ 22 ⽇(金)
Innovators Hive

4 ⽉ 26 ⽇(火) ~ 28 ⽇(木)
ハンズオン祭

対象 : 開発者、ビジネスの意思決定者やリーダー

対象プロダクト : Google Cloud, Google Workspace

ハッシュタグ : #GoogleCloudDay(右記のハッシュタグと組み合わせてお使いください #appdev #da #db #ML #infra #GWS #security)


お問い合わせ先 : 
Google Cloud Day: Digital '22 事務局(gcd22-office@event-info.com






Google は Women Techmakers (WTM) を通じて、技術系のイベントの登壇者・参加者の多様性を促進していきます。2022 年は、さらに世界中で女性エンジニアが増えるよう、応援していきたいと考えています。WTM プログラムについて詳しくはこちらをご覧ください。

毎年 3 月 8 日に訪れる国際女性デーを祝うため、WTM は 3 月〜 4 月の時期にかけて、IT 業界で活躍する女性が学び合える一連のイベント、International Women's Day (IWD) キャンペーンを開催しています。今年のテーマは、「#ProgressNotPerfection」です。

日本では、Google Developer Groups(GDG)をはじめとした女性コミュニティの皆さんが、全国各地でオンライン イベントを開催予定です。もちろん、イベントは性別を問わず、どなたでもご参加いただけます。

Flutter に注目したイベントから、IT 業界でのキャリアや登壇経験の積み方など、幅広いセッションが予定されております。オンラインでの開催となりますので、ぜひお気軽にご参加ください。

1. 「集え Flutter レディース」

GDG Kyoto, WTM Kyoto, Flutter User Group Japan (Flutter Tokyo, Flutter Osaka) 共催

開催日 : 2022 年 4 月 23 日(土)13 : 30 〜

場所 : YouTube LIVE

参加費 : 無料

詳細・お申し込み : こちら

※現在女性エンジニアの登壇枠も募集中です。登壇のご登録はこちら


2. 「WTM Tokyo - International Women's Day 2022」

GDG Tokyo, WTM Tokyo 共催

開催日 : 2022 年 4 月 24 日(日)10 : 30 〜

場所 : YouTube LIVE

参加費 : 無料

詳細・お申し込み : こちら

登壇者紹介 : 【豪華ゲストをお招きして、幅広いセッションを準備中。情報公開までお楽しみに!】

3. 「IWD 2022 - GDSC Japan」

GDSC Japan 共催

開催日 : 2022 年 3 月下旬予定

場所 : オンライン

参加費 : 無料

詳細・お申し込み : 【準備中】


この記事はプロダクト マネージャー、Rohey Livne による Google Developers Blog の記事 "Announcing authorization support for Google Identity Services APIs" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。


Google Identity Services(GIS)

Google が最優先しているのは、オンラインのユーザーの安全を守ることです。そのため、私たちは個人情報を安全に保つための新しいツールや機能の開発に継続的に取り組んでいます。

2021 年 8 月に、新しい Identity API ファミリーとして、Google Identity Services(GIS)をリリースしました。これは、複数の ID サービスを 1 つのウェブ ソフトウェア開発キット(SDK)にまとめたものです。この SDK には、Google でログインするためのボタンや、簡単に利用できる認証プロンプトである One Tap が含まれています。Google でログインと One Tap では、パスワードではなく、セキュア トークンを利用してサイトやアプリにログインします。

この記事はプロダクト マネージャー、Rohey Livne による Google Developers Blog の記事 "Announcing authorization support for Google Identity Services APIs" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。


Google Identity Services(GIS)

Google が最優先しているのは、オンラインのユーザーの安全を守ることです。そのため、私たちは個人情報を安全に保つための新しいツールや機能の開発に継続的に取り組んでいます。

2021 年 8 月に、新しい Identity API ファミリーとして、Google Identity Services(GIS)をリリースしました。これは、複数の ID サービスを 1 つのウェブ ソフトウェア開発キット(SDK)にまとめたものです。この SDK には、Google でログインするためのボタンや、簡単に利用できる認証プロンプトである One Tap が含まれています。Google でログインと One Tap では、パスワードではなく、セキュア トークンを利用してサイトやアプリにログインします。

今回は、このひとつに統合された Google Identity Services SDK に認可機能が追加されたことをお知らせします。これにより、この ID ソリューション スイートの価値はさらに高まり、デベロッパーもこれまで以上にシンプルに実装できるようになります。

キャプション : 個々の同意オプションが表示された認可画面

新機能

アップデート版のライブラリでは、認証と認可の両方が「ワンストップ ショップ」としてデベロッパーに提供されます。認証では、新規ユーザーが登録をしたり、登録済みのユーザーがログインしたりできます。もう一方の認可では、ユーザーの同意のもと、デベロッパーが Google API を呼び出すアクセス トークンを受け取ることができます。

デベロッパーによる細かな制御を実現するため、新しい SDK では、認証と認可のタイミングを明確に分けることがサポートされています。そのため、サイトやアプリのニーズに応じて、認証と認可の呼び出しを 2 つの独立した別々のフローとして行うことができます。

メリット

新しい SDK には、ブラウザベースのポップアップ ダイアログが使われています。そのため、サイトやアプリを利用するユーザーの手間が減り、認証や認可のフローが効率化されて、ユーザー エンゲージメントが向上します。

加えて、期限切れアクセス トークンの自動更新を削除することにより、エンドユーザーが明示的にセッションを更新しなければならなくなるため、長時間持続するトークンが意図しない目的に使われることを防ぐことができ、フロー全般のセキュリティが向上します。

さらに、新しいライブラリを使うことで、複雑な組み込み作業が軽減され、開発にかかる時間や労力を最小限にとどめることができます。組み込み作業を一層シンプルにするため、簡単に使える記述済みのスクリプトも提供します。このコード スニペットは、コピーしてパートナー サイトに直接貼り付けて使うことができます。

Google の認証や認可のフローを利用するユーザーは、2 要素認証、パスワード回復フローなどの Google が誇る最先端のセキュリティ インフラストラクチャによるメリットを活用できます。また、認可機能が有効になっているすべてのサイトやアプリで、Google が検証済みであるという安心を得ることができます。

Google Identity Services(GIS)への移行の一環として、今後もソリューションの改善を続ける予定です。今年追加される新機能にご注目ください。

新しい Google Identity Services(GIS)ライブラリを活用するには、Google のデベロッパー サイトにアクセスし、[ 始めましょう ] ボタンをクリックして技術ドキュメントをご覧ください。


Reviewed by Eiji Kitamura - Developer Relations Team

この記事は  David Wihl による Google Ads Developer Blog の記事 "Google Ads API v10 RMF Update" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。 ...
この記事は  David Wihl による Google Ads Developer Blog の記事 "Google Ads API v10 RMF Update" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

Google Ads API バージョン 10 で、Google Ads API を使うための必要機能の要件(RMF)を更新しました。これは、スマート ショッピングとローカル キャンペーンの P-MAX へのアップグレードをはじめとする Google 広告プラットフォームの進化を反映するためのものです。さらに、通常のショッピングホテル専用アプリ プロモーション専用ツールの要件も公開しました。

スマート キャンペーンには、新しいプロダクト固有の RMF があります。これは、すべてのツールではなく、スマート キャンペーンを実装するツールのみが対象となる要件です。スマート キャンペーンを使う場合は、この要件によって必要な最小機能セットが定義されます。

今回、P-MAX キャンペーンの最小機能セットを公開します。

上記の変更は、次のツールに影響します
  • ショッピング専用、スマート ショッピング専用 API ツール
  • キャンペーンの作成や管理機能を提供する特殊目的ツール
上記の変更は、フルサービス、ホテル専用、アプリ プロモーション専用、レポート専用のツールには影響しません

厳密な内容については、Google Ads API の更新版の必要機能の要件をご覧ください。

AdWords API の要件は変わりません。

通常のショッピング キャンペーン
Google Ads API v9 のリリースに合わせて、フルサービス ツールの RMF 要件を簡略化しました。今回は、通常のショッピング キャンペーンにも同じ変更をします。

以下の機能が必須である点は変わりませんが、簡素化またはスコープの縮小が行われています
アイテム番号 機能 変更
C.190 広告グループの作成 任意 : 複数の広告グループを作成する機能です。
C.525 最初の(ルート)商品パーティションの追加 これはショッピング キャンペーンを作成するために必要な手順で、自動的に行われます。販売者が個別に呼び出すことはありません。新規キャンペーンにはルート パーティションが必要であり、これがない場合、キャンペーンは提供されません。
M.10 キャンペーン設定の編集 作成時に必須の設定のみが変更時に必須となります(例 : C.50 は必須でなくなるので、編集時に NetworkSettings は必須でなくなる)。
R.10 顧客 1 つのキャンペーンを実施する場合のみ任意です。

以下の機能は必須ではなくなります。デベロッパーは今後もこれらの機能を利用できますが(すでに提供が終了しているものは除く)、Google Ads API の利用規約に準拠するための要件ではなくなります。すでに提供が終了しているものは除き、これらの機能はすべて任意と見なされます。

アイテム番号 機能
C.14 モバイル プラットフォームの入札単価調整の設定
C.15 タブレットとパソコン プラットフォームの入札単価調整の設定
C.21 距離ターゲッティングの有効化
C.25 地域入札単価調整の設定
C.50 ネットワークのオプトイン / オプトアウト
C.90 入札オプションの設定 : 個別クリック単価
C.95 入札オプションの設定 : 拡張クリック単価
C.101 入札オプションの設定 : クリック数の最大化(ポートフォリオ)
C.140 配信方法の設定
C.191 広告グループ上限クリック単価入札の設定
C.192 広告グループ上限コンバージョン単価の設定
C.193 広告グループ目標広告費用対効果の設定
C.320 アカウントレベル トラッキング テンプレート
C.321 キャンペーンレベル トラッキング テンプレート
C.325 キャンペーンレベル カスタム パラメータ
C.326 広告グループレベル カスタム パラメータ
C.328 アカウントレベル最終ページ URL サフィックス
C.329 キャンペーンレベル最終ページ URL サフィックス
C.700 ユーザーリストを対象とする / 除外した広告グループ / キャンペーン条件の作成
C.710 検索ネットワーク キャンペーンと広告グループでのユーザーリストをターゲットとする入札単価調整の設定
M.15 モバイル、タブレット、パソコン プラットフォームの入札単価調整の編集
M.20 広告グループ設定の編集(作成機能での広告グループに関連するすべての必須設定)
M.25 地域入札単価調整の編集
M.101 入札オプションの編集 : クリック数の最大化(標準)
M.120 広告グループの一時停止 / 有効化 / 削除
M.180 商品パーティションの上限クリック単価の編集 *
M.320 作成機能のすべてのトラッキング テンプレートの管理
M.325 作成機能のすべてのカスタム パラメータの管理
M.328 作成機能のすべての最終ページ URL サフィックスの管理
M.700 ユーザーリストを対象とする / 除外した広告グループ / キャンペーン条件の編集
M.710 検索ネットワーク キャンペーンと広告グループでのユーザーリストをターゲットとする入札単価調整の編集
R.30 広告グループ
R.80 地域ビュー
R.150 キャンペーン オーディエンス ビュー
広告グループ オーディエンス ビュー

詳細情報
RMF に関して具体的な質問がある方は、https://services.google.com/fb/forms/apicontact/ から Google Ads API コンプライアンス チームにお問い合わせください。

API について、ご質問やさらにサポートが必要なことがありましたら、フォーラムからご連絡ください。