MallSDK集成方式

介绍

此SDK用于商城集成

准备工作

1.在APP的module中libs添加mallSdk-x.x.x.aar

SDK添加实例

2.添加依赖与权限

  • 在工程gradle文件中添加
maven { url "https://jitpack.io" }
  • 项目gradle文件中添加
repositories{
        flatDir {
            dirs 'libs'
        }
    }

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
implementation 'com.android.support:design:28.0.0'
implementation(name: 'mallsdk-x.x.x', ext: 'aar')
  • 工程AndroidManifest文件中添加
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />

使用说明

1.初始化

  • 继承Application
public class MyApp extends Application {

}
  • 在AndroidManifest中添加name
 <application
        android:name=".MyApp"
  • 在Application中onCreate初始化
public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        /**
         * @param ccontext 上下文
         * @param merchantId 商户号 
         *@param isProduct 是否是生产地址   
         */
        MallSdk.getInstance().registerMerchantNum(this,"M0000072",false);
    }
}

2.类和方法的说明

  • 进入SDK主页面的类和方法
    /**
     * @param ccontext 上下文
     * @param type 根据不同类型跳转不同展示页
     *             CToMall.HOME  跳转首页
     *             CToMall.SORT  跳转分类
     *             CToMall.CART  跳转购物车
     *             CToMall.MINE  跳转我的
     */
CToMall.getInstance().toMall(Context context, int type);

  • 主动登录方法
     /**
      * @param ccontext 上下文
      * @param type 根据不同类型不同的登录方式
      *             LoginManager.LOGIN_PHONE  通过手机号码登录
      *             LoginManager.LOGIN_ID     通过id登录
      * @param loginCode 手机号码或者id            
      */
LoginManager.getInstance().logInMallLogin(ontext context,int type,String loginCode);

  • 被动登录方法(sdk需要登录才能查看的页面,如果没有登录的情况下点击会调用此方法,此方法中可编写跳转登录页面或者直接调用主动登录方法)
 LoginManager.getInstance().setLoginListener(new OnLoginListener() {
            @Override
            public void onLogin() {
             // 添加登录逻辑  可添加跳转登录页面  或者  主动登录的方法
            }
        });
  • 登录成功或失败的监听
LoginManager.getInstance().setLoginActionListener(new OnLoginActionListener() {
            @Override
            public void onLoginSuccess() {
                //登录成功
            }

            @Override
            public void onLoginFail() {
               // 登录失败
            }
        });
  • 支付的调用(根据需求可能此方法在需求中并不适用)
 MallSdk.getInstance().setOnPayListener(new MallSdk.OnPayListener() {
            @Override
            public void onPay(String type, String data, CallBackFunction function) {
               
            }
        });

3.关于引用冲突

  • 在工程gradle文件中添加android{ }中添加
configurations {
        all*.exclude  module: 'okhttp'
        all*.exclude  module: 'okio'
        all*.exclude  module: 'logging-interceptor'
        all*.exclude  module: 'retrofit'
        all*.exclude  module: 'converter-gson'
        all*.exclude  module: 'fastjson'
        all*.exclude  module: 'exifinterface'
        all*.exclude  module: 'transition'
        all*.exclude  module: 'ucrop'
    }

\color{red}{注意:如果出现引用冲突再添加,没有出现引用冲突可以不予理会,\\根据实际情况自由删减}

关于混淆

-dontwarn com.bluewhale.sdk.**
-keep class com.bluewhale.sdk.**
-keep class com.bluewhale.sdk.**{ *; }
-dontwarn com.alibaba.fastjson.**
-keep class com.alibaba.fastjson.** { *; }
-keepattributes Signature
-keepattributes *Annotation* 
-dontwarn retrofit.**
-keep class retrofit.** { *; }
-keepattributes Signature
-keepattributes Exceptions
-dontwarn com.squareup.okhttp3.**
-keep class com.squareup.okhttp3.** { *;}
-dontwarn okio.**
-dontwarn com.yalantis.**
-keep class com.yalantis.** { *; }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。