Files
Aptabase-WPF-sdk/README.md
2025-07-07 16:06:18 +09:00

80 lines
3.0 KiB
Markdown

# 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` 속성을 지정해야 합니다.
```csharp
// 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`에서 버튼 클릭 이벤트를 추적하는 방법은 다음과 같습니다.
```csharp
// 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` 메서드는 사용자 정의 속성을 포함할 수도 있습니다.
```csharp
// 속성 없이 이벤트 전송
AptabaseTracker.TrackEvent("app_started");
// 사용자 정의 속성과 함께 이벤트 전송
AptabaseTracker.TrackEvent("screen_view", new() {
{ "name", "Settings" }
});
```
### 주요 참고사항
1. **자동 정보 수집:** SDK는 OS, 앱 버전 등 유용한 시스템 정보를 이벤트와 함께 자동으로 수집합니다.
2. **수동 추적:** SDK는 자동으로 이벤트를 추적하지 않습니다. `TrackEvent`를 직접 호출하여 원하는 이벤트만 기록할 수 있습니다.
3. **비동기 처리:** `TrackEvent`는 백그라운드에서 실행되므로 UI 스레드를 차단하지 않습니다.
4. **데이터 타입:** 사용자 정의 속성에는 문자열과 숫자 타입의 값만 사용할 수 있습니다.
5. **자동 예외 추적:** SDK는 처리되지 않은 예외(`Unhandled Exception`)를 자동으로 감지하여 `app_exception` 이벤트를 기록합니다.