# sdk-push consumer ProGuard rules # ── Public API entry point ──────────────────────────────────────────────────── -keep class com.xuqm.sdk.push.PushSDK { *; } # ── Model classes ───────────────────────────────────────────────────────────── -keep class com.xuqm.sdk.push.model.PushVendor { *; } -keep class com.xuqm.sdk.push.model.PushRegistrationSnapshot { *; } # ── Firebase Messaging Service — Android resolves it by class name ──────────── -keep class com.xuqm.sdk.push.fcm.XuqmFirebaseMessagingService { *; } -keep class com.xuqm.sdk.push.huawei.XuqmHuaweiPushService { *; } -keep class com.xuqm.sdk.push.honor.XuqmHonorPushService { *; } -keep class com.xuqm.sdk.push.vivo.XuqmVivoPushReceiver { *; } -keep class com.xuqm.sdk.push.xiaomi.XuqmXiaomiPushReceiver { *; } # ── Vendor push services — instantiated via reflection inside PushSDK ───────── -keep class com.xuqm.sdk.push.vendor.** { *; } # ── Enum values used as strings ─────────────────────────────────────────────── -keepclassmembers enum com.xuqm.sdk.push.model.PushVendor { public static **[] values(); public static ** valueOf(java.lang.String); } -keepattributes Signature -keepattributes *Annotation* -keepattributes Exceptions -keepattributes InnerClasses, EnclosingMethod # ── Optional deps (compileOnly) — suppress R8 missing-class warnings ────────── -dontwarn com.google.android.gms.** -dontwarn com.google.firebase.** -dontwarn com.huawei.** -dontwarn com.hihonor.** -dontwarn io.github.hebeiliang.** -dontwarn com.umeng.** -dontwarn com.heytap.** -dontwarn com.vivo.**