프로덕션 신청이 끝나면 와! 내가 만든 앱이 이제 설치가 가능하다니.. 싶지만요

 

사람들이 여기저기서 가져오는 Exception들..

어떻게 디버깅해야할까 싶은데요

Firebase의 Crashlytics? 

플레이콘솔 프로덕션

사람들이 여기저기서 가져오는 Exception들..

어떻게 디버깅해야할까 싶은데요

Firebase의 Crashlytics? 

사이드 메뉴들

이 play Console의 바이탈보다 훨씬 자세히 실시간으로 오류를 받아줍니다

play console은 

플레이 콘솔 모니터링 개선

2일전 ~ 1일전 정도의 이미 짜게 식은 유저의 오류를 보내주거든요.. 

이에 반해 파이어베이스는 실시간으로 볼 수 있습니다

 

구현 방법은 너무 간단하고 sdk추가 대로 움직이면 되는데 부연설명을 조금 추가해서 글을 적겠습니다. 

1. 프로젝트에 파이어베이스 Crashlytics SDK 추가

파이어베이스 메뉴들

이곳에서 보면 됩니다..  바로 이 Crashlytics누르면 SDK추가 버튼이 있어 안내페이지대로 천천히 보면

구현방법은 이렇습니다 

// app수준의 gradle 파일

dependencies {
    // Import the BoM for the Firebase platform
    
    implementation("com.google.firebase:firebase-crashlytics")
    implementation("com.google.firebase:firebase-analytics")
}

setting쪽 가셔서

먼저 의존성을 추가해주시구요. 그리고 싱크 전 

Crashlytics의 그래들과 의존성

이렇게 앱단위가 아닌 프로젝트 단위로 가서 하단에 한줄도 추가합니다. 

// 프로젝트 수준의 gradle 파일임. 

plugins {
	...
    
    // Add the dependency for the Crashlytics Gradle plugin
    id("com.google.firebase.crashlytics") version "3.0.2" apply false
}

 

그리고 싱크한다음? 

 

앱이 실행될때 가장 먼저 실행되는 Activity에 

val crashButton = Button(this)
crashButton.text = "Test Crash"
crashButton.setOnClickListener {
   throw RuntimeException("Test Crash") // Force a crash
}

addContentView(crashButton, ViewGroup.LayoutParams(
       ViewGroup.LayoutParams.MATCH_PARENT,
       ViewGroup.LayoutParams.WRAP_CONTENT))

이 테스트 코드를 넣으면 넣자마자 종료되며 로그에  TestCrash 에 대한 내용이 담기는데 

이후에 Crashlytics에 정상적으로 해당 오류가 보이면 코드는 지우셔도 됩니다 ㅎㅎ 완료 ! 

 

2. app-ads.txt 호스팅

앱에 만약 당신이 Admob을 사용한다면 이 단계를 무조건 해야합니다. 멍청 비용으로 도메인사야하는 줄 알고 가비아에서 1년짜리 도메인을 사기도 했는데요. 필요없습니다.

일단 여러가지 방법이 있습니다.

1. google Blogger ( 구글링했을 때 자주 나옴)
2. github pages
3. notion 등등

저는 2번 방법을 사용했구요 ㅎㅎ 도메인도 연결하다보니 시간이 좀 더 걸리는 점. 

일단은 그냥 

깃헙 페이지스 구조

먼저 Repository를 github.io로 그냥 만들구

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>안녕하세요</title>
</head>
<body>
    
</body>
</html>

index.html을 만들어야 이 페이지스가 만들어졌을 때 기본 주소로 들어가진다고 했나? 그랬던 것 같아요. 웹개발하는 사람 아니다 보니 잘몰라요(안드로이드도 잘 모름 ㅋㅋ)

 

암튼 그리고 data말고 같은 root에 app-ads.txt파일을 업로드 하던가, 아니면 파일을 만들어서 해당 admob에서 verify app 에 있는 값을 txt에 적고 저장합니다. 

구글 에드몹 설정을 위한 app-ads.txt 게시하기

이렇게 적구 깃헙 레포지토리 Settings에 들어가면

 

github pages

여기서 Branch를 설정하고 F5를 무한 반복으로 누르다보면 내 페이지가 호스팅이 됩니다. 그리고 app-ads.txt가 잘 보여지는지 확인하려면 

https://www.github.io/repository이름/app-ads.txt 

 

GitHub Pages

Websites for you and your projects, hosted directly from your GitHub repository. Just edit, push, and your changes are live.

pages.github.com

이렇게 될 겁니다. 만약 해당 google에서 부여받은 시리얼넘버? 같은게 보이면 성공. 그리고 admob에서 인증 요청을 보내시면 완료 됩니다 

 

그럼 끗