العمل مع ARCore لميزة Jetpack XR

يتيح ARCore لـ Jetpack XR للتطبيقات العمل مع المفاهيم الأساسية للواقع المعزّز (AR)، وذلك باستخدام العناصر الأساسية لفهم المشهد على مستوى منخفض وتتبُّع الحركات. استخدِم ARCore لـ Jetpack XR عند إنشاء تجارب الواقع المعزّز ويجب استخدام بيانات مسطحة أو تثبيت المحتوى في مكان ثابت في الفضاء.

فهم دورة حياة Session

يجب الوصول إلى جميع الأجسام التي تتتبّعها حزمة ARCore لتطبيق Jetpack XR من خلال Session. على غرار رحلة نشاط، لعناصر Session أيضًا رحلة يجب الحفاظ عليها وفقًا لاستخدام تطبيقك لميزات Session. إذا كان تطبيقك يتضمّن نشاطًا واحدًا متوافقًا مع الواقع المعزّز، ننصحك بمعالجة دورة حياة Session باستخدام مكوّن يراعي دورة النشاط.

الوصول إلى Session

يجب إنشاء Session عند استخدام ARCore مع Jetpack XR.

عند استخدام Jetpack Compose لتطبيقات الواقع المعزّز، استخدِم LocalSession للوصول إلى الجلسة التي تم إنشاؤها لك.

استئناف جلسة

يجب استئناف جلسة عندما يكون تطبيقك جاهزًا للتعامل مع تغييرات الحالة من ARCore لـ Jetpack XR. في العديد من الحالات، يتم إجراء ذلك في onResume() callback لنشاطك، ولكن قد يريد تطبيقك تأخير المعالجة إلى أن يتفاعل المستخدم.

يعرض مقتطف الرمز البرمجي التالي مثالاً على استئناف جلسة.

when (val result = session.resume()) {
    is SessionResumeSuccess -> {
        // Session has been created successfully.
        // Attach any successful handlers here.
    }

    is SessionResumePermissionsNotGranted -> {
        // Request permissions in `result.permissions`.
    }
}

راجِع SessionResumeResult لمعرفة الأسباب التي قد تؤدي إلى تعذُّر استئناف Session.

إيقاف جلسة مؤقتًا

عندما ينتقل نشاطك إلى الخلفية، يمكنك إيقاف Session مؤقتًا باستخدام [Session.pause()][Session.pause]. يؤدي إيقاف جلسة مؤقتًا إلى إيقاف التتبّع مؤقتًا إلى أن تتم استعادة الجلسة، مع الحفاظ على حالة نظام الإدراك.

إتلاف جلسة

للتخلص نهائيًا من Session، استخدِم [Session.destroy()][Session.destroy]. يؤدي ذلك إلى تحرير الموارد المستخدَمة في الجلسة وتدمير جميع حالات الجلسة.

انظر أيضًا