반응형
기존에 사용하던 local.properties에 api키를 작성하고 app수준 gradle에서 키를 등록해 주고 buildConfig로 가져와서 사용하는 방식을 썼었다. 그런데 언젠가부터 getProperty 해서 키를 가져다가 manifest에서 사용하도록 했던 방법이 되지 않아서 임시방편으로 string파일에 저장해서 사용하고 있었다.
이 방법은 키를 숨겨서 사용할 수 없었고, 깜빡하고 깃에 push 하는 순간 무방비로 노출되어 버렸다.
근데 해결방법을 모르니 어쩔 수 없이 번거롭게 지워서 올리고 다시 작성하고 했었는데 아주 쉽게 키를 숨길 수 있는 방법을 알아냈다!
1. local.properties에 자신의 api키를 작성을 해준다.
admob_app_id =""
admob_id =""
2. 프로젝트 수준의 build.gradle 파일에 아래 classapth를 추가한다.
buildscript {
dependencies {
classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1")
}
}
3. app수준의 build.gradle 파일의 plugin에 추가해준다.
plugins {
...
id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
}
4. local.properties에 입력한 이름으로 사용한다!
manifest에서는 이렇게 사용해 주면 되고
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="${admob_app_id}"
/>
일반 class에서는 adUnitId에 대입된 것처럼 그냥 바로 입력해 주면 된다. 그러면 import 하라고 된다.
AndroidView(
modifier = modifier.fillMaxWidth().heightIn(50.dp),
factory = { context ->
AdView(context).apply {
setAdSize(AdSize.BANNER)
// adUnitId = BuildConfig.ADMOB_KEY
adUnitId = admob_id
loadAd(AdRequest.Builder().build())
}
}
)
import 하면 이렇게 추가되는 것을 확인할 수 있다.
import 패키지이름.BuildConfig.admob_id
이렇게 해서 manifest에 숨긴 api키 사용하지 못했던 고질병 해결!ㅠㅠㅜ
728x90
반응형
'안드로이드 앱 개발 공부 > 자꾸 까먹어서 적어두는 구현방법' 카테고리의 다른 글
[안드로이드] intent를 사용한 Activity 전환 Kotlin 코틀린 (0) | 2023.08.06 |
---|---|
[Android] App widget 만들기 _ configureActivity + recyclerview (0) | 2023.04.27 |
[Android] Kotlin 리사이클러뷰 스크롤 끝까지 내려갔을 때 (0) | 2023.04.21 |
[Android] 코틀린Kotlin 현재 날짜 가져오기 (0) | 2023.04.03 |
[Android] kotlin 뷰바인딩 ViewBinding (0) | 2023.04.03 |
댓글