ARCore çağrı kaydı

Android cihazınızda çalışma zamanı davranışı ve performans sorunlarını giderirken kullanıyorsanız, ARCore API çağrılarını Android cihaz günlüğü.

Çağrı kaydını etkinleştirdiğinizde ARCore, tüm API çağrılarını C API'siyle günlüğe kaydeder adı (uygulamanın oluşturulduğu SDK'dan bağımsız olarak). Tüm C API adları C API referans belgelerinde ve döndürülen değerleri gösterir.

API çağrısı kaydını etkinleştir

*_destroy gibi ArSession* parametrelerini almayan ARCore API çağrıları ve *_release işlevleri günlüğe kaydedilmez.

ARCore API çağrı kaydını etkinleştirmek için aşağıdaki adımları uygulayın.

  1. AR için Google Play Hizmetleri (ARCore) 1.23 veya sonraki bir sürümün yüklü olduğundan emin olun:

    • Windows'da adb shell pm dump com.google.ar.core | findstr /i "packages: versionName" komutunu çalıştırın.
    • macOS'te adb shell pm dump com.google.ar.core | egrep -i versionName\|packages:'yi çalıştırın.
  2. Etkin bir ARCore oturumu olması için uygulamanızda AR deneyimini açın çalışıyor. Etkinleştiren yayını almak için uygulamanızın AR modunda olması gerekir günlük kaydı. AR kamerası önizleme resimleri cihazda görünür olmalıdır tıklayın.

  3. Arama günlük kaydını etkinleştirmek için aşağıdaki etkinlik yöneticisi yayın komutunu kullanın: en iyi yoludur.

    # Enables ARCore call logging and saves a setting to your app's
    # Android Shared Preferences, so that call logging remains enabled in
    # subsequent ARCore sessions.
    
    # Your app must have an actively running ARCore session to receive the broadcast.
    adb shell am broadcast -a com.google.ar.core.ENABLE_API_CALL_LOGGING
    

API çağrısı günlük kaydını devre dışı bırak

ARCore API çağrı günlük kaydını devre dışı bırakmak için aşağıdaki adımları uygulayın.

  1. Etkin bir ARCore oturumu olması için uygulamanızda AR deneyimini açın çalışıyor. Devre dışı bırakan yayını almak için uygulamanızın AR modunda olması gerekir günlük kaydı. AR kamerası önizleme resimleri cihazda görünür olmalıdır tıklayın.

  2. Arama günlük kaydını devre dışı bırakmak için aşağıdaki etkinlik yöneticisi yayın komutunu kullanın uygulamanız için:

    # Disables ARCore call logging and saves a setting to your app's
    # Android Shared Preferences, so that call logging remains disabled in
    # subsequent ARCore sessions.
    
    # Your app must have an actively running ARCore session to receive the broadcast.
    adb shell am broadcast -a com.google.ar.core.DISABLE_API_CALL_LOGGING
    

Çıkışı görüntüleme

ARCore, tüm ARCore API günlük çıktıları için ARCore-Api etiketini kullanır. Şunu kullanın: aşağıdaki komutu kullanarak yalnızca bu çağrıları filtreleyebilirsiniz.

# Currently, ARCore only logs API calls that take an `ArSession*` argument.
# Functions that do not take session parameters such as `*_destroy` and `*_release` are not logged.
# -s is equivalent to the filter expression '*:S', which sets priority for all tags to silent.

adb logcat -s ARCore-Api

ARCore, günlük spam'ini azaltmak için çıkışı hızlandırır. Atlanan günlükleri toplar tek bir günlük iletisine dönüştürmenizi sağlar.

Atlanan günlük mesajlarının örnek çıkışı:

D ARCore-Api: ArFrame_create(<ptr>)
D ARCore-Api: ArSession_update(<ptr>) -> AR_SUCCESS
D ARCore-Api: ArFrame_acquireCamera(<ptr>, <ptr>)
D ARCore-Api: ArFrame_getDisplayGeometryChanged(<ptr>, <ptr>)
D ARCore-Api: ArCamera_getTrackingFailureReason(<ptr>, <ptr>)
D ARCore-Api: ArFrame_getTimestamp(<ptr>, <ptr>)
D ARCore-Api: ArSession_setDisplayGeometry(0, 1080, 2195)
D ARCore-Api: ArFrame_create(<ptr>) (suppressing for 10s)
D ARCore-Api: ArSession_update(<ptr>) -> AR_SUCCESS (suppressing for 10s)
D ARCore-Api: ArFrame_acquireCamera(<ptr>, <ptr>) (suppressing for 10s)
D ARCore-Api: ArFrame_getDisplayGeometryChanged(<ptr>, <ptr>) (suppressing for 10s)
D ARCore-Api: ArCamera_getTrackingFailureReason(<ptr>, <ptr>) (suppressing for 10s)
D ARCore-Api: ArFrame_getTimestamp(<ptr>, <ptr>) (suppressing for 10s)
D ARCore-Api: ArSession_setDisplayGeometry(0, 1080, 2195) (suppressing for 10s)