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

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

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

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

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

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

المتطلبات

أجهزة

البرامج

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

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

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

قواعد ارتساء السحابة الإلكترونية الدائمة

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

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

Cloud Anchors (ارتساء السحابة)

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

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

إعداد مشاركة معرّف Cloud Anchor

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

قواعد ارتساء السحابة الإلكترونية الدائمة

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

Cloud Anchors (ارتساء السحابة)

يستخدم نموذج التطبيق "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

السماح باستدعاءات واجهة برمجة التطبيقات ARCore API لاستضافة Cloud Anchors وحله التطبيق. اتّباع خطوات استخدام ARCore API على Google السحابة الإلكترونية واستخدام ميزة بدون مفاتيح تفويض لـ Persistent Cloud Anchors أو تفويض مفتاح واجهة برمجة التطبيقات 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 أرقام التعريف هذه لعرض عناصر ثلاثية الأبعاد مرفقة بعلامات الارتساء المستضافة.

Cloud Anchors (ارتساء السحابة)

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

  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 أرقام التعريف هذه لعرض عناصر ثلاثية الأبعاد مرفقة بعلامات الارتساء المستضافة.

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