ในระหว่างการพัฒนาและทดสอบแอป คุณอาจพบว่าการปิดใช้งานการตรวจสอบประสิทธิภาพอาจมีประโยชน์
ตัวอย่างเช่น ด้วย การปิดใช้งานการตรวจสอบประสิทธิภาพระหว่างกระบวนการสร้างแอป คุณสามารถ:
ปิดใช้งานฟังก์ชันการทำงานบางอย่างของการตรวจสอบประสิทธิภาพ (เช่น ฟังก์ชันที่ได้รับจาก ปลั๊กอิน Performance Monitoring Gradle ) ในบิลด์การแก้ไขข้อบกพร่องของคุณ แต่เปิดใช้งานฟังก์ชันสำหรับบิลด์รีลีสของคุณอีกครั้ง
ปิดใช้งานการตรวจสอบประสิทธิภาพเมื่อสร้างแอปของคุณ แต่อนุญาตให้แอปของคุณเปิดใช้งานอีกครั้งในขณะรันไทม์
ปิดใช้งานการตรวจสอบประสิทธิภาพเมื่อสร้างแอปของคุณ และไม่อนุญาตให้แอปของคุณเปิดใช้งานอีกครั้งในขณะรันไทม์
คุณยังสามารถสร้างแอปของคุณโดยเปิดใช้งานการตรวจสอบประสิทธิภาพ ได้ แต่ ใช้ Firebase Remote Config เพื่อให้คุณมีความยืดหยุ่นในการปิดใช้งาน (และเปิดใช้งานอีกครั้ง) การตรวจสอบประสิทธิภาพในแอปที่ใช้งานจริงของคุณ ด้วยตัวเลือกนี้ คุณสามารถกำหนดค่าแอปของคุณเพื่อให้ผู้ใช้เลือกรับหรือยกเลิกการใช้การตรวจสอบประสิทธิภาพได้
ปิดใช้งานการตรวจสอบประสิทธิภาพในระหว่างกระบวนการสร้างแอปของคุณ
คุณสามารถปิดใช้งานการตรวจสอบประสิทธิภาพในระหว่างกระบวนการสร้างของคุณได้โดย การปิดใช้งานปลั๊กอิน Gradle การตรวจสอบประสิทธิภาพ และ/หรือโดย การปิดใช้งานไลบรารี Performance Monitoring Android
ในระหว่างการพัฒนาและการดีบัก การปิดใช้งานปลั๊กอินจะมีประโยชน์เนื่องจาก การอินสตรูเมนต์โดยปลั๊กอิน สามารถช่วยเพิ่มเวลาในการสร้างได้ อย่างไรก็ตาม คุณอาจพิจารณาเปิดใช้งานไลบรารีไว้เพื่อให้คุณยังคงสามารถดูข้อมูลประสิทธิภาพตั้งแต่ การเริ่มต้นแอป การติดตามแอปในเบื้องหน้า และการติดตามแอปในเบื้องหลัง รวมถึง การติดตามโค้ดที่กำหนดเอง ในแอปของคุณ
ปิดการใช้งานปลั๊กอิน Gradle การตรวจสอบประสิทธิภาพ
คุณสามารถปิดใช้งานปลั๊กอิน Performance Monitoring ได้โดยการเพิ่มแฟล็ก instrumentationEnabled
โดยใช้ตัวเลือกต่อไปนี้:
คุณสมบัติส่วนขยาย — ปิดการใช้งานปลั๊กอินสำหรับรุ่นบิวด์ เฉพาะ ในเวลารวบรวม
คุณสมบัติโครงการ — ปิดการใช้งานปลั๊กอินสำหรับรุ่นบิวด์ ทั้งหมด ณ เวลารวบรวม
ปิดใช้งานปลั๊กอินผ่านแฟล็กคุณสมบัติส่วนขยาย
ด้วยการใช้แฟล็ก คุณสมบัติส่วนขยาย คุณสามารถปิดใช้งานปลั๊กอินการตรวจสอบประสิทธิภาพสำหรับตัวแปรบิวด์ เฉพาะ ในเวลาคอมไพล์ได้
ในไฟล์ Gradle ระดับราก (ระดับโครงการ) ของคุณ (
<project>/build.gradle.kts
หรือ<project>/build.gradle
) ตรวจสอบให้แน่ใจว่าการพึ่งพาปลั๊กอิน Android Gradle ของคุณถูกระบุเป็น v3.4.0 หรือใหม่กว่าสำหรับปลั๊กอิน Android Gradle เวอร์ชันก่อนหน้า คุณยังคงปิดใช้ปลั๊กอินการตรวจสอบประสิทธิภาพสำหรับเวอร์ชันบิวด์ที่ต้องการได้ แต่การสนับสนุนเวลาในการสร้างสำหรับเวอร์ชันนั้นจะยังไม่ถูกกำจัดออกไปโดยสิ้นเชิง
เพิ่มแฟล็กต่อไปนี้ลงในไฟล์ Gradle ของโมดูล (ระดับแอป) ของคุณ (โดยปกติคือ
<project>/<app-module>/build.gradle.kts
หรือ<project>/<app-module>/build.gradle
) จากนั้นตั้งค่า เป็นfalse
เพื่อปิดใช้งานปลั๊กอินการตรวจสอบประสิทธิภาพKotlin
import com.google.firebase.perf.plugin.FirebasePerfExtension // ... android { // ... buildTypes { getByName("debug") { configure<FirebasePerfExtension> { // Set this flag to 'false' to disable @AddTrace annotation processing and // automatic monitoring of HTTP/S network requests // for a specific build variant at compile time. setInstrumentationEnabled(false) } } } }
Groovy
android { // ... buildTypes { debug { FirebasePerformance { // Set this flag to 'false' to disable @AddTrace annotation processing and // automatic monitoring of HTTP/S network requests // for a specific build variant at compile time. instrumentationEnabled false } } } }
ปิดใช้งานปลั๊กอินผ่านแฟล็กคุณสมบัติโครงการ
ด้วยการใช้แฟล็ก คุณสมบัติโปรเจ็กต์ คุณสามารถปิดใช้งานปลั๊กอินการตรวจสอบประสิทธิภาพสำหรับตัวแปรบิวด์ ทั้งหมด ในเวลาคอมไพล์ได้
เพิ่มแฟล็กต่อไปนี้ลงในไฟล์ gradle.properties
ของคุณ จากนั้นตั้งค่าเป็น false
เพื่อปิดใช้งานปลั๊กอิน Performance Monitoring
// ... // Set this flag to 'false' to disable @AddTrace annotation processing and // automatic monitoring of HTTP/S network requests // for all build variants at compile time. firebasePerformanceInstrumentationEnabled=false
ปิดใช้งานไลบรารี Android การตรวจสอบประสิทธิภาพ
หากคุณปิดใช้งานไลบรารีการตรวจสอบประสิทธิภาพในขณะคอมไพล์ คุณสามารถเลือกได้ว่าจะอนุญาตให้แอปของคุณเปิดใช้งานไลบรารีขณะรันไทม์หรือไม่
ปิดใช้งานไลบรารีในขณะคอมไพล์ แต่อนุญาตให้แอปของคุณเปิดใช้งานในขณะรันไทม์
เพิ่มองค์ประกอบ <meta-data>
ต่อไปนี้ลงในไฟล์ AndroidManifest.xml
ของแอป:
<application> <meta-data android:name="firebase_performance_collection_enabled" android:value="false" /> </application>
ปิดใช้ไลบรารีในขณะคอมไพล์ แต่ไม่อนุญาตให้แอปเปิดใช้งานขณะรันไทม์
เพิ่มองค์ประกอบ <meta-data>
ต่อไปนี้ลงในไฟล์ AndroidManifest.xml
ของแอป:
<application> <meta-data android:name="firebase_performance_collection_deactivated" android:value="true" /> </application>
ปิดใช้งานแอปของคุณขณะรันไทม์โดยใช้การกำหนดค่าระยะไกล
การกำหนดค่าระยะไกลของ Firebase ช่วยให้คุณเปลี่ยนแปลงลักษณะการทำงานและรูปลักษณ์ของแอปได้ ดังนั้นจึงเป็นวิธีที่เหมาะในการปิดใช้งานการตรวจสอบประสิทธิภาพในอินสแตนซ์ที่ปรับใช้ของแอปของคุณ
หากต้องการปิดใช้งานการรวบรวมข้อมูลการตรวจสอบประสิทธิภาพในครั้งถัดไปที่แอป Android ของคุณเริ่มทำงาน ให้ใช้โค้ดตัวอย่างที่แสดงด้านล่าง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้การกำหนดค่าระยะไกลในแอป Android โปรดดู ใช้การกำหนดค่าระยะไกลของ Firebase บน Android
ตรวจสอบให้แน่ใจว่าการกำหนดค่าระยะไกลอยู่ในส่วน
dependencies
ของไฟล์ Gradle โมดูล (ระดับแอป) ของคุณ (โดยปกติคือ<project>/<app-module>/build.gradle.kts
หรือ<project>/<app-module>/build.gradle
):Kotlin+KTX
implementation("com.google.firebase:firebase-config-ktx:21.6.0")
Java
implementation("com.google.firebase:firebase-config:21.6.0")
ตั้งค่า Remote Config และปิดใช้งาน Performance Monitoring หากตั้งค่า
perf_disable
เป็นtrue
:Kotlin+KTX
// Setup remote config val config = Firebase.remoteConfig // You can uncomment the following two statements to permit more fetches when // validating your app, but you should comment out or delete these lines before // distributing your app in production. // val configSettings = remoteConfigSettings { // minimumFetchIntervalInSeconds = 3600 // } // config.setConfigSettingsAsync(configSettings) // Load in-app defaults from an XML file that sets perf_disable to false until you update // values in the Firebase Console // Observe the remote config parameter "perf_disable" and disable Performance Monitoring if true config.setDefaultsAsync(R.xml.remote_config_defaults) .addOnCompleteListener { task -> if (task.isSuccessful) { Firebase.performance.isPerformanceCollectionEnabled = !config.getBoolean("perf_disable") } else { // An error occurred while setting default parameters } }
Java
// Setup remote config final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance(); // You can uncomment the following two statements to permit more fetches when // validating your app, but you should comment out or delete these lines before // distributing your app in production. // FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder() // .setMinimumFetchIntervalInSeconds(3600) // .build(); // config.setConfigSettingsAsync(configSettings); // Load in-app defaults from an XML file that sets perf_disable to false until you update // values in the Firebase Console //Observe the remote config parameter "perf_disable" and disable Performance Monitoring if true config.setDefaultsAsync(R.xml.remote_config_defaults) .addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { if (task.isSuccessful()) { if (config.getBoolean("perf_disable")) { FirebasePerformance.getInstance().setPerformanceCollectionEnabled(false); } else { FirebasePerformance.getInstance().setPerformanceCollectionEnabled(true); } } else { // An error occurred while setting default parameters } } });
เพิ่มโค้ดต่อไปนี้ใน
MainActivity.java
เพื่อดึงข้อมูลและเปิดใช้งานค่า Remote Config:Kotlin+KTX
// Remote Config fetches and activates parameter values from the service val config = Firebase.remoteConfig config.fetch(3600) .continueWithTask { task -> if (!task.isSuccessful) { task.exception?.let { throw it } } config.activate() } .addOnCompleteListener(this) { task -> if (task.isSuccessful) { // Parameter values successfully activated // ... } else { // Handle errors } }
Java
//Remote Config fetches and activates parameter values from the service final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance(); config.fetch(3600) .continueWithTask(new Continuation<Void, Task<Boolean>>() { @Override public Task<Boolean> then(@NonNull Task<Void> task) throws Exception { if (!task.isSuccessful()) { throw task.getException(); } return config.activate(); } }) .addOnCompleteListener(new OnCompleteListener<Boolean>() { @Override public void onComplete(@NonNull Task<Boolean> task) { if (task.isSuccessful()) { // Parameter values successfully activated // ... } else { // Handle errors } } });
หากต้องการปิดใช้งานการตรวจสอบประสิทธิภาพในคอนโซล Firebase ให้สร้างพารามิเตอร์ perf_disable ในโปรเจ็กต์แอปของคุณ จากนั้นตั้งค่าเป็น
true
การเปลี่ยนแปลงนี้จะทำการเรียก SDK การตรวจสอบประสิทธิภาพว่า "ไม่มีการดำเนินการ" (NOOP) ซึ่งจะขจัดผลกระทบที่สำคัญใดๆ ต่อประสิทธิภาพของแอปจากการใช้ SDK การตรวจสอบประสิทธิภาพในแอปของคุณ
หากคุณตั้งค่า perf_disable เป็น
false
Performance Monitoring จะยังคงเปิดใช้งานอยู่