-keep class com.fyber.inneractive.sdk.** {*;}
-dontwarn com.fyber.inneractive.sdk.**
-keepclassmembers class com.fyber.inneractive.sdk.** {*;}
-keepclassmembers class com.fyber.inneractive.sdk.rtb.nativead.** {*;}

-dontwarn com.google.android.gms.**

# for Google play services – general – based on Google's documentation
-keep class * extends java.util.ListResourceBundle
{ protected Object[][] getContents(); }
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable
{ public static final *** NULL; }
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class *
{ @com.google.android.gms.common.annotation.KeepName *; }
-keepnames class * implements android.os.Parcelable
{ public static final ** CREATOR; }

# for google play services, to support Inneractive’s reflection
-keep class com.google.android.gms.common.GooglePlayServicesUtil
{ int isGooglePlayServicesAvailable (android.content.Context); }

-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient
{ static com.google.android.gms.ads.identifier.AdvertisingIdClient$Info getAdvertisingIdInfo(android.content.Context);}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info
{ *; }
-keep class com.google.android.gms.common.GoogleApiAvailability
{ static com.google.android.gms.common.GoogleApiAvailability getInstance(); int isGooglePlayServicesAvailable(android.content.Context);}

-assumenosideeffects class com.fyber.inneractive.sdk.util.IAlog {
    public static void v(...);
    public static void i(...);
    # Keep warnning
    # public static void w(...);
    public static void d(...);
    # Keep errors
    # public static void e(...);
}