البدء السريع لتطبيق Cloud Anchors لنظام التشغيل Android

يمكنك تجربة استضافة إعلانات Cloud ارتساء وحلّها في نموذجَي التطبيقات cloud_anchor_java وpersistent_cloud_anchor_java.

ما هو نموذج التطبيق الذي يجب استخدامه؟

Cloud Anchors هي إعلانات ثابتة تتم استضافتها على ARCore API في نقطة نهاية السحابة الإلكترونية. تتيح واجهة برمجة التطبيقات هذه للمستخدمين مشاركة التجارب في التطبيق نفسه. ثابت السحابة الإلكترونية الدائمة هي Cloud Anchors ويمكن استضافتها لمدة تزيد عن 24 ساعة.

  • تمثّل السمة persistent_cloud_anchor_java تنفيذًا لحالة استخدام لمشروع تعاوني. يستخدم المصادقة بدون مفتاح للسماح باستدعاءات ARCore API. ونظرًا إلى أنّ التطبيق لا يستخدم خلفية Firebase لمشاركة أرقام تعريف Cloud Anchor بين الأجهزة، فهو أمر أسهل بكثير يمكن إعداده وتشغيله.
  • cloud_anchor_java هي تنفيذ حالة استخدام متعددة اللاعبين. يستخدم مفتاح واجهة برمجة التطبيقات للسماح باستدعاءات ARCore API.

المتطلبات الأساسية

المتطلّبات

أجهزة

البرامج

  • الإصدار 3.0 من استوديو Android أو إصدار أحدث مع الإصدار 7.0 (مستوى واجهة برمجة التطبيقات 24) أو إصدار أحدث من Android SDK Platform
  • حزمة ARCore SDK for Android التي يمكنك الحصول عليها بإحدى الطريقتين التاليتين:
    • يمكنك تنزيله من GitHub واستخراجها من جهازك.
    • استنسِخ المستودع باستخدام الأمر التالي:
      git clone https://github.com/google-ar/arcore-android-sdk.git

فتح نموذج التطبيق في "استوديو Android"

توفِّر حزمة تطوير البرامج (SDK) في ARCore نموذجَي التطبيقَين cloud_anchor_java وpersistent_cloud_anchor_java لتوضيح وظائف Cloud Anchors. اتّبِع هذه الخطوات لفتح التطبيقات في "استوديو Android".

التثبيتات الثابتة للسحابة الإلكترونية

  1. في "استوديو Android"، انقر على فتح.

  2. انتقِل إلى المكان الذي يتم فيه تخزين الدليل arcore-android-sdk على جهازك. يجب عدم فتح مجلد حزمة تطوير البرامج (SDK) بالكامل. بدلاً من ذلك، انتقِل إلى عيّنات > persistent_cloud_anchor_java وانقر على فتح.

تثبيتات على السحابة الإلكترونية

  1. في "استوديو Android"، انقر على فتح.

  2. انتقِل إلى المكان الذي يتم فيه تخزين الدليل arcore-android-sdk على جهازك. يجب عدم فتح مجلد حزمة تطوير البرامج (SDK) بالكامل. بدلاً من ذلك، انتقِل إلى عيّنات > cloud_anchor_java وانقر على فتح.

إعداد مشاركة رقم تعريف Cloud Anchor

أرقام تعريف Cloud Anchor هي سلاسل تحدّد إعلانات Cloud Anchor المستضافة. وتُستخدم في تحليل أو عرض الكائنات الثلاثية الأبعاد المرفقة في علامات الارتساء المستضافة.

التثبيتات الثابتة للسحابة الإلكترونية

يتم الاحتفاظ بمشاركة رقم تعريف Cloud Anchor على الجهاز في التطبيق. ولن تحتاج إلى اتخاذ أي إجراء هنا.

تثبيتات على السحابة الإلكترونية

يستخدم نموذج التطبيق cloud_anchor_java قواعد بيانات Firebase في الوقت الفعلي لمشاركة أرقام تعريف Cloud Anchor بين الأجهزة. يمكنك استخدام حلّ مختلف في تطبيقاتك.

  1. أضِف Firebase يدويًا إلى تطبيقك. اسم الحزمة cloud_anchor_java هو com.google.ar.core.examples.java.cloudanchor. يمكنك العثور عليه في main/AndroidManifest.xml.
  2. نزِّل ملف google-services.json الذي أنشأته عند إضافة Firebase إلى تطبيقك.
  3. إنشاء قاعدة بيانات في الوقت الفعلي باستخدام Firebase:
  4. في "استوديو Android"، أضِف ملف google-services.json إلى دليل app لمشروعك.

تفويض طلبات البيانات من ARCore API

يمكنك تفويض طلبات البيانات إلى ARCore API لاستضافة رموز Cloud Anchors وحلّها لتطبيقك. ويمكنك اتّباع الخطوات بشأن استخدام ARCore API على Google Cloud واستخدام التفويض بدون مفتاح لميزة "الثابت في السحابة الإلكترونية" أو تفويض مفتاح واجهة برمجة التطبيقات لإعلانات Cloud Anchors.

إنشاء نموذج تطبيق وتشغيله

التثبيتات الثابتة للسحابة الإلكترونية

تشغيل التطبيق

  1. احرص على تفعيل خيارات المطوّرين وتصحيح أخطاء الجهاز عبر USB على جهازك.
  2. وصِّل جهازك عبر USB بجهاز التطوير.
  3. في "استوديو Android"، اختَر جهازك كهدف النشر وانقر على تشغيل.

يجب تشغيل تطبيق "persistent_cloud_anchor_java" على جهازك، ويطلب من ARCore رصد الطائرات المحصورة أمام كاميرا الجهاز.

في حال تعذّر تفويض Google Cloud، اطّلِع على خطوات تحديد المشاكل وحلّها.

وضع ارتساء

  1. بعد أن يبدأ التطبيق في رصد الطائرة، انقر على شاشتك لوضع علامة ارتساء على إحدى الطائرة التي تم رصدها.
  2. انقر على زر المضيف لاستضافة علامة الارتساء التي تم وضعها. يؤدي ذلك إلى إرسال طلب المضيف إلى واجهة برمجة تطبيقات ARCore، والتي تتضمن بيانات تمثل موضع مرساء الارتساء بالنسبة إلى الميزات المرئية القريبة منه.

ينشئ طلب المضيف الناجح علامة ارتساء في الموقع الجغرافي ويعيّن له معرّف Cloud Anchor. إذا تم طلب المضيف بنجاح، من المفترض أن يعرض التطبيق رمز الغرفة. يمكنك استخدام هذا الرمز للوصول إلى الإعلانات الثابتة التي تمت استضافتها مسبقًا لهذه الغرفة على أي جهاز.

حل علامة ارتساء

  1. انقر على حل وأدخِل رمز الغرفة الذي تم عرضه سابقًا للوصول إلى الإعلانات الثابتة المستضافة في هذه الغرفة. يؤدي ذلك إلى إرسال طلب حل إلى واجهة برمجة تطبيقات ARCore التي تعرض أرقام تعريف جميع نقاط الارتساء المستضافة حاليًا في الغرفة. سيستخدم persistent_cloud_anchor_java أرقام التعريف هذه لعرض العناصر الثلاثية الأبعاد المرتبطة بالإعلانات الثابتة المستضافة.

تثبيتات على السحابة الإلكترونية

تشغيل التطبيق

  1. احرص على تفعيل خيارات المطوّرين وتصحيح أخطاء الجهاز عبر USB على جهازك.
  2. وصِّل جهازك عبر USB بجهاز التطوير.
  3. في "استوديو Android"، اختَر جهازك كهدف النشر وانقر على تشغيل.

يجب تشغيل تطبيق "cloud_anchor_java" على جهازك، ويطلب من ARCore رصد الطائرات المحصورة أمام كاميرا الجهاز.

الخطأ: com.google.firebase.database.DatabaseException: Failed to get FirebaseDatabase instance: Specify DatabaseURL within FirebaseApp or from your getInstance

إذا ظهر لك هذا الخطأ، تأكَّد من توفّر السمة firebase_url في google-services.json. يمكنك الحصول على القيمة الصحيحة لهذا الموقع من خلال التأكّد من إنشاء قاعدة بيانات الوقت الفعلي وتنزيل google-services.json.


وضع ارتساء

  1. بعد أن يبدأ التطبيق في رصد الطائرة، انقر على شاشتك لوضع علامة ارتساء على إحدى الطائرة التي تم رصدها.
  2. انقر على زر المضيف لاستضافة علامة الارتساء التي تم وضعها. يؤدي ذلك إلى إرسال طلب المضيف إلى واجهة برمجة تطبيقات ARCore، والتي تتضمن بيانات تمثل موضع مرساء الارتساء بالنسبة إلى الميزات المرئية القريبة منه.

ينشئ طلب المضيف الناجح علامة ارتساء في الموقع الجغرافي ويعيّن له معرّف Cloud Anchors. إذا تم طلب المضيف بنجاح، من المفترض أن يعرض التطبيق رمز الغرفة. يمكنك استخدام هذا الرمز للوصول إلى الإعلانات الثابتة التي تمت استضافتها مسبقًا لهذه الغرفة على أي جهاز.

حل علامة ارتساء

  1. انقر على حل وأدخِل رمز الغرفة الذي تم عرضه سابقًا للوصول إلى الإعلانات الثابتة المستضافة في هذه الغرفة. يؤدي ذلك إلى إرسال طلب حل إلى واجهة برمجة تطبيقات ARCore التي تعرض أرقام تعريف جميع نقاط الارتساء المستضافة حاليًا في الغرفة. سيستخدم cloud_anchor_java أرقام التعريف هذه لعرض العناصر الثلاثية الأبعاد المرتبطة بالإعلانات الثابتة المستضافة.

الخطوات التالية