ARCore Cloud Anchor API یا سرویس ARCore Cloud Anchor قابلیتهای لنگر ابری را برای برنامههای iOS شما فراهم میکند و این امکان را برای کاربران در دستگاههای iOS و Android فراهم میکند تا تجربیات واقعیت افزوده را به اشتراک بگذارند.
این راهنما به شما نشان می دهد که چگونه:
- محیط توسعه خود را برای کار با Cloud Anchors تنظیم کنید
- میزبانی و حل لنگرها را در یک برنامه نمونه امتحان کنید
پیش نیازها
- Xcode نسخه 13.0 یا بالاتر
- Cocoapods 1.4.0 یا بالاتر در صورت استفاده از Cocoapod
- یک دستگاه اپل سازگار با ARKit دارای iOS 12.0 یا بالاتر (هدف استقرار iOS 12.0 یا جدیدتر مورد نیاز است)
استفاده از Cloud Anchors
مراحل زیر از برنامه نمونه Cloud Anchors استفاده میکنند تا وظایف حیاتی را برای پیکربندی و ساخت برنامهای که از ARCore Cloud Anchors پشتیبانی میکند به شما نشان دهد.
برنامه نمونه Cloud Anchors را دریافت کنید
برای دریافت نمونه کد برنامه ، ARCore SDK برای iOS را از GitHub کلون یا دانلود کنید.
یک پنجره ترمینال یا Finder را باز کنید و به پوشه ای بروید که در آن SDK را شبیه سازی یا دانلود کرده اید.
می توانید نمونه کد برنامه را در اینجا پیدا کنید
/arcore-ios-sdk-master/Examples/CloudAnchorExample
.کد برنامه نمونه لنگرهای ابری دائمی موجود است
/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
.
تنظیم جلسه
برنامه نمونه وظایف مهم زیر را به عنوان بخشی از تنظیم جلسه انجام می دهد:
- ایجاد
GARSession
- ایجاد یک
ARSession
و اجرای آن - تنظیم
ARSessionDelegate
. - ارسال
ARFrame
بهGARSession
در روشsession:didUpdateFrame:
:.
اشتراکگذاری Cloud Anchor ID را تنظیم کنید
برنامه نمونه Cloud Anchors از Firebase برای اشتراکگذاری شناسههای Cloud Anchor بین دستگاهها استفاده میکند. می توانید از یک راه حل متفاوت در برنامه های خود استفاده کنید.
برای راه اندازی پایگاه داده Firebase در برنامه نمونه:
- دستورالعمل های Firebase را برای افزودن Firebase به برنامه خود دنبال کنید.
- فایل
GoogleService-Info.plist
ایجاد شده به عنوان بخشی از افزودن Firebase به برنامه شما را دانلود کنید. - ذخیره سازی Firebase را برای نمونه فعال کنید:
- به کنسول Firebase بروید و پروژه ای را که برای برنامه نمونه تنظیم کرده اید انتخاب کنید.
- پانل Database را انتخاب کنید.
- در گزینه Realtime Database ، روی Get Started کلیک کنید.
- منوی Security rules for Realtime Database باز می شود.
- برای اجرای نمونه، Start in test mode را انتخاب کنید.
- توجه داشته باشید که اگر از Firebase برای برنامهای که قصد انتشار آن را دارید استفاده میکنید، باید از قوانین امنیتی محدودتر استفاده کنید.
- در Xcode، فایل
GoogleService-Info.plist
را در کنارInfo.plist
به برنامه خود اضافه کنید.
ARCore API را تنظیم کنید
برای استفاده از Cloud Anchors، ابتدا باید ARCore API را برای برنامه خود تنظیم کنید.
آپدیت پاد را اجرا کنید
برنامه CloudAnchorExample با یک Podfile
از پیش پیکربندی شده با نسخههای ARCore SDK و iOS که به آن نیاز دارید ارسال میشود. برای نصب این وابستگی ها:
- یک پنجره ترمینال را باز کنید و
pod update
از پوشه ای که پروژه Xcode در آن وجود دارد اجرا کنید.
این یک فایل.xcworkspace
ایجاد می کند که بعداً برای ساخت و اجرای برنامه از آن استفاده خواهید کرد.
برای جزئیات در مورد پیکربندی Podfile
در برنامه های خود ، به افزودن ARCore SDK به برنامه خود مراجعه کنید.
فایل
.xcworkspace
را برای پروژه در Xcode باز کنید.برای جلوگیری از خطاهای ساخت، مطمئن شوید که از فایل
.xcworkspace
می سازید و نه فایل.xcodeproj
.
شناسه بسته برنامه را تغییر دهید
در Xcode، شناسه بسته نرم افزاری را تغییر دهید تا بتوانید برنامه را با تیم خود امضا کنید.
برنامه را بسازید و اجرا کنید
دستگاه خود را وصل کنید و برنامه را در Xcode اجرا کنید.
(اختیاری) اگر در حال ساختن و اجرای برنامه نمونه هستید، برای جزئیات استفاده از برنامه برای میزبانی و حل کردن Cloud Anchors به بخش زیر مراجعه کنید.
برنامه نمونه را امتحان کنید
برنامه نمونه را از فایل
.xcworkspace
بسازید و اجرا کنید تا آن را در دستگاه خود راه اندازی کنید.در صورت درخواست، مجوز دوربین را به برنامه بدهید. سپس ARKit شروع به شناسایی هواپیماهای جلوی دوربین شما می کند.
برای ورود به حالت میزبانی روی HOST ضربه بزنید. یک کد اتاق برای به اشتراک گذاری لنگرهای میزبانی شده ایجاد می شود و روی صفحه نمایش شما ظاهر می شود.
برای شروع میزبانی یک لنگر ابر در آنجا، روی یک هواپیما ضربه بزنید.
- این برنامه یک شی Android Andy را در هواپیما قرار می دهد و یک لنگر به آن متصل می کند.
- یک درخواست میزبان به نقطه پایانی ابری ARCore API ارسال می شود. درخواست میزبان شامل دادههایی است که موقعیت لنگر را نسبت به ویژگیهای بصری نزدیک آن نشان میدهد.
- هنگامی که لنگر میزبانی می شود، یک شناسه دریافت می کند که برای حل لنگرهای ابری در این فضا استفاده می شود.
روی RESOLVE ضربه بزنید و یک کد اتاق را وارد کنید تا با استفاده از یک دستگاه یا دستگاه دیگر، به لنگرهای Cloud قبلا میزبانی شده برای این اتاق دسترسی داشته باشید.
- یک درخواست حل و فصل به نقطه پایانی ابری ARCore API ارسال می شود.
- درخواست حل شامل شناسه لنگر ابری است. اگر شناسه با یک لنگر میزبان مطابقت داشته باشد و محلی سازی موفقیت آمیز باشد، سرور تبدیل لنگر را در مختصات محلی شما برمی گرداند.
- برنامه نمونه از تبدیل برای اضافه کردن لنگر به صحنه شما و رندر کردن اشیاء مجازی متصل به آن استفاده می کند.
ARCore SDK را به برنامه های خود اضافه کنید
در برنامههای خود، باید Podfile
خود را بهروزرسانی کنید تا شامل ARCore SDK و نسخهسازی iOS پشتیبانیشده باشد. برای انجام این کار:
platform
وpod
زیر را بهPodfile
پروژه خود اضافه کنید:platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.45.0'
- یک پنجره ترمینال را باز کنید و
pod update
از پوشهای که پروژه Xcode شما وجود دارد اجرا کنید.
این یک فایل.xcworkspace
ایجاد می کند که از آن برای ساخت و اجرای برنامه استفاده می کنید.
لنگر ابرهای پایدار
همانطور که در Host a Cloud Anchor with Persistence توضیح داده شد، میتوانید به لنگر ابر تا 365 روز زمان حیات بدهید. کد نمونه برای استفاده از لنگرهای ابری دائمی در فهرست /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
در ARCore SDK برای iOS از GitHub موجود است.
مراحل بعدی
برای بررسی نمونه کد برنامه و کسب اطلاعات بیشتر در مورد کار با Cloud Anchors در برنامه های خود، به راهنمای توسعه دهنده Cloud Anchors برای iOS مراجعه کنید.
جزئیات را در مرجع ARCore iOS API مرور کنید.
ARCore Cloud Anchor API یا سرویس ARCore Cloud Anchor قابلیتهای لنگر ابری را برای برنامههای iOS شما فراهم میکند و این امکان را برای کاربران در دستگاههای iOS و Android فراهم میکند تا تجربیات واقعیت افزوده را به اشتراک بگذارند.
این راهنما به شما نشان می دهد که چگونه:
- محیط توسعه خود را برای کار با Cloud Anchors تنظیم کنید
- میزبانی و حل لنگرها را در یک برنامه نمونه امتحان کنید
پیش نیازها
- Xcode نسخه 13.0 یا بالاتر
- Cocoapods 1.4.0 یا بالاتر در صورت استفاده از Cocoapod
- یک دستگاه اپل سازگار با ARKit دارای iOS 12.0 یا بالاتر (هدف استقرار iOS 12.0 یا جدیدتر مورد نیاز است)
استفاده از Cloud Anchors
مراحل زیر از برنامه نمونه Cloud Anchors استفاده میکنند تا وظایف حیاتی را برای پیکربندی و ساخت برنامهای که از ARCore Cloud Anchors پشتیبانی میکند به شما نشان دهد.
برنامه نمونه Cloud Anchors را دریافت کنید
برای دریافت نمونه کد برنامه ، ARCore SDK برای iOS را از GitHub کلون یا دانلود کنید.
یک پنجره ترمینال یا Finder را باز کنید و به پوشه ای بروید که در آن SDK را شبیه سازی یا دانلود کرده اید.
می توانید نمونه کد برنامه را در اینجا پیدا کنید
/arcore-ios-sdk-master/Examples/CloudAnchorExample
.کد برنامه نمونه لنگرهای ابری دائمی موجود است
/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
.
تنظیم جلسه
برنامه نمونه وظایف مهم زیر را به عنوان بخشی از تنظیم جلسه انجام می دهد:
- ایجاد
GARSession
- ایجاد یک
ARSession
و اجرای آن - تنظیم
ARSessionDelegate
. - ارسال
ARFrame
بهGARSession
در روشsession:didUpdateFrame:
:.
اشتراکگذاری Cloud Anchor ID را تنظیم کنید
برنامه نمونه Cloud Anchors از Firebase برای اشتراکگذاری شناسههای Cloud Anchor بین دستگاهها استفاده میکند. می توانید از یک راه حل متفاوت در برنامه های خود استفاده کنید.
برای راه اندازی پایگاه داده Firebase در برنامه نمونه:
- دستورالعمل های Firebase را برای افزودن Firebase به برنامه خود دنبال کنید.
- فایل
GoogleService-Info.plist
ایجاد شده به عنوان بخشی از افزودن Firebase به برنامه شما را دانلود کنید. - ذخیره سازی Firebase را برای نمونه فعال کنید:
- به کنسول Firebase بروید و پروژه ای را که برای برنامه نمونه تنظیم کرده اید انتخاب کنید.
- پانل Database را انتخاب کنید.
- در گزینه Realtime Database ، روی Get Started کلیک کنید.
- منوی Security rules for Realtime Database باز می شود.
- برای اجرای نمونه، Start in test mode را انتخاب کنید.
- توجه داشته باشید که اگر از Firebase برای برنامهای که قصد انتشار آن را دارید استفاده میکنید، باید از قوانین امنیتی محدودتر استفاده کنید.
- در Xcode، فایل
GoogleService-Info.plist
را در کنارInfo.plist
به برنامه خود اضافه کنید.
ARCore API را تنظیم کنید
برای استفاده از Cloud Anchors، ابتدا باید ARCore API را برای برنامه خود تنظیم کنید.
آپدیت پاد را اجرا کنید
برنامه CloudAnchorExample با یک Podfile
از پیش پیکربندی شده با نسخههای ARCore SDK و iOS که به آن نیاز دارید ارسال میشود. برای نصب این وابستگی ها:
- یک پنجره ترمینال را باز کنید و
pod update
از پوشه ای که پروژه Xcode در آن وجود دارد اجرا کنید.
این یک فایل.xcworkspace
ایجاد می کند که بعداً برای ساخت و اجرای برنامه از آن استفاده خواهید کرد.
برای جزئیات در مورد پیکربندی Podfile
در برنامه های خود ، به افزودن ARCore SDK به برنامه خود مراجعه کنید.
فایل
.xcworkspace
را برای پروژه در Xcode باز کنید.برای جلوگیری از خطاهای ساخت، مطمئن شوید که از فایل
.xcworkspace
می سازید و نه فایل.xcodeproj
.
شناسه بسته برنامه را تغییر دهید
در Xcode، شناسه بسته نرم افزاری را تغییر دهید تا بتوانید برنامه را با تیم خود امضا کنید.
برنامه را بسازید و اجرا کنید
دستگاه خود را وصل کنید و برنامه را در Xcode اجرا کنید.
(اختیاری) اگر در حال ساختن و اجرای برنامه نمونه هستید، برای جزئیات استفاده از برنامه برای میزبانی و حل کردن Cloud Anchors به بخش زیر مراجعه کنید.
برنامه نمونه را امتحان کنید
برنامه نمونه را از فایل
.xcworkspace
بسازید و اجرا کنید تا آن را در دستگاه خود راه اندازی کنید.در صورت درخواست، مجوز دوربین را به برنامه بدهید. سپس ARKit شروع به شناسایی هواپیماهای جلوی دوربین شما می کند.
برای ورود به حالت میزبانی روی HOST ضربه بزنید. یک کد اتاق برای به اشتراک گذاری لنگرهای میزبانی شده ایجاد می شود و روی صفحه نمایش شما ظاهر می شود.
برای شروع میزبانی یک لنگر ابری، روی یک هواپیما ضربه بزنید.
- این برنامه یک شی Android Andy را در هواپیما قرار می دهد و یک لنگر به آن متصل می کند.
- یک درخواست میزبان به نقطه پایانی ابری ARCore API ارسال می شود. درخواست میزبان شامل دادههایی است که موقعیت لنگر را نسبت به ویژگیهای بصری نزدیک آن نشان میدهد.
- هنگامی که لنگر میزبانی می شود، یک شناسه دریافت می کند که برای حل لنگرهای ابری در این فضا استفاده می شود.
روی RESOLVE ضربه بزنید و یک کد اتاق را وارد کنید تا با استفاده از یک دستگاه یا دستگاه دیگر، به لنگرهای Cloud قبلا میزبانی شده برای این اتاق دسترسی داشته باشید.
- یک درخواست حل و فصل به نقطه پایانی ابری ARCore API ارسال می شود.
- درخواست حل شامل شناسه لنگر ابری است. اگر شناسه با یک لنگر میزبان مطابقت داشته باشد و محلی سازی موفقیت آمیز باشد، سرور تبدیل لنگر را در مختصات محلی شما برمی گرداند.
- برنامه نمونه از تبدیل برای اضافه کردن لنگر به صحنه شما و رندر کردن اشیاء مجازی متصل به آن استفاده می کند.
ARCore SDK را به برنامه های خود اضافه کنید
در برنامههای خود، باید Podfile
خود را بهروزرسانی کنید تا شامل ARCore SDK و نسخهسازی iOS پشتیبانیشده باشد. برای انجام این کار:
platform
وpod
زیر را بهPodfile
پروژه خود اضافه کنید:platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.45.0'
- یک پنجره ترمینال را باز کنید و
pod update
از پوشه ای که پروژه Xcode شما وجود دارد اجرا کنید.
این یک فایل.xcworkspace
تولید می کند که از آن برای ساخت و اجرای برنامه استفاده می کنید.
لنگر ابرهای پایدار
همانطور که در Host a Cloud Anchor with Persistence توضیح داده شد، می توانید به لنگر ابری تا 365 روز زمان حیات بدهید. کد نمونه برای استفاده از لنگرهای ابری دائمی در فهرست /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
در ARCore SDK برای iOS از GitHub موجود است.
مراحل بعدی
برای بررسی نمونه کد برنامه و کسب اطلاعات بیشتر در مورد کار با Cloud Anchors در برنامه های خود، به راهنمای توسعه دهنده Cloud Anchors برای iOS مراجعه کنید.
جزئیات را در مرجع ARCore iOS API مرور کنید.