多个SDK控制管理

需求:制作一个公共组件,可以实现多个SDK想用哪个用哪个,集中管理

组织方式:

架构形式

实现步骤:

1.Centralization是中央类,所有的sdk都要通过这个类来调
2.新增sdk的话,新建一个文件夹,在里面写代码
3.如果有绑定生命周期,实现IGameCenter接口,且在Centralization里添加
例:

@Override
    public void onResume() {
        Log.d(TAG, "CentralizationImpl--onResume");
        gameCenter.onResume();
        o7Impl.onResume();
        新sdk.onResume();
    }

4.新增sdk实现类要增加如下

    public static final String 变量名 = "键的值";
    private boolean canSdkUsed;

其中键的值和主工程配置文件SdkConfig.properties里要一致,用于管理sdk是否可用

    O7Sdk=false
    gameCenterSdk=false
    键的值=true

并在构造函数里取配置文件的值

     String key = SdkConfig.getInstance().getKey(变量名);
      canSdkUsed = TextUtils.isEmpty(key) ? false : (key.equals("false") ? false : true);
      Log.d(TAG, "GameCenterImpl--canSdkUsed:" + canSdkUsed);

然后每个方法前面都要添加

        if (!canSdkUsed) {
            return;
        }

如果有更好的方案,欢迎留言 

猜你喜欢

转载自www.cnblogs.com/anni-qianqian/p/9025627.html