Places SDK for Android のポリシー

このトピックでは、Places SDK for Android を使用して開発されるすべてのアプリケーションの帰属表示要件について説明します。これには、この API の一部である Place Autocomplete サービスも含まれます。Google Maps Platform のその他の用語については、Google Maps Platform 利用規約をご覧ください。

利用規約とプライバシー ポリシーを明示する

Places SDK for Android アプリを開発する場合は、Google との契約で規定されているガイドラインに準拠する利用規約プライバシー ポリシーをアプリとともに公開する必要があります。

  • 利用規約プライバシー ポリシーが一般公開されている必要があります。
  • アプリケーションの利用規約に、アプリケーションを使用するユーザーには Google の利用規約が適用されることを明示する必要があります。
  • Google Maps API を使用していることをプライバシー ポリシーでユーザーに通知し、参照によって Google プライバシー ポリシーを組み込む必要があります。

利用規約プライバシー ポリシーを提供するおすすめの方法は、アプリケーションのプラットフォームによって異なります。

モバイルアプリ

モバイルアプリを開発する場合は、関連するアプリケーション ストアやアプリの設定メニューにあるアプリのダウンロード ページに、利用規約プライバシー ポリシーへのリンクを掲載することをおすすめします。

ウェブ アプリケーション

ウェブ アプリケーションを開発する場合は、利用規約プライバシー ポリシーへのリンクをウェブサイトのフッターに記載することをおすすめします。

コンテンツのプリフェッチ、キャッシュ保存、保存

Places SDK for Android を使用するアプリケーションには、Google との契約条件が適用されます。本契約の規定に従い、利用規約に記載されている限定的条件を除き、コンテンツのプリフェッチ、インデックス登録、保存、キャッシュ保存は行わないでください。

Places SDK for Android の結果を表示する

Places SDK for Android の結果は、Google マップに表示できます。地図を表示せずに表示することもできます。Places SDK for Android の結果を地図に表示する場合は、Google マップ上に表示する必要があります。Google マップ以外の地図で Places SDK for Android データを使用することはできません。

アプリケーションで Google マップ上にデータを表示する場合、Google ロゴが表示されますが、これは変更できません。Google データを Google マップと同じ画面に表示するアプリケーションでは、追加の帰属情報を Google に提供する必要はありません。

アプリケーションで Google マップ以外のページまたはビューにデータを表示する場合、データと一緒に Google ロゴを表示する必要があります。たとえば、あるタブに Google データを表示し、別のタブにそのデータを含む Google マップを表示するアプリケーションの場合、最初のタブに Google ロゴを表示する必要があります。アプリケーションで検索フィールドを使用する場合、オートコンプリートの有無にかかわらず、ロゴをインラインで表示する必要があります。

Google ロゴは地図の左下に配置し、帰属情報は右下に配置してください。いずれの情報も、地図全体に表示され、地図内やアプリ内の別の場所に配置しないでください。次の地図の例では、地図の左下に Google のロゴ、右下に帰属先が表示されています。

次の ZIP ファイルには、パソコン、Android、iOS の各アプリケーションに適したサイズの Google ロゴが含まれています。いかなる場合でも、ロゴのサイズを変更したり、ロゴに変更を加えたりすることはできません。

ダウンロード: google_logo.zip

帰属表示は変更しないでください。帰属情報を削除、見えにくくしたり、切り取ったりしないでください。Google ロゴをインラインで使用することはできません(例: 「これらの地図は [Google_logo] のものです」)。

アトリビューションはできるだけ控えましょう。直接埋め込み以外で Google 画像のスクリーンショットを使用する場合は、画像に表示される標準の帰属表示を含めます。帰属情報テキストは、必要に応じてスタイルと配置をカスタマイズできます。ただし、テキストがコンテンツと近く、平均的な閲覧者や読者が判読できることが条件となります。書籍の巻末、ファイルや番組のクレジット、ウェブサイトのフッターなど、権利帰属表示をコンテンツから離すことはできません。

第三者データ プロバイダを含める。Google のマッピング サービスのデータと画像の一部は、Google 以外のプロバイダから提供されています。このような画像を使用する場合は、帰属情報のテキストに「Google」の名称と、関連するデータ プロバイダ(「マップデータ: Google, Maxar Technologies」など)を記載する必要があります。画像内でサードパーティのデータ プロバイダが引用されている場合、「Google」または Google のロゴのみを含めるだけでは、適切な帰属表示ではありません。

帰属表示が現実的でないデバイスで Google Maps Platform を使用している場合は、 Google セールスチームまでご連絡のうえ、ユースケースに適したライセンスについてご相談ください。

帰属表示に関するその他の要件

サードパーティの属性を取得し、アプリに属性を表示する手順は次のとおりです。

プレイスから属性を取得する

get place by ID を呼び出して取得した情報を表示するアプリの場合は、取得した Place Details のサードパーティの属性も表示する必要があります。

API から Place オブジェクトが返されます。Place オブジェクトから属性を取得するには、Place.getAttributions() を呼び出します。このメソッドは String を返します。表示するアトリビューションがない場合は空の文字列を返します。

String placeId = "INSERT_PLACE_ID_HERE";
List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME);
FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);

placesClient.fetchPlace(request).addOnSuccessListener((response) -> {
    Place place = response.getPlace();
    textView.append("Place found: " + place.getName());
    textView.append("Attributions: " + place.getAttributions());
}).addOnFailureListener((exception) -> {
    if (exception instanceof ApiException) {
        // Handle the error.
    }
});

写真の帰属情報を表示する

アプリで写真を表示する場合は、写真を含む写真ごとに帰属を表示する必要があります。PhotoMetadata には、次の 2 種類のアトリビューションのいずれかを含めることができます。

写真の文字列属性を取得するには、PhotoMetadata.getAttributions() を呼び出します。このメソッドは、HTML 文字列シーケンスを返します。表示する属性がない場合は空の文字列を返します。

// Get the photo metadata from the Place object.
PhotoMetadata photoMetadata = place.getPhotoMetadatas().get(0);

// Get the attribution text.
String attributions = photoMetadata.getAttributions();

写真の作成者の属性を取得するには、PhotoMetadata.getAuthorAttributions() を呼び出します。このメソッドは AuthorAttributions オブジェクトを返します。このオブジェクトには、作成者ごとに 1 つずつ、AuthorAttribution オブジェクトの List が含まれています。

// Get the photo metadata from the Place object.
PhotoMetadata photoMetadata = place.getPhotoMetadatas().get(0);

// Get the author attributions object.
AuthorAttributions authorAttributions = photoMetadata.getAuthorAttributions();
List<AuthorAttribution> authorAttributionList = authorAttributions.asList();

レビューを表示する

Place オブジェクトには最大 5 つのレビューを含めることができ、各レビューは Review オブジェクトで表されます。必要に応じて、これらのレビューをアプリに表示できます。

レビューの並べ替え方法をエンドユーザーに表示することもおすすめします。

レビューにアクセスするには、Place.getReviews() を呼び出します。

// Specify the fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.REVIEWS);

// Construct a request object, passing the place ID and fields array.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance("INSERT_PLACE_ID_HERE", placeFields);

placesClient.fetchPlace(request).addOnSuccessListener((response) -> {
    Place place = response.getPlace();
    List<Review> reviews = place.getReviews();
    // For loop for iterating over the List
    for (int i = 0; i < reviews.size(); i++) {
      // For each review, get the Review object.
        Review placeReview = reviews.get(i);

      // Get any attribution and author attribution.
        String reviewAttribution = placeReview.getAttribution();
        AuthorAttribution authorAttribution = placeReview.getAuthorAttribution();

        // Display the review contents and attributions as necessary.
    }
}).addOnFailureListener((exception) -> {
    if (exception instanceof ApiException) {
        // Handle the error.
    }
});

サードパーティの属性を表示する

サードパーティ プロバイダの属性には、HTML 形式のコンテンツとリンクが含まれます。これらの要素は、提供された形式で保持し、ユーザーに表示する必要があります。この情報は場所の詳細の下に表示することをおすすめします。

API は、アプリで使用されるすべての場所のアトリビューションを生成します。属性は、場所ごとではなく、API 呼び出しごとに提供されます。

帰属情報を表示する 1 つの方法は、TextView を使用する方法です。例:

TextView attributionsText = (TextView) findViewById(R.id.attributions);
String thirdPartyAttributions = place.getAttributions();
attributionsText.setText(thirdPartyAttributions);

サードパーティ属性の例

Listings by <a href="https://www.example.com/">Example Company</a>

なお、プレイスを一意に識別するために使用されるプレイス ID は、キャッシング制限の適用対象外です。このため、プレイス ID 値は無期限に保存できます。プレイス ID は、Places SDK for Android のレスポンスの place_id フィールドで返されます。

Google アトリビューションのスタイル ガイドライン

ダウンロード可能な Google ロゴを使用できない場合の、CSS および HTML での Google 帰属表示のスタイル ガイドラインは次のとおりです。

クリアスペース

ロックアップの周囲のクリアスペースは、Google の「G」の高さ以上にする必要があります。

帰属情報のコピーと Google ロゴの間隔は、「G」の幅の半分にする必要があります。

読みやすさ

バイラインは常に、はっきりと見やすく、背景色に適した色で表示する必要があります。選択したバリエーションのロゴに十分なコントラストを付けてください。

白または明るい色の背景で、0%~ 40% の黒濃淡を使用して Google Material Gray 700 テキストを使用します。

Google
#5F6368
RGB 95 99 104
HSL 213 5 39
HSB 213 9 41

背景が暗く、写真やシンプルなパターンの上には、バイラインと帰属情報に白いテキストを使用します。

Google
#FFFFFF
RGB 255 255 255
HSL 0 0 100
HSB 0 0 100

Font

Roboto フォントを使用します。

CSS の例

次の CSS を「Google」というテキストに適用すると、白または明るい背景に「Google」が適切なフォント、色、間隔でレンダリングされます。

font-family: Roboto;
font-style: normal;
font-weight: 500;
font-size: 16px;
line-height: 16px;
padding: 16px;
letter-spacing: 0.0575em; /* 0.69px */
color: #5F6368;