خط‌مشی‌های Places SDK برای iOS

این سند الزاماتی را فهرست می‌کند که مختص همه برنامه‌های توسعه‌یافته با Places SDK برای iOS است، از جمله سرویس تکمیل خودکار مکان که بخشی از آن API است. اطلاعات عمومی بیشتر برای توسعه دهندگان نقشه های Google را می توان در شرایط خدمات پلت فرم Google Maps یافت.

ارائه شرایط استفاده و سیاست حفظ حریم خصوصی

اگر یک Places SDK برای برنامه iOS توسعه می‌دهید، باید شرایط استفاده و یک خط‌مشی رازداری را با برنامه خود در دسترس قرار دهید که با دستورالعمل‌های ذکر شده در توافقنامه شما با Google مطابقت دارد:

  • شرایط استفاده و سیاست حفظ حریم خصوصی باید در دسترس عموم باشد.
  • شما باید به صراحت در شرایط استفاده برنامه خود بیان کنید که با استفاده از برنامه شما، کاربران به شرایط خدمات Google ملزم هستند.
  • شما باید در خط‌مشی رازداری خود به کاربران اطلاع دهید که از API(های) Google Maps استفاده می‌کنید و با ارجاع به خط‌مشی رازداری Google ادغام کنید.

مکان پیشنهادی برای در دسترس قرار دادن شرایط استفاده و سیاست حفظ حریم خصوصی به پلت فرم برنامه شما بستگی دارد.

اپلیکیشن های موبایل

در صورت توسعه یک برنامه تلفن همراه، توصیه می شود پیوندی به شرایط استفاده و خط مشی رازداری در صفحه دانلود برنامه خود در فروشگاه برنامه مربوطه و در منوی تنظیمات برنامه ارائه دهید.

برنامه های کاربردی وب

در صورت توسعه یک برنامه وب، توصیه می شود که پیوندی به شرایط استفاده و سیاست حفظ حریم خصوصی در پاورقی وب سایت خود ارائه دهید.

پیش واکشی، ذخیره سازی یا ذخیره سازی محتوا

برنامه‌هایی که از Places SDK برای iOS استفاده می‌کنند، تابع شرایط توافقنامه شما با Google هستند. با توجه به شرایط توافق نامه خود، نباید هیچ محتوایی را از قبل واکشی، فهرست بندی، ذخیره یا ذخیره کنید، مگر تحت شرایط محدودی که در شرایط ذکر شده است.

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

نمایش SDK مکان ها برای نتایج iOS

می‌توانید نتایج Places SDK برای iOS را روی نقشه Google یا بدون نقشه نمایش دهید. اگر می‌خواهید نتایج Places SDK برای iOS را روی نقشه نمایش دهید، این نتایج باید در نقشه گوگل نمایش داده شوند. استفاده از Places SDK برای داده‌های iOS در نقشه‌ای که نقشه Google نیست ممنوع است.

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

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

لوگوی گوگل باید در گوشه سمت چپ پایین نقشه قرار گیرد و اطلاعات انتساب در گوشه سمت راست پایین قرار گیرد، که هر دو باید روی نقشه به طور کلی ارائه شوند و در زیر نقشه یا مکان دیگری در برنامه نباشند. . مثال نقشه زیر نشان‌واره گوگل را در سمت چپ پایین نقشه و انتساب را در سمت راست پایین نشان می‌دهد.

قرار دادن تخصیص خط مشی

فایل فشرده زیر حاوی لوگوی گوگل در اندازه های صحیح برای برنامه های دسکتاپ، اندروید و iOS است. شما نمی توانید این لوگوها را به هیچ وجه تغییر اندازه یا تغییر دهید.

دانلود: google_logo.zip

انتساب را تغییر ندهید اطلاعات انتساب را حذف، مبهم یا برش ندهید. نمی‌توانید از نشان‌واره‌های Google به صورت درون خطی استفاده کنید (به عنوان مثال، «این نقشه‌ها از [Google_logo] هستند»).

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

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

اگر از Google Maps Platform در دستگاهی استفاده می‌کنید که نمایش اسناد در آن کاربردی نیست، لطفاً با تیم فروش Google تماس بگیرید تا در مورد مجوزهای مربوط به مورد استفاده خود صحبت کنید.

سایر الزامات انتساب

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

ارجاعات شخص ثالثی که توسط API برگردانده شده اند شامل انتساب Google نیستند . همانطور که در نمایش نشان‌واره و ارجاعات Google توضیح داده شده است، باید خودتان این تخصیص را وارد کنید.

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

بازیابی اسناد برای یک مکان واحد

وقتی مکانی را با گرفتن یک مکان با شناسه بازیابی می کنید، می توانید ارجاعات آن مکان را از ویژگی attributions در GMSPlace بازیابی کنید.

attributions به عنوان یک شی NSAttributedString ارائه می شوند.

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

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

attributions به عنوان یک شی NSAttributedString ارائه می شوند، که می توانید به همان روشی که در بالا توضیح داده شد به آن دسترسی داشته باشید و attributions را نمایش دهید.

نمایش اسناد برای یک عکس

اگر برنامه‌تان عکس‌ها را نمایش می‌دهد، باید برای هر عکسی که آن‌ها را دارد، attributions و authorAttributions را نشان دهید.

  • برای دسترسی به هر گونه انتساب، از GMSPlacePhotoMetadata.attributions استفاده کنید. این ویژگی یک NSAttributedString است، یا اگر هیچ انتسابی برای نمایش وجود نداشته باشد، nil .
  • برای دسترسی به هر گونه اسناد نویسنده، از GMSPlacePhotoMetadata.authorAttributions استفاده کنید. این ویژگی حاوی آرایه ای از اشیاء GMSPlaceAuthorAttribution است.

سویفت

GMSPlacesClient.sharedClient().lookUpPhotosForPlaceID(placeID) { (photos, error) -> Void in
  if let error = error {
    // TODO: handle the error.
    print("Error: \(error.description)")
  } else {
    // Get attribution for the first photo in the list.
    if let photo = photos?.results.first {
      let attributions = photo.attributions
    }
  }
}
    

هدف-C

[[GMSPlacesClient sharedClient]
    lookUpPhotosForPlaceID:placeID
      callback:^(GMSPlacePhotoMetadataList *_Nullable photos,
                  NSError *_Nullable error) {
        if (error) {
          // TODO: handle the error.
          NSLog(@"Error: %@", [error description]);
        } else {
          // Get attribution for the first photo in the list.
          if (photos.results.count > 0) {
            GMSPlacePhotoMetadata *photo = photos.results.firstObject;
            NSAttributedString *attributions = photo.attributions;
          }
        }
      }];
    

نمایش یک بررسی

یک شی GMSPlace می‌تواند تا پنج بررسی داشته باشد، که در آن هر بررسی با یک شی GMSPlaceReview نشان داده می‌شود. می توانید به صورت اختیاری این نظرات را در برنامه خود نمایش دهید.

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

نمایش انتساب نویسنده

گوگل همچنین توصیه می کند که نحوه مرتب سازی نظرات را به کاربر نهایی نشان دهید.

برای دسترسی به نظرات:

سویفت

// Define a Place ID.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let myProperties: [GMSPlaceProperty] = [.name, .website, .reviews]

// Create the GMSFetchPlaceRequest object.
let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: myProperties)

client.fetchPlaceWithRequest(fetchPlaceRequest: fetchPlaceRequest, callback: {
  (place: GMSPlace?, error: Error?) in
  if let error = error {
    print("An error occurred: \(error.localizedDescription)")
    return
  }
  if let place = place {
    let firstReview: GMSPlaceReview = place.reviews![0]

    // Use firstReview to access review text, authorAttribution, and other fields.

  }
})

هدف-C

// Define a Place ID.
NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

// Specify the place data types to return, including reviews.
NSArray<GMSPlaceProperty *> *myProperties = @[GMSPlacePropertyName, GMSPlacePropertyWebsite,GMSPlacePropertyReviews];

GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: myProperties];

[placesClient fetchPlaceWithRequest: fetchPlaceRequest, callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) {
  if (error) {
    // TODO: handle the error.
    NSLog(@"Error: %@", [error description]);
  } else {
    // Get first review.
    GMSPlaceReview *firstReview = [place reviews][0];

    // Use firstReview to access review text, authorAttribution, and other fields.

  }
}];

نمایش اسناد شخص ثالث

اسناد به ارائه دهندگان شخص ثالث به عنوان اشیاء NSAttributedString ارائه می شود که حاوی محتوا و پیوندهایی است که باید آنها را حفظ کرده و به کاربر نمایش دهید.

روش پیشنهادی برای نمایش انتساب ها با UITextView است، زیرا پیوندهای موجود در اسناد باید کار کنند. برای اطمینان از کارکرد پیوندها، یک نماینده در UITextView تنظیم کنید و روش shouldInteractWithURL UITextViewDelegate خود را برای بازگشت YES تنظیم کنید.

سویفت

...
  self.attributionTextView.delegate = self
...

// MARK: - UITextViewDelegate

func textView(textView: UITextView, shouldInteractWithURL URL: NSURL,
  inRange characterRange: NSRange) -> Bool {
  // Make links clickable.
  return true
}
    

هدف-C

...
  self.attributionTextView.delegate = self;
...

#pragma mark - UITextViewDelegate

- (BOOL)textView:(UITextView *)textView
    shouldInteractWithURL:(NSURL *)url
                  inRange:(NSRange)characterRange {
  // Make links clickable.
  return YES;
}
    

نمونه ای از یک منبع شخص ثالث

یک انتساب شخص ثالث معمولاً از متنی با پیوند تشکیل شده است. به عنوان مثال:

لیست ها توسط شرکت نمونه

در مثال بالا، محدوده متن Example Company توسط یک ویژگی NSLink پوشش داده شده است.

دستورالعمل‌های سبک برای ارجاع Google

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

فضای خالی

مقدار فضای خالی اطراف قفل باید برابر یا بیشتر از ارتفاع "G" در گوگل باشد.

فاصله بین کپی منبع و نشان‌واره Google باید نصف عرض "G" باشد.

خوانایی

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

رنگ

از متن Google Material Grey 700 در پس‌زمینه سفید یا روشن استفاده کنید که از محدوده 0% تا 40% حداکثر رنگ سیاه استفاده می‌کند.

گوگل
#5F6368
RGB 95 99 104
HSL 213 5 39
HSB 213 9 41

در پس‌زمینه‌های تیره‌تر، و بیش از عکاسی یا الگوهای غیرمشغله، از متن سفید برای خط‌های کناری و اسناد استفاده کنید.

گوگل
#FFFFFF
RGB 255 255 255
HSL 0 0 100
HSB 0 0 100

فونت

از فونت 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;