2026-05-05 16:06:32 +08:00
|
|
|
# sdk-im consumer ProGuard rules
|
|
|
|
|
|
|
|
|
|
# ── Public API entry point ────────────────────────────────────────────────────
|
|
|
|
|
-keep class com.xuqm.sdk.im.ImSDK { *; }
|
|
|
|
|
|
|
|
|
|
# ── Event listener interface (app subclasses it) ──────────────────────────────
|
|
|
|
|
-keep interface com.xuqm.sdk.im.listener.ImEventListener { *; }
|
|
|
|
|
-keep class * implements com.xuqm.sdk.im.listener.ImEventListener { *; }
|
|
|
|
|
|
|
|
|
|
# ── All public model / enum classes ───────────────────────────────────────────
|
|
|
|
|
-keep class com.xuqm.sdk.im.model.** { *; }
|
|
|
|
|
|
|
|
|
|
# Enum names are used as strings in JSON (chatType="SINGLE", msgType="TEXT", …)
|
|
|
|
|
-keepclassmembers enum com.xuqm.sdk.im.model.** {
|
|
|
|
|
public static **[] values();
|
|
|
|
|
public static ** valueOf(java.lang.String);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# ── Gson: request/response data classes in api package ───────────────────────
|
|
|
|
|
-keep class com.xuqm.sdk.im.api.** { *; }
|
|
|
|
|
-keepclassmembers class com.xuqm.sdk.im.api.** { *; }
|
|
|
|
|
|
|
|
|
|
# ── STOMP / WebSocket (OkHttp WebSocketListener subclass) ────────────────────
|
|
|
|
|
-keep class com.xuqm.sdk.im.ImClient { *; }
|
|
|
|
|
|
|
|
|
|
-keepattributes Signature
|
|
|
|
|
-keepattributes *Annotation*
|
|
|
|
|
-keepattributes Exceptions
|