Testowanie implementacji Crashlytics (Unity)

Wybierz platformę: iOS+ Android Flutter Unity


Skorzystaj z tego przewodnika, jeśli po wykonaniu czynności opisanych w przewodniku dla początkujących nadal nie widzisz awarii w panelu Crashlytics.

Wymuszanie awarii w celu przetestowania implementacji

  1. Znajdź istniejący element GameObject, a następnie dodaj do niego ten skrypt. Ten skrypt spowoduje testową awarię kilka sekund po uruchomieniu 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. Skompiluj aplikację i po zakończeniu kompilacji prześlij informacje o symbolach.

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

    • Android: w przypadku aplikacji na Androida, które używają IL2CPP, uruchom polecenie Firebase interfejsu wiersza poleceń crashlytics:symbols:upload, aby przesłać plik symboli.

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

    • iOS+: dzienniki możesz wyświetlić w dolnym panelu Xcode.

    • Android: wyświetl logi, uruchamiając w terminalu to polecenie: adb logcat.

  4. W konsoli Firebase otwórz panel DevOps i zaangażowanie > Crashlytics, aby sprawdzić, czy jest tam raport o awarii testowej.

    Jeśli po odświeżeniu konsoli i odczekaniu 5 minut nadal nie widzisz testowej awarii, spróbuj włączyć dziennik debugowania (następna sekcja).

Włączanie dziennika debugowania w przypadku Crashlytics

Jeśli nie widzisz testowej awarii w panelu Crashlytics, możesz użyć dziennika debugowania Crashlytics, aby znaleźć problem.

  1. Włącz rejestrowanie debugowania w Firebase, dodając ten kod do inicjowania aplikacji:

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

Jeśli po 5 minutach nadal nie widzisz tego dziennika ani testowej awarii w panelu DevOps i zaangażowanie > Crashlytics w konsoli Firebase, skontaktuj się z zespołem pomocy Firebase i prześlij kopię danych wyjściowych dziennika, abyśmy mogli pomóc Ci w rozwiązaniu problemu.

Dalsze kroki