XR_ANDROID_eye_tracking
Name String
XR_ANDROID_eye_tracking
Uzantı Türü
Örnek uzantısı
Kayıtlı Uzantı Numarası
457
Düzeltme
1
Onay Durumu
Onaylanmadı
Uzantı ve Sürüm Bağımlılıkları
Son Değiştirilme Tarihi
2025-01-17
IP Durumu
Bilinen IP hak talebi yok.
Katkıda bulunanlar
Spencer Quin, Google
Jared Finder, Google
Levana Chen, Google
Kenny Vercaemer, Google
Prasanthi Gurumurthy, Google
Nihav Jain, Google
Genel Bakış
Bu uzantı, uygulamaların kullanıcının gözlerinin konumunu ve yönünü, ayrıca göz izleme durumunu elde etmesini sağlar.
Göz izleme verileri iki modda sağlanır: kaba ve ince. Kaba izleme, kullanıcının gözleriyle ilgili kaba bir tahmin sağlarken ince izleme daha doğru bir tahmin sağlar. Kaba izleme, temel bir avatar benzeri temsil sağlamak isteyen uygulamalar için tasarlanmıştır. Hassas izleme ise daha hassas uygulamalar için tasarlanmıştır.
Etkileşim için XR_EXT_eye_gaze_interaction kullanılmalıdır.
İzinler
Android uygulamalarının manifestlerinde android.permission.EYE_TRACKING_COARSE veya android.permission.EYE_TRACKING_FINE izni bulunmalıdır. Bu izinler tehlikeli izinler olarak kabul edilir. Uygulama, bu işlevleri kullanmak için çalışma zamanında izni istemelidir:
- xrCreateEyeTrackerANDROID (izinlerden en az biri)
- xrGetCoarseTrackingEyesInfoANDROID (android.permission.EYE_TRACKING_COARSE)
- xrGetFineTrackingEyesInfoANDROID (android.permission.EYE_TRACKING_FINE)
(Koruma düzeyi: tehlikeli)
Sistem kapasitesini inceleme
XrSystemEyeTrackingPropertiesANDROID yapısı şu şekilde tanımlanır:
typedef struct XrSystemEyeTrackingPropertiesANDROID {
XrStructureType type;
void* next;
XrBool32 supportsEyeTracking;
} XrSystemEyeTrackingPropertiesANDROID;
Üye Açıklamaları
type, bu yapının XrStructureType'ıdır.next,NULLveya bir yapı zincirindeki sonraki yapının işaretçisidir. Temel OpenXR'de veya bu uzantıda bu tür yapılar tanımlanmamıştır.supportsEyeTracking, mevcut sistemin göz takibini destekleyip desteklemediğini gösteren birXrBool32'dir.
Bir uygulama, xrGetSystemProperties çağrılırken XrSystemProperties'i XrSystemEyeTrackingPropertiesANDROID yapısıyla genişleterek sistemin göz takibi yapıp yapamayacağını kontrol edebilir .
Yalnızca bir çalışma zamanı supportsEyeTracking için XR_FALSE döndürürse çalışma zamanı xrCreateEyeTrackerANDROID işlevinden XR_ERROR_FEATURE_UNSUPPORTED döndürmelidir.
Geçerli Kullanım (Dolaylı)
-
XR_ANDROID_eye_trackinguzantısı, XrSystemEyeTrackingPropertiesANDROID kullanılmadan önce etkinleştirilmelidir. -
typeXR_TYPE_SYSTEM_EYE_TRACKING_PROPERTIES_ANDROIDolmalıdır. -
nextmust beNULLor a valid pointer to the next structure in a structure chain
Göz takip cihazı tutacağı oluşturma
XR_DEFINE_HANDLE(XrEyeTrackerANDROID)
XrEyeTrackerANDROID tutma yeri, gözleri izlemek ve kullanıcının nereye baktığını doğru şekilde eşlemek için kullanılan bir göz takip cihazını temsil eder.
Göz izleme verileri hassas kişisel bilgilerdir ve kişisel gizlilik ile bütünlükle yakından bağlantılıdır. Göz izleme verilerini depolayan veya aktaran uygulamaların, bunu yapabilmek için her zaman kullanıcıdan etkin ve özel kabul istemesi önemle tavsiye edilir.
Uygulama, bu uzantıdaki diğer işlevleri kullanarak göz takibi verilerine erişmek için bu tutma yerini kullanır.
Göz takibi, sahnedeki göz pozunu ve durumunu gösterir.
xrCreateEyeTrackerANDROID işlevi şu şekilde tanımlanır:
XrResult xrCreateEyeTrackerANDROID(
XrSession session,
const XrEyeTrackerCreateInfoANDROID* createInfo,
XrEyeTrackerANDROID* eyeTracker);
Parametre Açıklamaları
session, göz takibinin etkin olacağı bir XrSession tutamağıdır.createInfo, göz takibini belirtmek için kullanılan XrEyeTrackerCreateInfoANDROID'dir.eyeTracker, döndürülen XrEyeTrackerANDROID tutma yeridir.
Bir uygulama, xrCreateEyeTrackerANDROID işlevini kullanarak XrEyeTrackerANDROID tutma yeri oluşturur.
Sistem göz takibini desteklemiyorsa çalışma zamanı, xrCreateEyeTrackerANDROID işlevinden XR_ERROR_FEATURE_UNSUPPORTED değerini döndürmelidir.
Geçerli Kullanım (Dolaylı)
-
XR_ANDROID_eye_trackinguzantısı, xrCreateEyeTrackerANDROID çağrılmadan önce etkinleştirilmelidir. -
sessiongeçerli bir XrSession işleyeni olmalıdır. -
createInfoGeçerli bir XrEyeTrackerCreateInfoANDROID yapısının işaretçisi olmalıdır. -
eyeTrackerXrEyeTrackerANDROID tutamacına yönelik bir işaretçi olmalıdır.
Dönüş Kodları
XR_SUCCESSXR_SESSION_LOSS_PENDING
XR_ERROR_FEATURE_UNSUPPORTEDXR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_HANDLE_INVALIDXR_ERROR_INSTANCE_LOSTXR_ERROR_LIMIT_REACHEDXR_ERROR_OUT_OF_MEMORYXR_ERROR_RUNTIME_FAILUREXR_ERROR_SESSION_LOSTXR_ERROR_VALIDATION_FAILURE
XrEyeTrackerCreateInfoANDROID yapısı şu şekilde tanımlanır:
typedef struct XrEyeTrackerCreateInfoANDROID {
XrStructureType type;
const void* next;
} XrEyeTrackerCreateInfoANDROID;
Üye Açıklamaları
type, bu yapının XrStructureType'ıdır.next,NULLveya bir yapı zincirindeki sonraki yapının işaretçisidir. Temel OpenXR'de veya bu uzantıda bu tür yapılar tanımlanmamıştır.
XrEyeTrackerCreateInfoANDROID yapısı, XrEyeTrackerANDROID tutacını oluşturmak için gereken bilgileri açıklar.
Geçerli Kullanım (Dolaylı)
- XrEyeTrackerCreateInfoANDROID kullanılmadan önce
XR_ANDROID_eye_trackinguzantısı etkinleştirilmelidir. -
typeXR_TYPE_EYE_TRACKER_CREATE_INFO_ANDROIDolmalıdır. -
nextmust beNULLor a valid pointer to the next structure in a structure chain
xrDestroyEyeTrackerANDROID işlevi şu şekilde tanımlanır:
XrResult xrDestroyEyeTrackerANDROID(
XrEyeTrackerANDROID eyeTracker);
Parametre Açıklamaları
eyeTracker, daha önce xrCreateEyeTrackerANDROID tarafından oluşturulmuş bir XrEyeTrackerANDROID'dir .
xrDestroyEyeTrackerANDROID işlevi, göz takibi deneyimleri tamamlandığında eyeTracker ve temel kaynakları serbest bırakır.
Geçerli Kullanım (Dolaylı)
-
XR_ANDROID_eye_trackinguzantısı, xrDestroyEyeTrackerANDROID çağrılmadan önce etkinleştirilmelidir. -
eyeTrackergeçerli bir XrEyeTrackerANDROID işleyicisi olmalıdır.
Thread Safety
eyeTrackerve tüm alt tanıtıcılarına erişim, harici olarak senkronize edilmelidir.
Dönüş Kodları
XR_SUCCESS
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_HANDLE_INVALID
Gözler hakkında bilgi edinme
xrGetCoarseTrackingEyesInfoANDROID işlevi şu şekilde tanımlanır:
XrResult xrGetCoarseTrackingEyesInfoANDROID(
XrEyeTrackerANDROID eyeTracker,
const XrEyesGetInfoANDROID* getInfo,
XrEyesANDROID* eyesOutput);
Parametre Açıklamaları
eyeTracker, daha önce xrCreateEyeTrackerANDROID tarafından oluşturulmuş bir XrEyeTrackerANDROID'dir .getInfo, göz pozlarını ve durumlarını sorgulamak için bilgi sağlamak üzere kullanılan XrEyesGetInfoANDROID işaretçisidir.eyesOutput, pozlar ve durumlar dahil olmak üzere döndürülen göz bilgilerini içeren XrEyesANDROID işaretçisidir.
xrGetCoarseTrackingEyesInfoANDROID işlevi, göz durumları ve pozlarıyla ilgili bilgileri kullanıcı gizliliğini koruyacak şekilde alır.
Çalışma zamanı, uygulamada android.permission.EYE_TRACKING_COARSE izni yoksa XR_ERROR_PERMISSION_INSUFFICIENT değerini döndürmelidir.
Göz pozları, XrEyesGetInfoANDROID :: baseSpace konumunda XrEyesGetInfoANDROID :: time olarak ifade edilir .
Göz pozunun hem konumu hem de yönü herhangi bir zamanda izlenebilir veya izlenmeyebilir. Bu, çalışma zamanının, sağlanan XrEyesANDROID :: eyes üzerinde hem XR_SPACE_LOCATION_POSITION_TRACKED_BIT hem de XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT değerini ayarlaması veya hem XR_SPACE_LOCATION_POSITION_TRACKED_BIT hem de XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT değerini temizlemesi ve izleme durumlarını belirtmek için XrEyesANDROID :: mode değerini ayarlaması gerektiği anlamına gelir.
Geçerli Kullanım (Dolaylı)
- xrGetCoarseTrackingEyesInfoANDROID çağrılmadan önce
XR_ANDROID_eye_trackinguzantısı etkinleştirilmelidir. -
eyeTrackergeçerli bir XrEyeTrackerANDROID işleyicisi olmalıdır. -
getInfogeçerli bir XrEyesGetInfoANDROID yapısına yönelik bir işaretçi olmalıdır. -
eyesOutputXrEyesANDROID yapısına yönelik bir işaretçi olmalıdır.
Dönüş Kodları
XR_SUCCESSXR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_HANDLE_INVALIDXR_ERROR_INSTANCE_LOSTXR_ERROR_LIMIT_REACHEDXR_ERROR_OUT_OF_MEMORYXR_ERROR_PERMISSION_INSUFFICIENTXR_ERROR_RUNTIME_FAILUREXR_ERROR_SESSION_LOSTXR_ERROR_TIME_INVALIDXR_ERROR_VALIDATION_FAILURE
xrGetFineTrackingEyesInfoANDROID işlevi şu şekilde tanımlanır:
XrResult xrGetFineTrackingEyesInfoANDROID(
XrEyeTrackerANDROID eyeTracker,
const XrEyesGetInfoANDROID* getInfo,
XrEyesANDROID* eyesOutput);
Parametre Açıklamaları
eyeTracker, daha önce xrCreateEyeTrackerANDROID tarafından oluşturulmuş bir XrEyeTrackerANDROID'dir .getInfo, hangi çıkışın gerekli olduğunu belirtmek için kullanılan XrEyesGetInfoANDROID işaretçisidir.eyesOutput, pozlar ve durumlar dahil olmak üzere döndürülen göz bilgilerini içeren XrEyesANDROID işaretçisidir.
xrGetFineTrackingEyesInfoANDROID işlevi, göz durumları ve pozları hakkında xrGetCoarseTrackingEyesInfoANDROID işlevinden daha yüksek hassasiyetli bilgiler alır .
Çalışma zamanı, uygulamada android.permission.EYE_TRACKING_FINE izni yoksa XR_ERROR_PERMISSION_INSUFFICIENT değerini döndürmelidir.
Göz bilgileri, XrEyesGetInfoANDROID :: time , XrEyesGetInfoANDROID :: baseSpace kullanılarak xrGetFineTrackingEyesInfoANDROID çağrısı yapıldığı sırada temel alana göre çözümlenir ve görecelidir . Çalışma zamanı, arama sırasında XrEyesGetInfoANDROID :: baseSpace tarafından tanımlanan konumu çözmelidir.
Göz pozunun hem konumu hem de yönü herhangi bir zamanda izlenebilir veya izlenmeyebilir. Bu, çalışma zamanının, sağlanan XrEyesANDROID :: eyes üzerinde hem XR_SPACE_LOCATION_POSITION_TRACKED_BIT hem de XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT değerini ayarlaması veya hem XR_SPACE_LOCATION_POSITION_TRACKED_BIT hem de XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT değerini temizlemesi ve izleme durumlarını belirtmek için XrEyesANDROID :: mode değerini ayarlaması gerektiği anlamına gelir.
Geçerli Kullanım (Dolaylı)
-
XR_ANDROID_eye_trackinguzantısı, xrGetFineTrackingEyesInfoANDROID çağrılmadan önce etkinleştirilmelidir. -
eyeTrackergeçerli bir XrEyeTrackerANDROID işleyicisi olmalıdır. -
getInfogeçerli bir XrEyesGetInfoANDROID yapısına yönelik bir işaretçi olmalıdır. -
eyesOutputXrEyesANDROID yapısına yönelik bir işaretçi olmalıdır.
Dönüş Kodları
XR_SUCCESSXR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_HANDLE_INVALIDXR_ERROR_INSTANCE_LOSTXR_ERROR_LIMIT_REACHEDXR_ERROR_OUT_OF_MEMORYXR_ERROR_PERMISSION_INSUFFICIENTXR_ERROR_RUNTIME_FAILUREXR_ERROR_SESSION_LOSTXR_ERROR_TIME_INVALIDXR_ERROR_VALIDATION_FAILURE
XrEyesGetInfoANDROID yapısı, göz pozlarını ve durumlarını almak için gereken bilgileri içerir.
typedef struct XrEyesGetInfoANDROID {
XrStructureType type;
const void* next;
XrTime time;
XrSpace baseSpace;
} XrEyesGetInfoANDROID;
Üye Açıklamaları
type, bu yapının XrStructureType'ıdır.next,NULLveya bir yapı zincirindeki sonraki yapının işaretçisidir. Temel OpenXR'de veya bu uzantıda bu tür yapılar tanımlanmamıştır.time,baseSpaceile ilgili koordinatların değerlendirileceğiXrTimedeğeridir .baseSpace,timekonumunda göz pozlarının göreceli olacağı XrSpace'tir .
Geçerli Kullanım (Dolaylı)
-
XR_ANDROID_eye_trackinguzantısı, XrEyesGetInfoANDROID kullanılmadan önce etkinleştirilmelidir. -
typeXR_TYPE_EYES_GET_INFO_ANDROIDolmalıdır. -
nextmust beNULLor a valid pointer to the next structure in a structure chain -
baseSpaceGeçerli bir XrSpace hesabı olmalıdır.
XrEyesANDROID yapısı, izlenen gözlerle ilgili bilgileri içerir.
typedef struct XrEyesANDROID {
XrStructureType type;
void* next;
XrEyeANDROID eyes[XR_EYE_MAX_ANDROID];
XrEyeTrackingModeANDROID mode;
} XrEyesANDROID;
Üye Açıklamaları
type, bu yapının XrStructureType'ıdır.next,NULLveya bir yapı zincirindeki sonraki yapının işaretçisidir. Temel OpenXR'de veya bu uzantıda bu tür yapılar tanımlanmamıştır.eyes, XrEyeIndexANDROID tarafından indekslenen sol ve sağ gözler içinXR_EYE_MAX_ANDROIDboyutunda bir XrEyeANDROID dizisidir .mode, gözlerden hangisinin şu anda takip edildiğini gösteren XrEyeTrackingModeANDROID'dir.
Geçerli Kullanım (Dolaylı)
- XrEyesANDROID'i kullanmadan önce
XR_ANDROID_eye_trackinguzantısı etkinleştirilmelidir. -
typeXR_TYPE_EYES_ANDROIDolmalıdır. -
nextmust beNULLor a valid pointer to the next structure in a structure chain -
eyesöğesinin herhangi bir öğesi geçerli bir XrEyeANDROID yapısı olmalıdır. -
modegeçerli bir XrEyeTrackingModeANDROID değeri olmalıdır.
XrEyeANDROID yapısı, bir gözün durumunu, konumunu ve yönünü tanımlar.
typedef struct XrEyeANDROID {
XrEyeStateANDROID eyeState;
XrPosef eyePose;
} XrEyeANDROID;
Üye Açıklamaları
eyeState, bir gözün XrEyeStateANDROID değeridir.eyePose, ilgili XrEyesGetInfoANDROID ::baseSpacereferans çerçevesi içinde göz bebeğinin konumunu ve yönünü tanımlayan bir XrPosef'dir . Buradaki kimlik yönü, +Z'nin kullanıcının gözlerine, +X'in sağa ve +Y'nin yukarı baktığı bir koordinat eksenini temsil eder.
Geçerli Kullanım (Dolaylı)
- XrEyeANDROID uygulamasını kullanmadan önce
XR_ANDROID_eye_trackinguzantısı etkinleştirilmelidir. -
eyeStategeçerli bir XrEyeStateANDROID değeri olmalıdır.
XrEyeStateANDROID numaralandırması, izlenen gözlerin farklı durumlarını tanımlar.
typedef enum XrEyeStateANDROID {
XR_EYE_STATE_INVALID_ANDROID = 0,
XR_EYE_STATE_GAZING_ANDROID = 1,
XR_EYE_STATE_SHUT_ANDROID = 2,
XR_EYE_STATE_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrEyeStateANDROID;
Numaralandırılmış değerler aşağıdaki anlamlara gelir:
Enum Açıklaması
XR_EYE_STATE_INVALID_ANDROID
Gözün hata durumunda olduğunu veya mevcut olmadığını gösterir.
XR_EYE_STATE_GAZING_ANDROID
Gözün şu anda baktığını gösterir.
XR_EYE_STATE_SHUT_ANDROID
Gözün şu anda göz kırpma veya göz kapama nedeniyle kapalı olduğunu gösterir.
XrEyeIndexANDROID numaralandırması, sol veya sağ gözlerin indeksini tanımlar.
typedef enum XrEyeIndexANDROID {
XR_EYE_INDEX_LEFT_ANDROID = 0,
XR_EYE_INDEX_RIGHT_ANDROID = 1,
XR_EYE_INDEX_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrEyeIndexANDROID;
Numaralandırılmış değerler aşağıdaki anlamlara gelir:
Enum Açıklaması
XR_EYE_INDEX_LEFT_ANDROID
Sol göz.
XR_EYE_INDEX_RIGHT_ANDROID
Sağ göz.
XrEyeTrackingModeANDROID numaralandırması, takip edilen gözlerin farklı durumlarını tanımlar.
typedef enum XrEyeTrackingModeANDROID {
XR_EYE_TRACKING_MODE_NOT_TRACKING_ANDROID = 0,
XR_EYE_TRACKING_MODE_RIGHT_ANDROID = 1,
XR_EYE_TRACKING_MODE_LEFT_ANDROID = 2,
XR_EYE_TRACKING_MODE_BOTH_ANDROID = 3,
XR_EYE_TRACKING_MODE_MAX_ENUM_ANDROID = 0x7FFFFFFF
} XrEyeTrackingModeANDROID;
Numaralandırılmış değerler aşağıdaki anlamlara gelir:
Enum Açıklaması
XR_EYE_TRACKING_MODE_NOT_TRACKING_ANDROID
Göz takibinin şu anda etkin olmadığını gösterir.
XR_EYE_TRACKING_MODE_RIGHT_ANDROID
Yalnızca sağ gözün izlendiğini gösterir.
XR_EYE_TRACKING_MODE_LEFT_ANDROID
Yalnızca sol gözün izlendiğini gösterir.
XR_EYE_TRACKING_MODE_BOTH_ANDROID
Hem sol hem de sağ gözün takip edildiğini gösterir.
Göz takibi için örnek kod
Aşağıdaki örnek kod, bir görünüm alanına göre göz bilgilerinin nasıl alınacağını gösterir.
XrSession session; // previously initialized, e.g. created at app startup.
XrSpace viewSpace; // space created for XR_REFERENCE_SPACE_TYPE_VIEW.
// The function pointers are previously initialized using xrGetInstanceProcAddr.
PFN_xrCreateEyeTrackerANDROID xrCreateEyeTrackerANDROID; // previously initialized
PFN_xrDestroyEyeTrackerANDROID xrDestroyEyeTrackerANDROID; // previously initialized
PFN_xrGetCoarseTrackingEyesInfoANDROID xrGetCoarseTrackingEyesInfoANDROID; // previously initialized
PFN_xrGetFineTrackingEyesInfoANDROID xrGetFineTrackingEyesInfoANDROID; // previously initialized
// This will use the XrSession that is bound to the eye tracker done at time of creation.
XrEyeTrackerANDROID eyeTracker;
XrEyeTrackerCreateInfoANDROID createInfo{
.type = XR_TYPE_EYE_TRACKER_CREATE_INFO_ANDROID,
.next = nullptr};
CHK_XR(xrCreateEyeTrackerANDROID(session, &createInfo, &eyeTracker));
while (1) {
// ...
// For every frame in frame loop
// ...
XrFrameState frameState; // previously returned from xrWaitFrame
const XrTime time = frameState.predictedDisplayTime;
XrEyesANDROID fineEyesInfo{.type = XR_TYPE_EYES_ANDROID,
.next = nullptr,
.mode = XR_EYE_TRACKING_MODE_BOTH_ANDROID};
XrEyesANDROID coarseEyesInfo{.type = XR_TYPE_EYES_ANDROID,
.next = nullptr,
.mode = XR_EYE_TRACKING_MODE_BOTH_ANDROID};
XrEyesGetInfoANDROID eyesGetInfo{.type = XR_TYPE_EYES_GET_INFO_ANDROID,
.next = nullptr,
.time = time,
.baseSpace = viewSpace};
CHK_XR(xrGetCoarseTrackingEyesInfoANDROID(eyeTracker, &eyesGetInfo, &coarseEyesInfo));
CHK_XR(xrGetFineTrackingEyesInfoANDROID(eyeTracker, &eyesGetInfo, &fineEyesInfo));
// eyes tracking information is now available:
// drawLeftEye(eyesInfo.eyes[XR_EYE_INDEX_LEFT_ANDROID].eyePose);
// drawRightEye(eyesInfo.eyes[XR_EYE_INDEX_RIGHT_ANDROID].eyePose);
// ...
// Finish frame loop
// ...
}
// after usage
CHK_XR(xrDestroyEyeTrackerANDROID(eyeTracker));
Yeni Nesne Türleri
Yeni Komutlar
- xrCreateEyeTrackerANDROID
- xrDestroyEyeTrackerANDROID
- xrGetCoarseTrackingEyesInfoANDROID
- xrGetFineTrackingEyesInfoANDROID
Yeni Yapılar
- XrEyeANDROID
- XrEyeTrackerCreateInfoANDROID
- XrEyesANDROID
- XrEyesGetInfoANDROID
XrSystemProperties'i genişletme :
Yeni Sıralamalar
Yeni Numaralandırılmış Değer Sabitleri
XR_ANDROID_EYE_TRACKING_EXTENSION_NAMEXR_ANDROID_eye_tracking_SPEC_VERSIONXR_EYE_MAX_ANDROIDXrObjectType'i genişletme :
XR_OBJECT_TYPE_EYE_TRACKER_ANDROID
XrStructureType'ı genişletme :
XR_TYPE_EYES_ANDROIDXR_TYPE_EYES_GET_INFO_ANDROIDXR_TYPE_EYE_TRACKER_CREATE_INFO_ANDROIDXR_TYPE_SYSTEM_EYE_TRACKING_PROPERTIES_ANDROID
Sayılar
Sürüm Geçmişi
Düzeltme 1, 17.01.2025 (Kenny Vercaemer)
- İlk uzantı açıklaması