2025년 9월 23일 카카오 사태가 벌어졌다. 나는 다행히 앱스토어 설정에 들어가서 자동업데이트를 비활성해서 이번 사태를 잠깐 피해갈 수 있었다. 하지만 유튜브를 보다보니까 이번에 업데이트를 이미 한 사람들에게 나의 프로필이 까발려 진다는 것을 알게되었다. 내 친구한테 알려지는 건 좋은데 카카오톡은 내가 전혀 모르는 사람이나 싫은 사람, 업무적인 사람들 연락처에 있는 모든 사람이나 전화 번호가 변경되서 모르는 사람들도 친구 목록에 표시가 된다. 그런 모든 사람들에게 내 사생활을 강제로 공개되도록 해버렸다는 거에 공포를 느꼈다. 프로필 탭으로 이동해서 내 프로필에서 오른쪽 상단에 설정 버튼이 있고 그걸 클릭하면 프로필 설정들이 있고 거기서 옵션들을 비활성 해주자 “프로필 인증배지 표시”, “내 프로필 검색”, “내 홈 표시” 모두 비활성 해줬다. 솔직히 앞으로 이번 사태 이전으로 롤백을 시키지 않는한 앞으로 프로필에 사진을 올릴거 같지 않다. 이미 앱은 배포가 되었고 이 사태가 벌어진 버전의 앱을 업데이트 하지 않고 사용하는 사람들이 많을것이다. (보통은 앱을 배포 하고 강제로 업데이트 유도하지 않는 이상 앱을 업데이트 하지 않는 사람들이 많다.) 만약에 더 프로필 공개에 공포를 느낀다면 프로필에 올린 이미지들을 당장 지우자. *추가* 숏폼과 오픈채팅을 합쳐놓은 것도 참 거지같은 짓을 한거라고 생각한다. 오픈채팅에 개발이나 다이어트나 여러가지 같은 관심을 가진 사람들이 단체 톡방에 들어가서 커뮤니티를 하고 계실거다. 나도 개발 단체톡방에 들어가서 대화를 하는데 왜 그걸 합쳐놔서 오픈채팅을 들어가기 위해서 무조건 숏폼을 강제로 봐야 한다는 건 참 별로다. *추가 2* 벌서 온갖 야시시 하고 폭력적인 숏폼에 노출되고 있...
+ 추가 : 애드몹 레이아웃의 높이가 50dp 는 되어야 한다, iOS 생각해서 44dp 로 했는데 이미지가 보이지 않았다
기본적으로 어렵지 않다 (안드로이드 스튜디오 1.1.0 버전에서 진행)
기본적으로 어렵지 않다 (안드로이드 스튜디오 1.1.0 버전에서 진행)
방법은 아래의 링크를 참조하면서 하면 금방 진행한다.
기존 admob 라이브러리와 google play 라이브러리로 admob로 마이그레이션 할때
안드로이드 스튜디오의 build.gradle 파일에 아래와 같이 googleplay 라이브러리가 추가되어 있는지 확인해주고
dependencies {
compile 'com.google.android.gms:play-services:6.5.87'
}
메니페스트에 아래의 권한을 확인해주고
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
메니페스트 파일에 아래처럼 메타데이터도 추가해준다.
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
그리고 Activity 도 추가해준다.
<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:theme="@android:style/Theme.Translucent" />
레이아웃에 추가하는 경우 아래처럼 넣어주자
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
ads:adSize="BANNER"
ads:adUnitId="@string/banner_ad_unit_id">
</com.google.android.gms.ads.AdView>
다만 애드몹 뷰가 쓰이는 가장 최상위 레이아웃에 아래의 빨간색 부분을 추가해준다.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/darkcyan"
android:focusable="false"
android:focusableInTouchMode="false"
xmlns:ads="http://schemas.android.com/apk/res-auto">
admob key 를 추가해줘야 하는데 String 리소스에 추가를 해줘도 된다.
소스에서 아래처럼 adRequest 를 추가 (AdListener 는 안해줘도 된다.)
// AdMod
mAdView = (AdView) findViewById(R.id.adView);
adRequest = new AdRequest.Builder().build();
mAdView.setAdListener(new AdListener() {
@Override
public void onAdFailedToLoad(int errorCode) {
super.onAdFailedToLoad(errorCode);
DebugLog.debug(myContext, "onAdFailedToLoad");
}
@Override
public void onAdLoaded() {
super.onAdLoaded();
DebugLog.debug(myContext, "onAdLoaded");
}
@Override
public void onAdOpened() {
super.onAdOpened();
DebugLog.debug(myContext, "onAdLoaded");
}
@Override
public void onAdClosed() {
super.onAdClosed();
DebugLog.debug(myContext, "onAdClosed");
}
});
mAdView.loadAd(adRequest);
다음은 테스트 기기나 시뮬레이터는 앱을 실행할 때, 로그를 보면
Use AdRequest.Builder.addTestDevice("F5E2AEA75895BA7398A5C1FC464680A6") to get test ads on this device.
이런 로그가 나오는데
그 로그를 아래처럼 넣어줘야한다
adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("F5E2AEA75895BA7398A5C1FC464680A6")
.build();