<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<!--SDK 권한 추가 시작-->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
<!--SDK 권한 추가 끝-->
<!--네트워크 보안 구성 추가(android:usesCleartextTraffic="true")
android9(API 28)부터 강화된 네트워크 보안정책으로 인해
application에 값(android:usesCleartextTraffic="true")을 삽입합니다.
광고 이미지 url load, 트래킹요소, resource가 http 구성될 수 있으므로 해당옵션을 삽입합니다.-->
<application
...
android:usesCleartextTraffic="true"
...>
...
<!--SDK 연동 키 설정1: PUBLISHER_UID 설정
AndroidManifest.xml 파일에 에 태그를 추가합니다.-->
<meta-data
android:name="net.adwhale.sdk.mediation.PUBLISHER_UID"
android:value="발급받은 PUBLISHER_UID 값" />
<!--SDK 연동 키 설정2: Admob APP ID 설정
AndroidManifest.xml 파일에 에 태그를 추가합니다.-->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="애드웨일이 제공한 Admob APP ID 값" />
...
</application>
</manifest>
proguard-rules.pro난독화 설정
#================== AdWhale Mediation SDK Proguard for Release 적용 코드 시작 ==================
-keepclasseswithmembers class net.adwhale.sdk.mediation.ads.AdWhaleMediationAds {
public static *** init(***);
public static *** init(***, ***);
public static *** setCoppa(***);
public static *** setGdpr(***);
public static *** getGdpr(***);
public static *** requestGdprConsent(***, ***);
public static *** isCoppaApplied();
public static *** getGdprConsentStatus(***);
public static *** resetGdprConsentStatus(***);
public static *** getAdwhaleGDPR(***);
}
-keep interface net.adwhale.sdk.mediation.ads.AdWhaleMediationOnInitCompleteListener {*;}
-keepclasseswithmembers class net.adwhale.sdk.utils.AdWhaleLog {
public static *** setLogLevel(***);
public static *** getLogLevel();
}
-keep class net.adwhale.sdk.mediation.ads.ADWHALE_AD_SIZE {*;}
-keep class net.adwhale.sdk.mediation.ads.ADWHALE_RESULT_CODE {*;}
-keep class net.adwhale.sdk.mediation.ads.ADWHALE_NATIVE_TEMPLATE {*;}
-keep class net.adwhale.sdk.mediation.ads.GdprConsentStatus {*;}
-keep class net.adwhale.sdk.utils.AdWhaleLog$LogLevel{*;}
-keep class net.adwhale.sdk.impl.mediation.ReqMediationAdConfig {*;}
-keep class net.adwhale.sdk.impl.mediation.ResMediationAdConfig {*;}
-keep class net.adwhale.sdk.impl.mediation.ResMediation {*;}
-keepclasseswithmembers class net.adwhale.sdk.mediation.ads.AdWhaleMediationInterstitialAd {
public <init>(...);
public *** loadAd();
public *** showAd();
public *** showAd(***);
public *** setRegion(***);
public *** setGcoder(***, ***);
public *** setPlacementName(***);
public *** destroy();
public *** setAdWhaleMediationInterstitialAdListener(***);
}
-keep interface net.adwhale.sdk.mediation.ads.AdWhaleMediationInterstitialAdListener {*;}
-keepclasseswithmembers class net.adwhale.sdk.mediation.ads.AdWhaleMediationRewardAd {
public <init>(...);
public *** loadAd(***);
public *** showAd(***);
public *** showAd(***, ***);
public *** setRegion(***);
public *** setGcoder(***, ***);
public *** setPlacementName(***);
public *** destroy();
public *** setAdWhaleMediationFullScreenContentCallback(***);
}
-keep class net.adwhale.sdk.mediation.ads.AdWhaleMediationRewardItem {*;}
-keep interface net.adwhale.sdk.mediation.ads.AdWhaleMediationFullScreenContentCallback {*;}
-keep interface net.adwhale.sdk.mediation.ads.AdWhaleMediationRewardedAdLoadCallback {*;}
-keep interface net.adwhale.sdk.mediation.ads.AdWhaleMediationUserEarnedRewardListener {*;}
-keepclasseswithmembers class net.adwhale.sdk.mediation.ads.AdWhaleMediationNativeAdView {
public <init>(...);
public *** loadAdWithBinder(***);
public *** loadAdWithTemplate(***);
public *** show();
public *** setDebugEnabled(***);
public *** setAdWhaleMediationNativeAdViewListener(***);
public *** setPlacementUid(***);
public *** setRegion(***);
public *** setGcoder(***, ***);
public *** resume();
public *** pause();
public *** destroy();
}
-keep class net.adwhale.sdk.mediation.ads.AdWhaleNativeAdBinder {*;}
-keep class net.adwhale.sdk.mediation.ads.AdWhaleNativeAdBinder$Builder {*;}
-keep class net.adwhale.sdk.mediation.ads.AdWhaleMediationNativeTemplateStyle {*;}
-keep class net.adwhale.sdk.mediation.ads.AdWhaleMediationNativeTemplateStyle$Builder {*;}
-keep interface net.adwhale.sdk.mediation.ads.AdWhaleMediationNativeAdViewListener {*;}
-keepclasseswithmembers class net.adwhale.sdk.mediation.ads.AdWhaleMediationAdView {
public <init>(...);
public *** loadAd();
public *** destroy();
public *** setAdWhaleMediationAdViewListener(***);
public *** setAdwhaleAdSize(***);
public *** setPlacementUid(***);
public *** setRegion(***);
public *** setGcoder(***, ***);
public *** setPlacementName(***);
public *** setAdaptiveAnchorWidth(***);
public *** resume();
public *** pause();
}
-keep interface net.adwhale.sdk.mediation.ads.AdWhaleMediationAdViewListener {*;}
-keepclasseswithmembers class net.adwhale.sdk.mediation.ads.AdWhaleMediationAdBannerView {
public <init>(...);
public *** loadAd();
public *** show();
public *** setRegion(***);
public *** setPlacementName(***);
public *** destroy();
public *** setAdWhaleMediationAdBannerViewListener(***);
public *** setAdaptiveAnchorWidth(***);
public *** resume();
public *** pause();
}
-keep interface net.adwhale.sdk.mediation.ads.AdWhaleMediationAdBannerViewListener {*;}
-keepclasseswithmembers class net.adwhale.sdk.mediation.ads.AdWhaleMediationAppOpenAd {
public <init>(...);
public *** loadAd();
public *** showAd(***);
public *** setRegion(***);
public *** setGcoder(***, ***);
public *** setPlacementUid(***);
public *** setPlacementName(***);
public *** destroy();
public *** setAdWhaleMediationAppOpenAdListener(***);
}
-keep interface net.adwhale.sdk.mediation.ads.AdWhaleMediationAppOpenAdListener {*;}
#================== AdWhale Mediation SDK Proguard for Release 적용 코드 끝 ==================