internal void OnApplicationPause(bool pause) { Breadcrumbs?.FromMonoBehavior("Application pause", LogType.Assert, new Dictionary <string, string> { { "paused", pause.ToString(CultureInfo.InvariantCulture).ToLower() } }); _nativeClient?.PauseAnrThread(pause); }
private void Awake() { if (Breadcrumbs != null) { Breadcrumbs.FromMonoBehavior("Application awake", LogType.Assert, null); } Refresh(); }
private void OnDestroy() { Enabled = false; Breadcrumbs?.FromMonoBehavior("Backtrace Client: OnDestroy", LogType.Warning, null); Breadcrumbs?.UnregisterEvents(); Application.logMessageReceived -= HandleUnityMessage; Application.logMessageReceivedThreaded -= HandleUnityBackgroundException; #if UNITY_ANDROID || UNITY_IOS Application.lowMemory -= HandleLowMemory; _nativeClient?.Disable(); #endif }
/// <summary> /// ANR Detection event. This method will be replaced by Backtrace-Android soon native API. /// </summary> /// <param name="stackTrace">Main thread stack trace</param> internal void OnAnrDetected(string stackTrace) { if (!Enabled) { Debug.LogWarning("Please enable BacktraceClient first."); return; } const string anrMessage = "ANRException: Blocked thread detected"; var hang = new BacktraceUnhandledException(anrMessage, stackTrace); Breadcrumbs?.FromMonoBehavior(anrMessage, LogType.Warning, new Dictionary <string, string> { { "stackTrace", stackTrace } }); SendUnhandledException(hang); }