React Native 使用友盟多渠道

1,304 阅读1分钟

配置文件设置

参考链接:blog.csdn.net/k571039838k…

android/app/build.gradle

android {
    defaultConfig {
        ...
        +++
        manifestPlaceholders=[UMENG_CHANNEL_VALUE: "Umeng"]
        flavorDimensions "versionCode"
    }
    ...
    // 配置多渠道包支持
    productFlavors{
      Tencent {//投放应用宝市场
              }
      Baidu {//投放百度市场
      }
      Wandoujia {//投放豌豆荚市场
      }
      Vivo {//投放vivo市场
      }
      Oppo {//投放oppo市场
      }
      Xiaomi {//投放小米市场
      }
      Meizu {//投放魅族市场
      }
      Huawei {//投放华为应用市场
      }
      Lenovo {//投放联想市场
      }
      Letv {//投放乐视市场
      }
      Gionee {//投放金立市场
      }
      HiMarket {//投放安卓市场
      }
    }
    productFlavors.all { flavor ->
        flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }
 
}

android/app/src/main/AndroidManifest.xml

<application> 
    ...
    +++
    <!--友盟-->
    <meta-data android:value="友盟的appkey" android:name="UMENG_APPKEY"/>
    <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />
</application>

MainApplication.java

@Override
public void onCreate() {
    ...
    UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE, "");
}

MainActivity.java

    @Override
    protected void onResume() {
        super.onResume();
        MobclickAgent.onResume(this);
    }

    @Override
    protected void onPause() {
        super.onPause();
        MobclickAgent.onPause(this);
    }

添加友盟多渠道后使用react-native run-android 报错

react-native run-android --variant channelNameDebug
//channelName是渠道的名字,例如Oppo的是
react-native run-android --variant OppoDebug 
//百度的是
react-native run-android --variant BaiduDebug 

注意:基本操作就是以上这些,配置完成后使用打包命令就可以了,正常来说是会打出所有你配置了channel的包,比如Oppo, Baidu等。配置完成后你会发现使用react-native run-android启动不起来了,解决办法如上。