ARCore কল লগিং

আপনার অ্যান্ড্রয়েড অ্যাপে রানটাইম আচরণ এবং পারফরম্যান্স সংক্রান্ত সমস্যার সমাধান করার সময়, আপনি Android ডিভাইস লগে ARCore API কলগুলি লগ করতে পারেন।

আপনি যখন কল লগিং সক্ষম করবেন, তখন ARCore সমস্ত API কলকে তাদের C API নাম দিয়ে লগ করবে, অ্যাপটি যে SDK দিয়ে তৈরি করা হয়েছে তা নির্বিশেষে। সমস্ত C API নামগুলি C API রেফারেন্স ডকুমেন্টেশনে পাওয়া যাবে, তাদের পরামিতি এবং রিটার্ন মান সহ।

API কল লগিং সক্ষম করুন৷

ARCore API কল যেগুলি ArSession* প্যারামিটার গ্রহণ করে না যেমন *_destroy এবং *_release ফাংশনগুলি লগ করা হয় না।

ARCore API কল লগিং সক্ষম করতে এই পদক্ষেপগুলি অনুসরণ করুন৷

  1. নিশ্চিত করুন যে AR (ARCore) 1.23 বা তার পরের জন্য Google Play পরিষেবা ইনস্টল করা আছে:

    • উইন্ডোজে, adb shell pm dump com.google.ar.core | findstr /i "packages: versionName" চালান adb shell pm dump com.google.ar.core | findstr /i "packages: versionName"
    • macOS-এ, adb shell pm dump com.google.ar.core | egrep -i versionName\|packages: চালান adb shell pm dump com.google.ar.core | egrep -i versionName\|packages:
  2. আপনার অ্যাপে AR অভিজ্ঞতা খুলুন যাতে একটি সক্রিয় ARCore সেশন চলছে। লগিং সক্ষম করে এমন ব্রডকাস্ট পেতে আপনার অ্যাপটি অবশ্যই AR মোডে থাকতে হবে। AR ক্যামেরার প্রিভিউ ছবিগুলি ডিভাইসের স্ক্রিনে দৃশ্যমান হওয়া উচিত।

  3. কল লগিং সক্ষম করতে নিম্নলিখিত কার্যকলাপ পরিচালক ব্রডকাস্ট কমান্ডটি ব্যবহার করুন: আপনার অ্যাপের জন্য।

    # 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 কল লগিং অক্ষম করুন

ARCore API কল লগিং অক্ষম করতে এই পদক্ষেপগুলি অনুসরণ করুন৷

  1. আপনার অ্যাপে AR অভিজ্ঞতা খুলুন যাতে একটি সক্রিয় ARCore সেশন চলছে। লগিং অক্ষম করে এমন ব্রডকাস্ট পেতে আপনার অ্যাপটি অবশ্যই AR মোডে থাকতে হবে। AR ক্যামেরার প্রিভিউ ছবিগুলি ডিভাইসের স্ক্রিনে দৃশ্যমান হওয়া উচিত।

  2. আপনার অ্যাপের জন্য কল লগিং অক্ষম করতে নিম্নলিখিত কার্যকলাপ পরিচালক সম্প্রচার কমান্ড ব্যবহার করুন:

    # 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
    

আউটপুট দেখা

ARCore সমস্ত ARCore API লগিং আউটপুটের জন্য ARCore-Api ট্যাগ ব্যবহার করে। শুধুমাত্র সেই কলগুলি ফিল্টার করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

# 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 রেট-আউটপুট সীমিত করে। এটি এড়িয়ে যাওয়া লগ বার্তাগুলিকে একটি একক লগ বার্তায় একত্রিত করে৷

এড়িয়ে যাওয়া লগ বার্তাগুলির উদাহরণ আউটপুট:

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)