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

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

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

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

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

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

المتطلبات

أجهزة

البرامج

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

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

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

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

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

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

نقاط ارتكاز السحابة الإلكترونية

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

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

إعداد مشاركة معرّفات "نقاط ارتكاز السحابة الإلكترونية" (Cloud Anchors)

معرّفات "نقاط ارتكاز السحابة الإلكترونية" (Cloud Anchors) هي سلاسل تحدّد "نقاط ارتكاز السحابة الإلكترونية" (Cloud Anchors) المستضافة. تُستخدم هذه المعرّفات لحلّ نقاط الارتكاز المستضافة أو عرض الكائنات الثلاثية الأبعاد المرفقة بها.

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

تتم مشاركة معرّفات "نقاط ارتكاز السحابة الإلكترونية" (Cloud Anchors) محليًا في التطبيق. ولن تحتاج إلى اتخاذ أي إجراء هنا.

نقاط ارتكاز السحابة الإلكترونية

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

  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 واستخدِم التفويض بدون مفتاح لنقاط ارتكاز السحابة الإلكترونية الدائمة أو تفويض مفتاح واجهة برمجة التطبيقات لنقاط ارتكاز السحابة الإلكترونية.

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

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

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

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

يجب أن يتم تشغيل persistent_cloud_anchor_java على جهازك، ما يؤدي إلى مطالبة ARCore برصد المستويات أمام كاميرا الجهاز.

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

وضع نقطة ارتكاز

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

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

حلّ نقطة ارتكاز

  1. انقر على حلّ وأدخِل رمز غرفة تم عرضه سابقًا للوصول إلى نقاط الارتكاز المستضافة في هذه الغرفة. يؤدي ذلك إلى إرسال طلب حلّ إلى ARCore API، الذي يعرض معرّفات جميع نقاط الارتكاز المستضافة حاليًا في الغرفة. سيستخدم 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 API، يتضمّن بيانات تمثّل موضع نقطة الارتكاز بالنسبة إلى الميزات المرئية القريبة منها.

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

حلّ نقطة ارتكاز

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

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