# ADGNativeMediationAdapter.create() 経由でリフレクション生成されるクラスの明示保持。
# 背景・保持が必要な理由は ADGNativeMediationAdapter.kt の KDoc を正とする。
-keep class com.socdm.d.adgeneration.adapter.admob.GADAdMobMediation { <init>(); }
-keep class com.socdm.d.adgeneration.adapter.admob.GADAdMobAdvancedMediation { <init>(); }

# :adg/consumer-rules.pro には既に `-keep public class com.socdm.d.adgeneration.** { *; }` があり、
# このクラスも(internal classだがバイトコード上はpublicのため)既にカバーされている可能性が高い。
# それでも、このモジュール単体でリフレクション生成(ADGRewardedAdAdapterFactory)が壊れないことを
# :adgの将来のルール変更に依存せず自己完結的に保証するため、あえてここにも明示しておく
-keep class com.socdm.d.adgeneration.adapter.admob.ADGAdMobRewardedAdMediation { <init>(android.content.Context); }

# リワード API（ADG 2.44.0 で追加）を参照するため、adg-admob-adapter:+ 等で古い ADG と組み合わされたときに
# R8 が Missing class をエラーにしないよう抑止する（リワードを使わないバナーだけのアプリでもビルドが止まるため）。
# 古い ADG ではこのクラスは生成されず、リワードは動かないだけ。版の下限は README / マニュアル（ADG 2.44.0 以上）で案内する。
# 2 行目・3 行目は ADG 2.40.0 以前（同梱 SSCore 3.5.0）に無い型（2.40.0 / 2.42.1 の公開 AAR で実測）
-dontwarn com.socdm.d.adgeneration.rewardedad.**
-dontwarn jp.supership.sscore.rewardedad.**
-dontwarn jp.supership.sscore.adrequest.SSCoreAdRequest$ContentUrlValidation**
