66 lines
2.8 KiB
C#
66 lines
2.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace gehGassiApp.Core.Interfaces
|
|
{
|
|
/// <summary>
|
|
/// Schnittstellenbeschreibung für einen Service der Fehler-Meldungen an das App-Center senden kann
|
|
/// </summary>
|
|
public interface IAppReportingService
|
|
{
|
|
/// <summary>
|
|
/// Loggen eines Fehlers mittels App-Center
|
|
/// </summary>
|
|
/// <param name="ex">Fehler</param>
|
|
/// <param name="properties">Optional: zusätzliche Werte</param>
|
|
/// <returns>Task</returns>
|
|
Task TrackErrorAsync(Exception ex, IDictionary<string, string> properties = null);
|
|
|
|
/// <summary>
|
|
/// Loggen eines Fehlers mittels App-Center
|
|
/// </summary>
|
|
/// <param name="ex">Fehler</param>
|
|
/// <param name="logAppVariables">Sollen die statischen App-Variablen angehängt werden?</param>
|
|
/// <param name="properties">Optional: zusätzliche Werte</param>
|
|
/// <returns>Task</returns>
|
|
Task TrackErrorAsync(Exception ex, bool logAppVariables, IDictionary<string, string> properties = null);
|
|
|
|
/// <summary>
|
|
/// Erstellt eine Fake-Error für einen Logout, damit dieser verfolgt werden kann
|
|
/// </summary>
|
|
/// <param name="location">Wo ist der Logout aufgetreten</param>
|
|
/// <param name="logAppVariables">Sollen die statischen App-Variablen angehängt werden?</param>
|
|
/// <param name="properties">Optional: zusätzliche Werte</param>
|
|
/// <returns>Task</returns>
|
|
Task TrackLogoutAsync(string location, bool logAppVariables, IDictionary<string, string> properties = null);
|
|
|
|
/// <summary>
|
|
/// Tracking eines Events
|
|
/// </summary>
|
|
/// <param name="eventName">Name des Events</param>
|
|
/// <param name="properties">Optional: zusätzliche Werte</param>
|
|
/// <returns>Task</returns>
|
|
Task TrackEventAsync(string eventName, IDictionary<string, string> properties = null);
|
|
|
|
/// <summary>
|
|
/// Tracking eines Events
|
|
/// </summary>
|
|
/// <param name="eventName">Name des Events</param>
|
|
/// <param name="logAppVariables">Sollen die statischen App-Variablen angehängt werden?</param>
|
|
/// <param name="properties">Optional: zusätzliche Werte</param>
|
|
/// <returns>Task</returns>
|
|
Task TrackEventAsync(string eventName, bool logAppVariables, IDictionary<string, string> properties = null);
|
|
|
|
/// <summary>
|
|
/// Tracking einer Seite
|
|
/// </summary>
|
|
/// <param name="pageName">Seite</param>
|
|
/// <param name="properties">Optional: zusätzliche Werte</param>
|
|
/// <returns>Task</returns>
|
|
Task TrackPageViewAsync(string pageName, IDictionary<string, string> properties = null);
|
|
}
|
|
}
|