- 종료 직전에 보내는 Event 누락 방지하기 위한 코드 수정 : 큐에 이벤트를 추가하면 +1, 큐에서 읽어와서 Event를 Send하면 -1하는 필드 추가 : 필드가 0이되기를 기다리는 함수 추가(대기 한계 시간 기본값 1500ms) [변경] AptabaseClientBase.cs - EventData에 ipAddredd 할당하는 코드 제거 : 매번 API 호출하면서 속도 지연의 원인이 됨 - aptabase-debug.log 파일 생성하는 코드 제거 : 파일 관리가 안되고 있으므로 제거
Aptabase SDK for WPF
WPF 애플리케이션을 위한 Aptabase SDK입니다. Aptabase는 오픈 소스, 개인 정보 보호 우선, 그리고 간단한 사용법을 지향하는 앱 분석 도구입니다.
사용법
1. 초기화
먼저 Aptabase에서 App Key를 발급받아야 합니다. 이 키는
Aptabase 대시보드의 왼쪽 ‘설정’ 메뉴에서 찾을 수 있습니다.
WPF 애플리케이션이 시작될 때, App.xaml.cs 파일의
OnStartup 메서드에서 AptabaseTracker.Init을
호출하여 SDK를 초기화합니다.
Self-Hosting
직접 호스팅하는 서버를 사용하려면, AptabaseOptions를
사용하여 Host 속성을 지정해야 합니다.
// App.xaml.cs
using System.Windows;
using Aptabase.WPF;
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
AptabaseTracker.Init("A-SH-0265005374", new AptabaseOptions // 👈 사내 Self-Host 중인 서버 Test App 입니다. 실트랙킹을 위해서는 별도 발급해야 합니다.
{
Host = "https://aptabase.hmac.kr" // 👈 사내 Self-Host 중인 서버 주소를 입력합니다.
});
}
}2. 이벤트 추적
초기화가 완료되면, 애플리케이션의 어느 곳에서든
AptabaseTracker.TrackEvent 정적 메서드를 사용하여 이벤트를
추적할 수 있습니다.
예를 들어, MainWindow.xaml.cs에서 버튼 클릭 이벤트를
추적하는 방법은 다음과 같습니다.
// MainWindow.xaml.cs
using System.Windows;
using Aptabase.WPF; // 👈 Aptabase 네임스페이스를 추가합니다.
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void OnCounterClicked(object sender, RoutedEventArgs e)
{
// "button_clicked" 라는 이름으로 이벤트를 전송합니다.
AptabaseTracker.TrackEvent("button_clicked");
}
}TrackEvent 메서드는 사용자 정의 속성을 포함할 수도
있습니다.
// 속성 없이 이벤트 전송
AptabaseTracker.TrackEvent("app_started");
// 사용자 정의 속성과 함께 이벤트 전송
AptabaseTracker.TrackEvent("screen_view", new() {
{ "name", "Settings" }
});주요 참고사항
- 자동 정보 수집: SDK는 OS, 앱 버전 등 유용한 시스템 정보를 이벤트와 함께 자동으로 수집합니다.
- 수동 추적: SDK는 자동으로 이벤트를 추적하지
않습니다.
TrackEvent를 직접 호출하여 원하는 이벤트만 기록할 수 있습니다. - 비동기 처리:
TrackEvent는 백그라운드에서 실행되므로 UI 스레드를 차단하지 않습니다. - 데이터 타입: 사용자 정의 속성에는 문자열과 숫자 타입의 값만 사용할 수 있습니다.
- 자동 예외 추적: SDK는 처리되지 않은
예외(
Unhandled Exception)를 자동으로 감지하여app_exception이벤트를 기록합니다.
Languages
C#
100%