ARCore çağrı kaydı

Android uygulamanızda çalışma zamanı davranışı ve performans sorunlarını giderirken ARCore API çağrılarını Android cihaz günlüğüne kaydedebilirsiniz.

Çağrı günlük kaydını etkinleştirdiğinizde ARCore, uygulamanın derlendiği SDK'dan bağımsız olarak tüm API çağrılarını C API adıyla günlüğe kaydeder. Tüm C API adları, parametreleri ve dönüş değerleriyle birlikte C API referans belgelerinde bulunabilir.

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

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

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

  1. AR (ARCore) 1.23 veya üzeri sürümler için Google Play Hizmetleri'nin yüklü olduğundan emin olun:

    • Windows'da adb shell pm dump com.google.ar.core | findstr /i "packages: versionName" uygulamasını çalıştırın.
    • macOS'te adb shell pm dump com.google.ar.core | egrep -i versionName\|packages: komutunu çalıştırın.
  2. Çalışan bir ARCore oturumunun etkin olması için uygulamanızda AR deneyimini açın. Günlük kaydı etkinleştiren yayını almak için uygulamanızın AR modunda olması gerekir. AR kamera önizleme resimleri cihaz ekranında görünür olmalıdır.

  3. Uygulamanız için çağrı kaydını etkinleştirmek üzere aşağıdaki etkinlik yöneticisi yayın komutunu kullanın.

    # 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. Çalışan bir ARCore oturumunun etkin olması için uygulamanızda AR deneyimini açın. Günlük kaydını devre dışı bırakan yayını almak için uygulamanızın AR modunda olması gerekir. AR kamera önizleme resimleri cihaz ekranında görünür olmalıdır.

  2. Aşağıdaki etkinlik yöneticisi yayın komutunu kullanarak uygulamanızda çağrı kaydını devre dışı bırakabilirsiniz:

    # 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 kaydı çıkışları için ARCore-Api etiketini kullanır. Yalnızca bu çağrıları filtrelemek için aşağıdaki komutu kullanın.

# 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'lerini azaltmak için çıkışı hız sınırlar. Atlanan günlük mesajlarını tek bir günlük mesajında toplar.

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)