# Adfit adapter consumer ProGuard rules
-keep class com.nasmedia.adfit.AdfitAdapter { public *; protected *; }

# [REQ-AUDIT] AdapterVersionManager가 리플렉션으로 BuildConfig.ADAPTER_VERSION을 읽으므로 R8 제거 방지.
#   미보존 시 어댑터 버전 리포팅(adpv)이 코어 버전으로 오보고된다.
-keep class com.nasmedia.adfit.BuildConfig { public static final java.lang.String ADAPTER_VERSION; }

# [AUDIT-20260714 P4] AdFit SDK + reflection keep를 consumer 규칙으로 미러링(기존엔 module proguard-rules에만 존재).
#   AdfitAssetExtractor가 AdFitNativeAdBinder.nativeAd private 필드를 reflection으로 읽으므로,
#   호스트 R8 full-mode에서 rename 시 네이티브 에셋 추출 실패(NoSuchField) 위험.
-keep class com.kakao.adfit.** { *; }
-dontwarn com.kakao.adfit.**
-keepclassmembers class com.kakao.adfit.ads.na.AdFitNativeAdBinder {
    private com.kakao.adfit.ads.na.NativeAd nativeAd;
}

# [REQ-20260814-PRIVACY] AdFit 3.21.17은 공개 비활성화 API 없이 GAID 원문을 INFO 로그로 출력한다.
# 의존 버전이 고정된 동안 해당 INFO logger 호출만 release R8에서 제거한다. 광고 요청/측정 로직은 유지된다.
-assumenosideeffects class com.kakao.adfit.LIAnQYsA.pd {
    public static void qko(java.lang.String);
}
