startGravityEngine method

  1. @override
Future<void> startGravityEngine(
  1. String accessToken, [
  2. SDKRunMode mode = SDKRunMode.NORMAL,
  3. int foregroundSessionThreshold = 0,
  4. bool enableImei = true,
  5. bool enableOaid = true,
  6. bool enableAndroidId = true,
  7. bool enableMAC = true,
  8. List<SDKClientIdType>? mClientIdPriorityOrder,
])
override

手动初始化 Gravity Engine SDK

项目token SDK运行模式(默认为正常模式) 是否采集 imei,仅支持 Android,默认true(选填) 是否采集 oaid,仅支持 Android,默认true(选填) 是否采集 android_id,仅支持 Android,默认true(选填) 是否采集 mac,仅支持 Android,默认true(选填) 自动生成clientID时,取值的类型顺序,仅支持 Android,鸿蒙,默认 "OAID,ANDROID_ID"(选填) 设置前台会话阀值(频繁切换前后台,AppEnd时间会很小,可以设置这个值忽略这种操作),默认0(选填)

Implementation

@override
Future<void> startGravityEngine(
  String accessToken, [
  SDKRunMode mode = SDKRunMode.NORMAL,
  int foregroundSessionThreshold = 0,
  bool enableImei = true,
  bool enableOaid = true,
  bool enableAndroidId = true,
  bool enableMAC = true,
  List<SDKClientIdType>? mClientIdPriorityOrder,
]) async {
  try {
    methodChannel.invokeMethod('ge_setCustomerLibInfo', {
      'libName': platformName(),
      'libVersion': platformVersion(),
    });

    List<int> mClientIdPriorityOrderInts  = List.empty();
    if(mClientIdPriorityOrder != null && mClientIdPriorityOrder.isNotEmpty){
      mClientIdPriorityOrderInts = valuesForClientTypes(mClientIdPriorityOrder);
    }

    methodChannel.invokeMethod('ge_setupAndStart', {
      'accessToken': accessToken,
      'enableImei': enableImei,
      'enableOaid': enableOaid,
      'enableAndroidId': enableAndroidId,
      'enableMAC': enableMAC,
      'mode': mode.index,
      'foregroundSessionThreshold': foregroundSessionThreshold,
      'mClientIdPriorityOrder': mClientIdPriorityOrderInts,
    });
  } on PlatformException catch (e) {
    print('startGravityEngine fail: ${e.message}');
  }
}