Skip to content

Commit ccc372d

Browse files
committed
Release 4.2.1
1 parent 9add637 commit ccc372d

File tree

10 files changed

+39
-21
lines changed

10 files changed

+39
-21
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## 4.2.1
2+
3+
* 修复 HarmonyOS SDK 初始化类型判断问题
14
## 4.2.0
25

36
* 修复 HarmonyOS $AppStart 全埋点采集失败问题

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
```yml
1717
dependencies:
1818
# 添加神策 flutter plugin
19-
sensors_analytics_flutter_plugin: ^4.2.0
19+
sensors_analytics_flutter_plugin: ^4.2.1
2020
```
2121
2222
执行 flutter packages get 命令安装插件

example/ohos/entry/oh-package.json5

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"license": "",
88
"dependencies": {
99
"sensors_analytics_flutter_plugin": "file:../har/sensors_analytics_flutter_plugin.har",
10-
// "sensors_analytics_flutter_plugin": "file:../../../../sensors_analytics_flutter_plugin/ohos",
10+
// "sensors_analytics_flutter_plugin": "file:../../../../sensors_analytics_flutter_plugin/ohos",
1111
"@ohos/flutter_ohos": "har/flutter.har"
1212
}
1313
}

example/ohos/oh-package.json5

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@
1818
"@ohos/flutter_module": "file:./entry",
1919
"@sensorsdata/analytics": "file:../../../sa-sdk-harmony-next/SensorsAnalyticsSDK",
2020
"sensors_analytics_flutter_plugin": "file:./har/sensors_analytics_flutter_plugin.har"
21-
// "sensors_analytics_flutter_plugin": "file:../../../sensors_analytics_flutter_plugin/ohos"
21+
// "sensors_analytics_flutter_plugin": "file:../../../sensors_analytics_flutter_plugin/ohos"
2222
}
2323
}

ios/sensors_analytics_flutter_plugin.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#
44
Pod::Spec.new do |s|
55
s.name = 'sensors_analytics_flutter_plugin'
6-
s.version = '4.2.0'
6+
s.version = '4.2.1'
77
s.summary = 'The official flutter iOS plugin of Sensors Analytics.'
88
s.homepage = 'https://www.sensorsdata.cn/'
99
s.license = {

lib/sensors_analytics_flutter_plugin.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ class HarmonyConfig {
6868

6969
// This is the official Flutter Plugin for Sensors Analytics.
7070
class SensorsAnalyticsFlutterPlugin {
71-
static const String FLUTTER_PLUGIN_VERSION = "4.2.0";
71+
static const String FLUTTER_PLUGIN_VERSION = "4.2.1";
7272
static bool hasAddedFlutterPluginVersion = false;
7373

7474
static Future<String?> get getDistinctId async {

ohos/oh-package.json5

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sensors_analytics_flutter_plugin",
3-
"version": "4.0.2",
3+
"version": "4.2.1",
44
"description": "神策分析 SDK Flutter 组件,支持 HarmonyOS 埋点",
55
"keywords": [
66
"神策分析",

ohos/src/main/ets/components/SAFlutterUtils.ts

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ export class SAFlutterUtils extends Object {
6868
* */
6969
static mapToJsonObject<K extends string, V>(map: Map<K, V>): Record<K, V> {
7070
const obj: Record<K, V> = {} as Record<K, V>;
71+
// 增加合法性判断
72+
if (map == null || !(map instanceof Map) || map.size === 0) {
73+
return obj;
74+
}
7175
map.forEach((value, key) => {
7276
obj[key] = value; //逐项赋值
7377
});
@@ -81,20 +85,30 @@ export class SAFlutterUtils extends Object {
8185
* */
8286
static convertMapToJsonObject(map: SAFlutterNestedMap): SAFlutterNestedObject {
8387
const result: SAFlutterNestedObject = {};
84-
map.forEach((value, key) => {
85-
if (value instanceof Map) {
86-
// 递归处理嵌套Map
87-
result[key] = SAFlutterUtils.convertMapToJsonObject(value);
88-
} else if (Array.isArray(value)) {
89-
// 处理数组中的Map元素
90-
result[key] = value.map(item =>
91-
item instanceof Map ? SAFlutterUtils.convertMapToJsonObject(item) : item
92-
);
93-
} else {
94-
// 基础类型直接赋值
95-
result[key] = value;
96-
}
97-
});
88+
// 增加合法性判断
89+
if (map == null || !(map instanceof Map) || map.size === 0) {
90+
return result;
91+
}
92+
try {
93+
map.forEach((value, key) => {
94+
if (value instanceof Map) {
95+
// 递归处理嵌套Map
96+
result[key] = SAFlutterUtils.convertMapToJsonObject(value);
97+
} else if (Array.isArray(value)) {
98+
// 处理数组中的Map元素
99+
result[key] = value.map(item =>
100+
item instanceof Map ? SAFlutterUtils.convertMapToJsonObject(item) : item
101+
);
102+
} else {
103+
// 基础类型直接赋值
104+
result[key] = value;
105+
}
106+
});
107+
} catch (err) {
108+
console.error("convertMapToJsonObject: exception caught", err);
109+
return result;
110+
}
111+
98112
return result;
99113
}
100114
}

ohos/src/main/ets/components/SensorsAnalyticsFlutterPlugin.ets

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -631,6 +631,7 @@ export default class SensorsAnalyticsFlutterPlugin implements FlutterPlugin, Met
631631
}
632632
}
633633

634+
// BatchSendPara 接口定义
634635
interface BatchSendPara {
635636
max_cache_size?: number
636637
flush_interval?: number,

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: sensors_analytics_flutter_plugin
22
description: This is the official flutter plugin for Sensors Analytics,with this plugin you can easily collect your app data on Android and iOS.
3-
version: 4.2.0
3+
version: 4.2.1
44
homepage: "https://github.com/sensorsdata/sensors_analytics_flutter_plugin"
55

66
environment:

0 commit comments

Comments
 (0)