Testowanie implementacji Crashlytics


Wymuszanie awarii w celu przetestowania implementacji

  1. Znajdź istniejący GameObject, a potem dodaj do niego ten skrypt. Ten skrypt spowoduje awarię testową po kilku sekundach od uruchomienia aplikacji.

    using System;
    using UnityEngine;
    
    public class CrashlyticsTester : MonoBehaviour {
    
        int updatesBeforeException;
    
        // Use this for initialization
        void Start () {
          updatesBeforeException = 0;
        }
    
        // Update is called once per frame
        void Update()
        {
            // Call the exception-throwing method here so that it's run
            // every frame update
            throwExceptionEvery60Updates();
        }
    
        // A method that tests your Crashlytics implementation by throwing an
        // exception every 60 frame updates. You should see reports in the
        // Firebase console a few minutes after running your app with this method.
        void throwExceptionEvery60Updates()
        {
            if (updatesBeforeException > 0)
            {
                updatesBeforeException--;
            }
            else
            {
                // Set the counter to 60 updates
                updatesBeforeException = 60;
    
                // Throw an exception to test your Crashlytics implementation
                throw new System.Exception("test exception please ignore");
            }
        }
    }
    
  2. Po zakończeniu kompilacji skompiluj aplikację i prześlij informacje o symbolach.

    • iOS+: wtyczka Firebase Unity Editor automatycznie skonfiguruje projekt Xcode, aby przesłać plik symboli.

    • Android: w przypadku aplikacji na Androida, które korzystają z IL2CPP, uruchom polecenie Firebase CLI crashlytics:symbols:upload, aby przesłać plik symboli.

  3. Uruchom aplikację. Gdy aplikacja będzie działać, obserwuj dziennik urządzenia i czekaj, aż CrashlyticsTester uruchomi wyjątek.

    • iOS+: wyświetlaj dzienniki w dolnym panelu Xcode.

    • Android: aby wyświetlić logi, uruchom w terminalu to polecenie:adb logcat.

  4. Aby zobaczyć testowy błąd krytyczny, otwórz panel Crashlytics konsoli Firebase.

Jeśli po 5 minutach odświeżenia konsoli nadal nie widzisz testowego błędu, spróbuj włączyć rejestrowanie debugowania (następna sekcja).

Włączanie rejestrowania debugowania w przypadku Crashlytics

Jeśli nie widzisz testu, który uległ awarii, na panelu Crashlytics, możesz użyć rejestrowania debugowania w przypadku Crashlytics, aby łatwiej zlokalizować problem.

  1. Aby włączyć rejestrowanie debugowania dla Firebase, dodaj do inicjalizacji aplikacji ten kod:

    Firebase.FirebaseApp.LogLevel = Firebase.LogLevel.Debug;
  2. Wymuś awarię testową. W pierwszej sekcji tej strony opisano, jak to zrobić.

Jeśli po upływie 5 minut nie widzisz na pulpicie Crashlytics w konsoli Firebase dzienników z Firebase ani testowego błędu, prześlij zespołowi pomocy Firebase kopię wyjścia z dziennika, abyśmy mogli pomóc Ci w dalszym rozwiązywaniu problemu.

Dalsze kroki