خط‌مشی‌ها و ارجاع‌ها برای کیت توسعه نرم‌افزار مکان‌ها، ویژه Android

این موضوع الزامات ذکر منبع را برای همه برنامه‌هایی که با «کیت توسعه نرم‌افزار مکان‌ها» برای Android توسعه یافته‌اند، ازجمله سرویس «تکمیل خودکار مکان» که بخشی از آن میانای برنامه‌سازی کاربردی است، ارائه می‌دهد. برای اطلاع از شرایط بیشتر Google Maps Platform، شرایط خدمات Google Maps Platform را ببینید.

خط‌مشی‌ها

این بخش خط‌مشی‌های مربوط به «کیت توسعه نرم‌افزار مکان‌ها، ویژه Android» را شرح می‌دهد. خط‌مشی‌ها دستورالعمل‌ها و الزامات اجرایی کاربردی را ارائه می‌دهند تا به شما کمک کنند از «سرویس» به‌درستی و مطابق با انتظارات «پلاتفرم Google Maps» استفاده کنید.

استثنائات محدودیت‌های ذخیره کردن در حافظه نهان

توجه داشته باشید که شناسه مکان، که برای شناسایی منحصربه‌فرد مکان استفاده می‌شود، از محدودیت‌های ذخیره‌سازی موقت معاف است. بنابراین می‌توانید مقادیر شناسه مکان را برای مدت نامحدود ذخیره کنید. شناسه جا در فیلد place_id در پاسخ‌های میانای برنامه‌سازی کاربردی برگردانده می‌شود. در راهنمای «شناسه‌های مکان» با نحوه ذخیره، بازآوری، و مدیریت شناسه‌های مکان آشنا شوید.

کشورها و قلمروهای منطقه اقتصادی اروپا

این محصول برای مشتریانی که نشانی صورت‌حسابشان در منطقه اقتصادی اروپا (EEA) است، «شرایط خدمات» متفاوتی دارد و ممکن است عملکرد آن نیز متفاوت باشد. قبل‌از ساختن با Google Maps Platform، شرایط و اطلاعات زیر را که مختص منطقه اقتصادی اروپا است مرور کنید:

اگر نشانی صورت‌حساب شما در منطقه اقتصادی اروپا نیست، شرایط خدمات زیر برای شما اعمال می‌شود:

الزامات ذکر منبع Google Maps

این بخش الزامات و دستورالعمل‌های ذکر منبع را برای نمایش Google Maps و محتوا ازطریق برنامه‌های شما ارائه می‌دهد.

نمونه اسناد

در زیر نمونه‌ای از ارجاع برای «کیت میانای کاربر جاها» آورده شده است.

کیت میانای کاربر «جاها»
نمونه ارجاع در نقشه غیرGoogle
ذکر منبع الزامی برای مؤلفه فشرده «جزئیات مکان» اعمال شد. در این نقشه غیرGoogle، ارجاع Google Maps به‌وضوح قابل‌مشاهده است و محتوای Google Maps Platform ازنظر بصری از محتوای دیگر متمایز است.

نمایش ارجاع Google Maps

هنگام نمایش «محتوا» از میاناهای برنامه‌سازی کاربردی «پلاتفرم Google Maps» در برنامه یا وب‌سایتتان، باید الزامات ذکر منبع Google Maps را رعایت کنید. اگر «محتوا» در Google Map نشان داده می‌شود و ارجاع ازقبل نمایان است، نیازی به افزودن ارجاع اضافی ندارید.

ارجاع Google Maps اضافه شد

برای ارجاع Google Maps که قبلاً توسط «پلاتفرم Google Maps» در میانای کاربر ارائه شده است، مثلاً در «کیت میانای کاربر جاها»:

  • ارجاع گنجانده‌شده را صرف‌نظر از جایی که نمایش داده می‌شود برندارید. اسناد را تغییر ندهید، پنهان نکنید، یا مبهم نکنید و مطمئن شوید که به‌وضوح در پس‌زمینه قابل‌مشاهده است.
  • همیشه «محتوای Google Maps Platform» را بااستفاده از نشانه‌های میانای کاربری مانند حاشیه، رنگ پس‌زمینه، سایه، یا فضای خالی کافی به‌صورت بصری از محتوای دیگر متمایز کنید.
  • هنگام ایجاد تغییرات بصری، باید از همه الزامات ذکر منبع Google Maps پیروی کنید.

ارجاع باید هر زمان ممکن است به‌شکل نشان‌واره Google Maps باشد. در مواردی که فضا محدود است، نوشتار Google Maps قابل‌قبول است. همیشه باید برای کاربران نهایی مشخص باشد که کدام محتوا را Google Maps ارائه کرده است.

سمت راست: ارجاع نوشتاری Google Maps، سمت چپ: ارجاع نشان‌واره Google Maps
سمت راست: نمونه‌ای از ارجاع نوشتاری Google Maps، سمت چپ: نمونه‌ای از ارجاع نشان‌واره Google Maps

ارجاع نشان‌واره

برای استفاده از نشان‌واره Google Maps در برنامه یا وب‌سایتتان، این الزامات را دنبال کنید.
انواع قابل‌قبول برای ارجاع نشان‌واره Google Maps
نمونه‌هایی از انواع قابل‌قبول برای ارجاع نشان‌واره Google Maps

بارگیری نشان‌واره‌های Google Maps

از فایل‌های رسمی نشان‌واره Google Maps استفاده کنید. نشان‌واره‌های زیر را بارگیری کنید و دستورالعمل‌های این بخش را دنبال کنید.

بارگیری دارایی‌های ارجاع Google Maps

هنگام استفاده از نشان‌واره Google Maps، این دستورالعمل‌ها را دنبال کنید.

  • به هیچ وجه نشان‌واره را تغییر ندهید.
  • نسبت ابعادی نشان‌واره را حفظ کنید تا از اعوجاج جلوگیری شود.
  • از نشان‌واره خطی روی پس‌زمینه شلوغ، مثل نقشه یا تصویر، استفاده کنید.
  • از نشان‌واره بدون خط پیرامونی روی پس‌زمینه ساده، مثل رنگ یکدست یا گرادیان ملایم، استفاده کنید.

مشخصات اندازه نشان‌واره

برای نشان‌واره Google Maps، این مشخصات اندازه را دنبال کنید:
  • حداقل ارتفاع نشان‌واره: ۱۶ پیکسل مستقل از تراکم
  • حداکثر ارتفاع نشان‌واره: ۱۹ پیکسل مستقل از تراکم
  • حداقل فضای خالی نشان‌واره: ۱۰ پیکسل مستقل از تراکم در چپ، راست، و بالا، ۵ پیکسل مستقل از تراکم در پایین

برای آشنایی با dp، به تراکم پیکسل در وب‌سایت Material Design مراجعه کنید.

نشان‌واره Google Maps که حداقل فضای خالی و محدوده اندازه قابل‌قبول را نشان می‌دهد
نمونه‌ای از نشان‌واره Google Maps که حداقل فضای خالی و محدوده اندازه قابل‌قبول را نشان می‌دهد

دسترس‌پذیری نشان‌واره

این الزامات دسترس‌پذیری را برای نشان‌واره Google Maps دنبال کنید:
  • کنتراست دسترس‌پذیری بین نشان‌واره و پس‌زمینه را حفظ کنید.
  • برچسب دسترس‌پذیری با نوشتار Google Maps را اضافه کنید.
تغییرات غیرقابل‌قبول و مشکلات دسترس‌پذیری برای ارجاع نشان‌واره Google Maps
نمونه‌هایی از تغییرات غیرقابل‌قبول و مشکلات دسترس‌پذیری برای ارجاع نشان‌واره Google Maps

انتساب نوشتار

اگر اندازه میانای شما از استفاده از نشان‌واره Google Maps پشتیبانی نمی‌کند، می‌توانید Google Maps را به‌صورت نوشتاری بنویسید. این دستورالعمل‌ها را دنبال کنید:

انواع قابل‌قبول ارجاع نوشتاری Google Maps
نمونه‌هایی از انواع قابل‌قبول ارجاع نوشتاری Google Maps
  • نوشتار Google Maps را به هیچ وجه تغییر ندهید:
    • حروف بزرگ و کوچک Google Maps را تغییر ندهید
    • Google Maps را در چند خط ننویسید
    • Google Maps را به زبان دیگری بومی‌سازی نکنید.
    • بااستفاده از مشخصه HTML translate="no"، از ترجمه Google Maps توسط مرورگرها جلوگیری کنید.
انواع غیرقابل‌قبول ارجاع نوشتاری Google Maps
نمونه‌هایی از انواع غیرقابل‌قبول ارجاع نوشتاری Google Maps
  • نوشتار Google Maps را همان‌طور که در جدول زیر شرح داده شده است سبک‌بندی کنید:

    الزامات سبک نوشتار Google Maps
    دارایی سبک
    خانواده قلم Roboto. بار کردن قلم اختیاری است.
    خانواده قلم جایگزین هر قلم سن‌سریف نوشتار اصلی که قبلاً در محصولتان استفاده شده است یا «سن‌سریف» برای فراخوانی قلم پیش‌فرض سیستم
    سبک قلم معمولی
    وزن قلم ۴۰۰
    رنگ قلم سفید، سیاه (#1F1F1F)، یا خاکستری (#5E5E5E). کنتراست دسترس‌پذیر (۴.۵:۱) را درمقابل پس‌زمینه حفظ کنید.
    اندازه قلم حداقل اندازه قلم: ۱۲ اس‌پی
    حداکثر اندازه قلم: ۱۶ اس‌پی
    برای آشنایی با اس‌پی، به واحدهای اندازه قلم در وب‌سایت Material Design مراجعه کنید.
    فاصله حروف معمولی

نمونه CSS

CSS زیر Google Maps را با سبک و رنگ نوشتاری مناسب در پس‌زمینه سفید یا روشن ارائه می‌دهد.

@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');

.GMP-attribution {
font-family: Roboto, Sans-Serif;
font-style: normal;
font-weight: 400;
font-size: 1rem;
letter-spacing: normal;
white-space: nowrap;
color: #5e5e5e;
}

الزامات دیداری

این الزامات را برای نحوه نمایش ارجاع به Google Maps دنبال کنید.
  • نشان انتساب را نزدیک بالا یا پایین محتوا و در همان ظرف دیداری قرار دهید. برای محتوای تک‌خطی، ارجاع را می‌توان در سمت راست یا چپ قرار داد.

  • بااستفاده از نشانه‌های میانای کاربری مانند حاشیه، رنگ پس‌زمینه، سایه، یا فضای سفید کافی، «محتوای پلاتفرم Google Maps» را به‌صورت دیداری از محتواهای دیگر متمایز کنید.

  • با نسبت دادن Google Maps به محتوای غیر از «پلاتفرم Google Maps»، آن را به‌اشتباه معرفی نکنید.
  • مطمئن شوید که ارجاع همیشه قابل‌مشاهده و خوانا باشد. هرگز آن را حذف، پنهان، یا مبهم نکنید یا تغییر ندهید.

شکل‌های زیر نمونه‌هایی از این الزامات بصری را نشان می‌دهد.

نمونه‌ای از ارجاع Google Maps که در بالا، پایین، و کنار محتوا قرار گرفته است
نمونه‌ای از ارجاع Google Maps که در بالا، پایین، و کنار محتوا قرار گرفته است

نمونه‌ای از دو رویکرد برای متمایز کردن «محتوای Google Maps» (رده‌بندی مکان) از محتوای دیگر
نمونه‌ای از دو رویکرد برای متمایز کردن «محتوای Google Maps» (رده‌بندی مکان) از محتوای دیگر

انتساب Google Maps را پنهان نکنید یا آن را با محتوای منابع دیگر ترکیب نکنید
ارجاع Google Maps را پنهان نکنید یا آن را با محتوای منابع دیگر ترکیب نکنید

ارائه‌دهندگان داده‌های طرف سوم

برخی‌از داده‌ها و تصاویر موجود در محصولات نقشه‌برداری ما از ارائه‌دهندگانی غیراز Google دریافت می‌شود. برای برخی‌از محصولات، مانند Map Tiles API، ممکن است ارجاع لازم به ارائه‌دهنده داده‌های طرف سوم را به شما ارائه دهیم. وقتی این کار را انجام می‌دهیم، متن ارجاع شما باید نام «Google Maps» و ارائه‌دهنده(های) داده مربوطه را ذکر کند، مانند «داده‌های نقشه: Google، Maxar Technologies». وقتی Google ارجاع به طرف سوم ارائه می‌دهد، فقط گنجاندن «Google Maps» یا نشان‌واره Google ارجاع مناسبی نیست.

سایر الزامات ذکر منبع

این دستورالعمل‌ها را برای بازیابی ارجاع‌های شخص ثالث و نمایش ارجاع‌ها در برنامه‌تان دنبال کنید.

درحال بازیابی ارجاع‌ها از «مکان»

اگر برنامه‌تان اطلاعات به‌دست‌آمده ازطریق فراخوانی دریافت مکان با شناسه را نمایش می‌دهد، برنامه باید ارجاع‌های شخص ثالث را نیز برای جزئیات مکان به‌دست‌آمده نمایش دهد.

‫API یک شیء Place برمی‌گرداند. برای بازیابی ارجاع‌ها از شیء Place، Place.getAttributions() را فراخوانی کنید. این روش List از اشیاء String را برمی‌گرداند، یا اگر هیچ ارجاعی برای نمایش وجود نداشته باشد، مقدار null را برمی‌گرداند.

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

placesClient.fetchPlace(request).addOnSuccessListener((response) -> {
  Place place = response.getPlace();
  textView.append("Place found: " + place.getName());
  List<String> attributions = place.getAttributions();
  if (attributions != null) {
    StringBuilder stringBuilder = new StringBuilder("Attributions: ");
    for (String attribution : attributions) {
      stringBuilder.append(attribution).append("\n");
    }
    textView.append(stringBuilder.toString());
  }}).addOnFailureListener((exception) -> {
    if (exception instanceof ApiException) {
      // Handle the error.
    }
  }
);

نمایش ارجاع‌ها برای عکس

اگر برنامه‌تان عکس‌های مکان را نمایش می‌دهد، باید برای هر عکسی که ارجاع دارد، ارجاع آن را نشان دهید. PhotoMetadata، می‌تواند حاوی یکی از دو نوع ارجاع باشد:

برای دریافت رشته‌های ارجاع برای عکس، 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 برمی‌گرداند. این شیء حاوی List از AuthorAttribution شیء است، هرکدام برای یک ارجاع به نویسنده.

// 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();

اسناد نتایج جستجو

در اروپا، هنگام استفاده از رتبه‌بندی خالص Google، محصولات جستجو باید نوشتار توضیحی داشته باشند که بیش‌از ۱ کلیک فاصله نداشته باشد و عوامل اصلی و وزن عوامل اصلی را که رتبه‌بندی نتایج جستجو را تعیین می‌کنند شرح دهد. نوشتار توضیحی:

سرصفحه: درباره این نتایج

متن اصلی: وقتی در اطراف جایی دنبال کسب‌وکار یا مکانی می‌گردید، Google Maps به شما نتایج محلی را نشان می‌دهد. عوامل زیادی - ارتباط درجه اول داشتن، فاصله، و برجسته بودن - ترکیب می‌شوند تا در یافتن بهترین نتایج برای شما کمک کنند.

دکمه ۱: بیشتر بدانید
نوشتار «بیشتر بدانید» باید به مقاله «مرکز راهنمایی» پیوند داده شود.

دکمه ۲: تأیید

نمایش مرور

یک شیء Place می‌تواند حداکثر پنج مرور داشته باشد که هر مرور با یک شیء Review نشان داده می‌شود. می‌توانید این مرورها را به‌صورت اختیاری در برنامه‌تان نمایش دهید.

هنگام نمایش مرورهای ارائه‌شده توسط کاربران Google، باید نام نویسنده را در نزدیکی آن قرار دهید. وقتی در فیلد ارجاع به نویسنده شیء Review دردسترس باشد، توصیه می‌کنیم عکس نویسنده و پیوند به نمایه او را نیز اضافه کنید. تصویر زیر نمونه‌ای از مرور یک پارک را نشان می‌دهد:

نمایش ارجاع به نویسنده

Google همچنین توصیه می‌کند که نحوه مرتب‌سازی مرورها را برای کاربر نهایی نمایش دهید.

برای دسترسی به مرورها، با 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 است که باید آن‌ها را حفظ کنید و به همان قالبی که ارائه شده‌اند به کاربر نمایش دهید. Google توصیه می‌کند این اطلاعات را زیر جزئیات مکان نمایش دهید.

این API برای همه مکان‌هایی که برنامه استفاده می‌کند، ارجاع ایجاد می‌کند. ارجاع‌ها برای هر فراخوانی API ارائه می‌شوند، نه برای هر مکان.

یکی از راه‌های نمایش ارجاع‌ها استفاده از 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>

تکمیل خودکار برای نشانی‌های کاربر نهایی

وقتی کاربر نهایی از عملکرد «تکمیل خودکار» در «برنامه مشتری» شما برای تایپ کردن نشانی خیابان استفاده می‌کند و آن نشانی خیابان می‌توانست به‌طور کامل و دقیق توسط آن کاربر نهایی بدون «تکمیل خودکار» ارائه شود، نشانی انتخاب‌شده کاربر نهایی مشمول محدودیت‌های «محتوای Google Maps» در «قرارداد پلاتفرم Google Maps» شما نمی‌شود. این استثنا فقط برای نشانی خیابان انتخاب‌شده توسط کاربر نهایی و صرفاً برای تراکنش خاص آن کاربر نهایی اعمال می‌شود؛ این استثنا برای فهرست نشانی‌های پیشنهادی ارائه‌شده توسط عملکرد «تکمیل خودکار» یا سایر «محتوای Google Maps» اعمال نمی‌شود. این استثنا برای هیچ‌کدام از عملکردهای جستجوی نشانی یا نقطه موردعلاقه که توسط دیگر سرویس‌های «پلاتفرم Google Maps» ارائه می‌شود اعمال نمی‌شود.

تکمیل خودکار نشانی کاربر نهایی

در تصویر قبلی، فهرست نشانی در سمت راست همچنان مشمول محدودیت‌های «محتوای Google Maps» است. وقتی کاربر نهایی نشانی انتخابی‌اش را انتخاب می‌کند، آن نشانی صرفاً برای تراکنش قابل‌اجرای آن کاربر نهایی مشمول محدودیت‌های «محتوای Google Maps» نمی‌شود.