نسخه SDK خود را انتخاب کنید

ویژگی‌های Places SDK برای Android که در برنامه شما در دسترس هستند با ترکیبی از شماره نسخه SDK (مثلاً 3.5.0) که در پیکربندی برنامه خود مشخص می‌کنید، API‌های فعال در کلید API و نحوه تنظیم اولیه برنامه خود تعیین می‌شوند. . این راهنما تفاوت بین نسخه ها و نحوه انتخاب نسخه هایی که در برنامه شما فعال هستند را توضیح می دهد.

شماره‌های نسخه SDK

شماره نسخه SDK که در فایل build.gradle در سطح برنامه خود مشخص می‌کنید تعیین می‌کند که آیا برنامه شما به ویژگی‌هایی که در نسخه خاصی اضافه شده‌اند دسترسی دارد یا خیر. برای مثال، تکمیل خودکار (جدید) فقط در SDK نسخه 3.5.0 یا بالاتر موجود است.

برای اطلاعات بیشتر در مورد تغییرات ارائه شده در هر نسخه SDK، به یادداشت‌های انتشار مکان‌های SDK برای Android مراجعه کنید.

نسخه‌های API Places برای Places SDK برای Android

علاوه بر تعیین شماره نسخه SDK، باید سرویس Places API را که SDK با آن در Google Cloud Console فراخوانی می کند نیز انتخاب کنید: Places API یا Places API (جدید). همراه با شماره نسخه SDK، سرویس API که انتخاب می‌کنید، تعیین می‌کند که کدام نسخه از ویژگی‌های خاص در برنامه شما موجود است، مانند تکمیل خودکار یا تکمیل خودکار (جدید). در حالی که فقط می‌توانید یک شماره نسخه SDK را مشخص کنید، می‌توانید هم‌زمان Places API و Places API (جدید) را روی کلید API خود فعال کنید، و سپس انتخاب کنید که SDK کدام سرویس را از طریق روشی که برای مقداردهی اولیه SDK استفاده می‌کنید، فراخوانی کند. برنامه شما با این حال، در بیشتر موارد، می‌خواهید Places API (جدید) را فعال کنید و از نسخه‌های (جدید) ویژگی‌های SDK در برنامه خود استفاده کنید.

نسخه SDK و خدمات API خود را انتخاب کنید

برای انتخاب ویژگی‌های SDK در برنامه‌تان، موارد زیر را انجام دهید:

  1. در پروژه Google Cloud خود، Places API، Places API (جدید)، یا هر دو را فعال کنید. برای اطلاعات بیشتر، فعال کردن API ها را ببینید
  2. در محدودیت‌های کلید API خود، Places API، Places API (جدید)، یا هر دو را فعال کنید. برای اطلاعات بیشتر، محدود کردن کلیدهای API را ببینید.
  3. در فایل build.gradle سطح برنامه، شماره نسخه را مشخص کنید. برای اطلاعات بیشتر، نصب را ببینید.

  4. برنامه خود را با فراخوانی متد Places.initializeWithNewPlacesApiEnabled() یا Places.initialize() راه اندازی کنید.

برای اطلاعات بیشتر در مورد انتخاب سرویس Places API، به راه اندازی پروژه Google Cloud خود مراجعه کنید.

ویژگی های SDK در هر نسخه موجود است

جدول زیر نشان می دهد که کدام نسخه SDK و API برای هر ویژگی SDK مورد نیاز است:

ویژگی Places API روی کلید API فعال است روش مقداردهی اولیه حداقل نسخه SDK
تکمیل خودکار (جدید) Places API (جدید) initializeWithNewPlacesApiEnabled() 3.5.0
جزئیات مکان (جدید) Places API (جدید) initializeWithNewPlacesApiEnabled() 3.3.0
جستجوی نزدیک (جدید) Places API (جدید) initializeWithNewPlacesApiEnabled() 3.5.0
عکس‌های مکان (جدید) Places API (جدید) initializeWithNewPlacesApiEnabled() 3.4.0
جستجوی متن (جدید) Places API (جدید) initializeWithNewPlacesApiEnabled() 3.3.0
محل تکمیل خودکار Places API initialize()
مکان فعلی Places API initialize()
جزئیات مکان Places API initialize()
عکس های مکان Places API initialize()

ملاحظات برای انتخاب نسخه هایی که باید فعال شوند

برای کمک به تصمیم گیری برای انتخاب نسخه، موارد زیر را در نظر بگیرید:

  • اگر مشتری جدیدی هستید که به تازگی با Places SDK برای Android شروع کرده اید، با Places API (جدید) و SDK جدید شروع کنید.
  • اگر مشتری فعلی هستید، می توانید به استفاده از SDK موجود ادامه دهید. با این حال، برای استفاده از بهبود عملکرد و بهبود ویژگی‌های Places SDK برای Android (جدید)، باید از SDK جدید استفاده کنید. هنگام انتقال به SDK جدید، نیازی به مهاجرت نیست، فقط مراحل را در انتخاب نسخه SDK و خدمات API خود دنبال کنید.
  • در Places SDK برای Android (جدید)، نشانه‌های جلسه از نسخه 3.5.0 در دسترس هستند. برای اطلاعات بیشتر، نشانه‌های جلسه را ببینید.
  • تماس‌هایی که با استفاده از ابزارک‌های «تکمیل خودکار مکان» انجام می‌شوند، همیشه «تکمیل خودکار مکان» را صدا می‌کنند، نه «تکمیل خودکار مکان» (جدید). فراخوانی ویجت تحت تأثیر روش اولیه سازی قرار نمی گیرد.
  • عکس‌های مکان (جدید) فقط یک URI را به یک تصویر بیت مپ برمی‌گرداند، در حالی که عکس‌های مکان فقط یک تصویر بیت مپ را برمی‌گرداند.
  • مکان کنونی فقط در Places SDK برای Android در دسترس است، نه Places SDK برای Android (جدید).

پیشرفت‌ها در Places SDK برای Android (جدید)

این بخش ویژگی های کلیدی اضافه شده به Places SDK برای Android (جدید) را پوشش می دهد.

بر روی پلت فرم استاندارد Google Cloud پیاده سازی شده است

Places SDK برای Android (جدید) در زیرساخت خدمات در Google Cloud پیاده سازی شده است. این پیاده سازی یک پلت فرم امن تر و قابل اعتمادتر را به ارمغان می آورد. این طراحی استاندارد سطحی از سازگاری را در بین SDK ها به ارمغان می آورد که کارایی توسعه را با Places SDK برای Android (جدید) بهبود می بخشد.

عملکرد بهبود یافته است

Places SDK برای Android (جدید) عملکرد بهبود یافته ای را ارائه می دهد و جایگزینی برنامه هایی که از SDK موجود استفاده می کنند ارزشمند است.

ویژگی های جدید

Places SDK برای Android (جدید) شامل آخرین نسخه‌های همه ویژگی‌های SDK است:

سرویس جستجوی متن جدید

جستجوی متن (جدید) اطلاعات مجموعه‌ای از مکان‌ها را بر اساس یک رشته برمی‌گرداند - برای مثال «پیتزا در نیویورک» یا «فروشگاه‌های کفش در نزدیکی اتاوا» یا «خیابان اصلی ۱۲۳». این سرویس با فهرستی از مکان‌های منطبق با رشته متن و هرگونه سوگیری مکان تنظیم شده پاسخ می‌دهد.

داده‌های پاسخ جدید به جزئیات قرار داده شده (جدید) و عکس‌های مکان (جدید) اضافه شدند

  • جزئیات مکان (جدید) اکنون شامل کلاس Review جدید در شیء پاسخ Place می شود. کلاس Place حاوی متد getReviews() جدید برای پشتیبانی از این فیلد است. با getReviews() تماس بگیرید تا حداکثر پنج نظر را برای یک مکان برگردانید.

  • عکس مکان (جدید) AuthorAttributions به کلاس PhotoMetadata اضافه می کند. AuthorAttributions حاوی List از اشیاء AuthorAttribution است.

پاسخ URI جدید به عکس‌های مکان اضافه شد (جدید)

اکنون می توانید از Place Photo (جدید) برای برگرداندن یک URI به یک بیت مپ تصویر استفاده کنید. قبلاً فقط می‌توانستید خود بیت مپ تصویر را برگردانید.

قیمت گذاری ساده شده

قیمت گذاری با Places SDK برای Android (جدید) ساده شده است، به طوری که شما فقط برای داده هایی که استفاده می کنید پرداخت می کنید. قیمت گذاری ساده شده با استفاده از لیست های فیلد، که به آن ماسک های میدان نیز می گویند، اجرا می شود.

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

برای اطلاعات دقیق قیمت گذاری برای هر دو SDK، استفاده و صورتحساب را ببینید.

انواع مکان های گسترده

SDK جدید انواع مکان های نشان داده شده در جدول زیر را اضافه می کند. این انواع به عنوان بخشی از پاسخ جزئیات مکان و جستجوی متن برگردانده می شوند. همچنین می توانید از این انواع جدید و انواع موجود در جستجو با جستجوی متن استفاده کنید. انواع جدید در جدول A آمده است.

تایپ کنید
رستوران_آمریکایی تخفیف_فروشگاه بستنی_فروشی ساندویچ_فروشی
مرکز_تفریح سگ_پارک رستوران_هندی مدرسه_منطقه
رشته_ ورزشی ایستگاه_شارژ_خودرو_برقی اندونزی_رستوران غذاهای_دریایی_رستوران
فروشگاه_قطعات_خودرو رویداد_محل برگزاری رستوران_ایتالیایی پیست_اسکی
ضیافت_تالار طولانی_ اقامت_هتل رستوران_ژاپنی رستوران_اسپانیایی
باربیکیو_رستوران مزرعه رستوران_کوری فروشگاه_کالاهای_ورزشی
آرایشگاه مزرعه رستوران_لبنانی باشگاه_ورزشی
تخت_و_صبحانه فست_فود_رستوران مارینا مجتمع_ورزشی
رستوران_برزیلی ترمینال کشتی بازار استیک_خانه
صبحانه_رستوران تناسب اندام آزمایشگاه_پزشکی سوشی_رستوران
برانچ_رستوران رستوران_فرانسه رستوران_مدیترانه ای swimming_pool
اتوبوس_ایستگاه هدیه_فروشگاه رستوران_مکزیکی خیاط
کمپینگ_کابین زمین_گلف رستوران_خاورمیانه ارائه دهنده خدمات_ مخابراتی
فروشگاه_موبایل یونانی_رستوران متل تای_رستوران
آژانس_مراقبت_کودک خواربارفروشی پارک_ملی transit_depot
رستوران_چینی مهمانخانه پارک_و_سواری کامیون_ایست
کافی شاپ آرایشگاه تئاتر_هنرهای_نمایش توری_رستوران
جامعه_مرکز همبرگر_رستوران پیتزا_رستوران رستوران_وگان
مشاور هلی فرودگاه زمین بازی رستوران_گیاهی
convention_center منطقه پیاده روی پیش دبستانی رستوران_ویتنامی
کلبه نشانه_ تاریخی اتاق_مهمان_خصوصی بازدید کننده_مرکز
پیک_خدمات خانه_بهبود_فروشگاه رامن_رستوران محل برگزاری عروسی
مرکز_فرهنگی خوابگاه resort_hotel عمده فروش
کلینیک_دندانپزشکی هتل استراحت_توقف

همراه با این انواع جدید، Places API (جدید) انواع زیر را از جدول 2 برای Places API به جدول A برای Places API (جدید) منتقل کرد. یعنی اکنون می توانید از این انواع به عنوان بخشی از جستجو استفاده کنید:

  • country
  • administrative_area_level_1
  • administrative_area_level_2
  • postal_code
  • locality