본문 바로가기

Android[Kotlin]

[Android][kotlin] 안드로이드 sentry 프로젝트 만들기

1. 

2. 

3. 안드로이드 구성

Sentry Android Gradle 플러그인으로 자동 설치

Sentry Android Gradle 플러그인은 애플리케이션과 관련된 Android SDK 및 통합을 설치합니다.

build.gradle플러그인을 설치하려면 다음과 같이 앱 파일을 업데이트하세요 .

buildscript {
  repositories {
    mavenCentral()
  }
}
plugins {
  id "io.sentry.android.gradle" version "3.1.2"
}

수동 설치

Gradle 플러그인 사용이 옵션이 아닌 경우 SDK를 수동으로 추가할 수 있습니다.

Android SDK를 설치하려면 다음과 같이 build.gradle 파일을 업데이트하세요.

// Make sure mavenCentral is there.
repositories {
    mavenCentral()
}

// Enable Java 1.8 source compatibility if you haven't yet.
android {
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
}

// Add Sentry's SDK as a dependency.
dependencies {
    implementation 'io.sentry:sentry-android:6.1.4'
}

SDK를 Sentry에 연결

아래 코드 스니펫에는 이 프로젝트에 이벤트를 보내도록 SDK에 지시하는 DSN이 포함되어 있습니다.

매니페스트 파일에 DSN을 추가합니다.

<application>
    <meta-data android:name="io.sentry.dsn" android:value="https://e9a5afae982642a3b388e8b5b9628d98@o1312755.ingest.sentry.io/6562174" />
    
    <!-- Set tracesSampleRate to 1.0 to capture 100% of transactions for performance monitoring.
   We recommend adjusting this value in production. -->
   <!-- tracesSampleRate를 1.0으로 설정하여 성능 모니터링을 위해 트랜잭션을 100% 캡처합니다. 
   프로덕션에서 이 값을 조정하는 것이 좋습니다. -->
    <meta-data android:name="io.sentry.traces.sample-rate" android:value="1.0" />
    
    <!-- Enable user interaction tracing to capture transactions for various UI events (such as clicks or scrolls). -->
    <!--다양한 UI 이벤트(예: 클릭 또는 스크롤)에 대한 트랜잭션을 캡처하기 위해 사용자 상호 작용 추적을 활성화합니다.-->
    <meta-data android:name="io.sentry.traces.user-interaction.enable" android:value="true" />
</application>

설정확인

엄청난! 이제 SDK 설정을 완료했으므로 Sentry가 어떻게 작동하는지 빠르게 테스트하고 싶을 것입니다. 예외를 캡처하여 시작합니다.

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle

import io.sentry.Sentry

class MyActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    Sentry.captureMessage("testing SDK setup")
  }
}

성능 모니터링

io.sentry.traces.sample-rate성능 모니터링을 위해 트랜잭션을 100% 캡처하려면 1.0으로 설정 합니다.

프로덕션에서 이 값을 조정하는 것이 좋습니다.

<application>
    <meta-data android:name="io.sentry.traces.sample-rate" android:value="1.0" />
</application>

트랜잭션 및 범위를 캡처하여 코드의 성능을 측정할 수 있습니다.

import io.sentry.Sentry

// Transaction can be started by providing, at minimum, the name and the operation
val transaction = Sentry.startTransaction("test-transaction-name", "test-transaction-operation")

// Transactions can have child spans (and those spans can have child spans as well)
val span = transaction.startChild("test-child-operation")

// ...
// (Perform the operation represented by the span/transaction)
// ...


span.finish() // Mark the span as finished
transaction.finish() // Mark the transaction as finished and send it to Sentry

4. 

이걸 누른다.

그럼 이런 화면이 나온다.

번역기 돌리면

이거 선택하면

이렇게 나온다.

DSN 받기 누르면 

 

 

이런식으로 내 DSN이 나온다. 이걸 Sentry추가할 때 AndroidManifest.xml 에서 android:value 붙여넣기 해준다.

 

이렇게 하고 일단

대쉬보드 클릭하면 

 

 

이런식으로 만들어 진거 확인할 수 있다.

 

에러 일부러 만들어서 실험해 보니

프로젝트 잘 연결된걸 확인할 수 있다.