# FlutterUmeng **Repository Path**: ZDFoundataion/FlutterUmeng ## Basic Information - **Project Name**: FlutterUmeng - **Description**: umeng flutter版本 - **Primary Language**: Dart - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-08 - **Last Updated**: 2021-03-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # flutterumeng A new Flutter umeng plugin. ## ios 工程配置 ## 1.配置SSO白名单 如果你的应用使用了如SSO授权登录或跳转到第三方分享功能,在iOS9/10下就需要增加一个可跳转的白名单,即LSApplicationQueriesSchemes,否则将在SDK判断是否跳转时用到的canOpenURL时返回NO,进而只进行webview授权或授权/分享失败。在项目中的info.plist中加入应用白名单,右键info.plist选择source code打开(plist具体设置在Build Setting -> Packaging -> Info.plist File可获取plist路径)请根据选择的平台对以下配置进行裁剪: ## 2.配置URL Scheme URL Scheme是通过系统找到并跳转对应app的一类设置,通过向项目中的info.plist文件中加入URL types可使用第三方平台所注册的appkey信息向系统注册你的app,当跳转到第三方应用授权或分享后,可直接跳转回你的app。 添加URL Types可工程设置面板设置 ## android工程配置 ### 1 主工程的androd 的App的 build.grade配置 ### manifestPlaceholders = [qqappid: "xxxxxxx"] #### 2.在主工程配置文件,复制android代码部分的ddshare文件到主工程中 maven { url "https://dl.bintray.com/thelasterstar/maven/" } #### 3 dingalk 的签名 MD5小写且去掉冒号 #### 4 主工程android-build.gradle添加 ``` def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() def plugins = new Properties() def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') if (pluginsFile.exists()) { pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } } allprojects { repositories { ..... flatDir { dirs "${plugins.get("flutterumeng")}android/libs" } ..... } } ``` ### 5 在主工程的AndroidMainFest.xml文件中任意activity里面添加 ``` ``` ### 数据参考格式 | Dart | Java | Kotlin | Obj-C | Swift | | -------------------------- | ------------------- | ----------- | ---------------------------------------------- | --------------------------------------- | | null | null | null | nil (NSNull when nested) | nil | | bool | java.lang.Boolean | Boolean | NSNumber numberWithBool: | NSNumber(value: Bool) | | int | java.lang.Integer | Int | NSNumber numberWithInt: | NSNumber(value: Int32) | | int, if 32 bits not enough | java.lang.Long | Long | NSNumber numberWithLong: | NSNumber(value: Int) | | double | java.lang.Double | Double | NSNumber numberWithDouble: | NSNumber(value: Double) | | String | java.lang.String | String | NSString | String | | Uint8List | byte[] | ByteArray | FlutterStandardTypedData typedDataWithBytes: | FlutterStandardTypedData(bytes: Data) | | Int32List | int[] | IntArray | FlutterStandardTypedData typedDataWithInt32: | FlutterStandardTypedData(int32: Data) | | Int64List | long[] | LongArray | FlutterStandardTypedData typedDataWithInt64: | FlutterStandardTypedData(int64: Data) | | Float64List | double[] | DoubleArray | FlutterStandardTypedData typedDataWithFloat64: | FlutterStandardTypedData(float64: Data) | | List | java.util.ArrayList | List | NSArray | Array | | Map | java.util.HashMap | HashMap | NSDictionary | Dictionary |