Skip to content

Commit 43f8222

Browse files
author
weiqiangliu
committed
Release 2.3.1
1 parent 5251614 commit 43f8222

File tree

8 files changed

+78
-74
lines changed

8 files changed

+78
-74
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 2.3.1
2+
3+
* Release 模式下,延迟初始化后立即触发事件失败的问题
4+
15
## 2.3.0
26

37
* 支持 Flutter 项目可视化全埋点及自定义属性

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
```yml
1818
dependencies:
1919
# 添加神策 flutter plugin
20-
sensors_analytics_flutter_plugin: ^2.3.0
20+
sensors_analytics_flutter_plugin: ^2.3.1
2121
```
2222
2323
执行 flutter packages get 命令安装插件

example/ios/Podfile.lock

Lines changed: 0 additions & 43 deletions
This file was deleted.

example/lib/main.dart

Lines changed: 63 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,17 @@ class _MyAppState extends State<MyApp> {
1818
@override
1919
void initState() {
2020
super.initState();
21+
22+
// 初始化 SDK
23+
startSensorsAnalyticsSDK();
24+
25+
initPlatformState();
26+
}
27+
28+
void startSensorsAnalyticsSDK() {
2129
SensorsAnalyticsFlutterPlugin.init(
22-
serverUrl: "https://sdkdebugtest.datasink.sensorsdata.cn/sa?project=default&token=cfb8b60e42e0ae9b",
30+
serverUrl:
31+
"https://sdkdebugtest.datasink.sensorsdata.cn/sa?project=default&token=cfb8b60e42e0ae9b",
2332
autoTrackTypes: <SAAutoTrackType>{
2433
SAAutoTrackType.APP_START,
2534
SAAutoTrackType.APP_VIEW_SCREEN,
@@ -40,10 +49,12 @@ class _MyAppState extends State<MyApp> {
4049
encrypt: true,
4150
heatMap: true,
4251
visualized: VisualizedConfig(autoTrack: true, properties: true),
43-
android: AndroidConfig(maxCacheSize: 48 * 1024 * 1024, jellybean: true, subProcessFlush: true),
52+
android: AndroidConfig(
53+
maxCacheSize: 48 * 1024 * 1024,
54+
jellybean: true,
55+
subProcessFlush: true),
4456
ios: IOSConfig(maxCacheSize: 10000),
4557
globalProperties: {'aaa': 'aaa-value', 'bbb': 'bbb-value'});
46-
initPlatformState();
4758
}
4859

4960
// Platform messages are asynchronous, so we initialize in an async method.
@@ -83,22 +94,27 @@ class _MyAppState extends State<MyApp> {
8394
onTap: () {},
8495
),
8596
ListTile(
86-
title: Text('This is the official Flutter Plugin for Sensors Analytics.'),
97+
title: Text(
98+
'This is the official Flutter Plugin for Sensors Analytics.'),
8799
onTap: () {},
88100
),
89101
ListTile(
90102
leading: Icon(Icons.account_circle),
91103
title: Text('注册成功/登录成功时调用 login '),
92104
onTap: () {
93-
SensorsAnalyticsFlutterPlugin.login("flutter_lgoin_test123654", {"hello": "world"});
105+
SensorsAnalyticsFlutterPlugin.login(
106+
"flutter_lgoin_test123654", {"hello": "world"});
94107
},
95108
),
96109
ListTile(
97110
leading: Icon(Icons.event),
98111
title: Text('触发激活事件 trackInstallation '),
99112
onTap: () {
100113
SensorsAnalyticsFlutterPlugin.trackInstallation(
101-
'AppInstall', <String, dynamic>{"a_time": DateTime.now(), "product_name": "Apple 12 max pro"});
114+
'AppInstall', <String, dynamic>{
115+
"a_time": DateTime.now(),
116+
"product_name": "Apple 12 max pro"
117+
});
102118
},
103119
),
104120
ListTile(
@@ -127,22 +143,24 @@ class _MyAppState extends State<MyApp> {
127143
// "a_time": DateTime.now(),
128144
// "product_name": "Apple 12 max pro"
129145
// });
130-
var map = { "address": "beijing"};
146+
var map = {"address": "beijing"};
131147
SensorsAnalyticsFlutterPlugin.track("hello", map);
132148
},
133149
),
134150
ListTile(
135151
leading: Icon(Icons.assessment),
136152
title: Text('设置用户属性 profileSet2'),
137153
onTap: () {
138-
SensorsAnalyticsFlutterPlugin.profileSet({'Age': 18, 'Sex': 'Male', "a_time": DateTime.now()});
154+
SensorsAnalyticsFlutterPlugin.profileSet(
155+
{'Age': 18, 'Sex': 'Male', "a_time": DateTime.now()});
139156
},
140157
),
141158
ListTile(
142159
leading: Icon(Icons.assessment),
143160
title: Text('设置用户推送 ID 到用户表'),
144161
onTap: () {
145-
SensorsAnalyticsFlutterPlugin.profilePushId("jgId", "12312312312");
162+
SensorsAnalyticsFlutterPlugin.profilePushId(
163+
"jgId", "12312312312");
146164
},
147165
),
148166
ListTile(
@@ -153,20 +171,23 @@ class _MyAppState extends State<MyApp> {
153171
},
154172
),
155173
ListTile(
156-
title: Text('https://github.com/sensorsdata/sensors_analytics_flutter_plugin'),
174+
title: Text(
175+
'https://github.com/sensorsdata/sensors_analytics_flutter_plugin'),
157176
onTap: () {},
158177
),
159178
ListTile(
160179
title: Text('set server url'),
161180
onTap: () async {
162181
SensorsAnalyticsFlutterPlugin.setServerUrl(
163-
"https://newsdktest.datasink.sensorsdata.cn/sa?project=zhujiagui&token=5a394d2405c147ca", true);
182+
"https://newsdktest.datasink.sensorsdata.cn/sa?project=zhujiagui&token=5a394d2405c147ca",
183+
true);
164184
},
165185
),
166186
ListTile(
167187
title: Text('getPresetProperties'),
168188
onTap: () async {
169-
dynamic map = await SensorsAnalyticsFlutterPlugin.getPresetProperties();
189+
dynamic map =
190+
await SensorsAnalyticsFlutterPlugin.getPresetProperties();
170191
print("getPresetProperties===$map");
171192
},
172193
),
@@ -180,7 +201,8 @@ class _MyAppState extends State<MyApp> {
180201
ListTile(
181202
title: Text('setFlushNetworkPolicy'),
182203
onTap: () async {
183-
SensorsAnalyticsFlutterPlugin.setFlushNetworkPolicy(<SANetworkType>{SANetworkType.TYPE_WIFI});
204+
SensorsAnalyticsFlutterPlugin.setFlushNetworkPolicy(
205+
<SANetworkType>{SANetworkType.TYPE_WIFI});
184206
print("setFlushNetworkPolicy===");
185207
},
186208
),
@@ -194,7 +216,8 @@ class _MyAppState extends State<MyApp> {
194216
ListTile(
195217
title: Text('getFlushInterval'),
196218
onTap: () async {
197-
dynamic result = await SensorsAnalyticsFlutterPlugin.getFlushInterval();
219+
dynamic result =
220+
await SensorsAnalyticsFlutterPlugin.getFlushInterval();
198221
print("getFlushInterval===$result");
199222
},
200223
),
@@ -204,34 +227,41 @@ class _MyAppState extends State<MyApp> {
204227
SensorsAnalyticsFlutterPlugin.setFlushInterval(60 * 60 * 1000);
205228
SensorsAnalyticsFlutterPlugin.setFlushBulkSize(100);
206229
print("setFlushBulkSize===");
207-
dynamic result = await SensorsAnalyticsFlutterPlugin.getFlushBulkSize();
230+
dynamic result =
231+
await SensorsAnalyticsFlutterPlugin.getFlushBulkSize();
208232
print("getFlushBulkSize===$result");
209233
for (int index = 0; index <= 100; index++) {
210234
SensorsAnalyticsFlutterPlugin.track(
211-
'ViewProduct2', <String, dynamic>{"a_time": DateTime.now(), "product_name": "Apple 12 max pro"});
235+
'ViewProduct2', <String, dynamic>{
236+
"a_time": DateTime.now(),
237+
"product_name": "Apple 12 max pro"
238+
});
212239
}
213240
print("track end=====");
214241
},
215242
),
216243
ListTile(
217244
title: Text('getFlushBulkSize'),
218245
onTap: () async {
219-
dynamic result = await SensorsAnalyticsFlutterPlugin.getFlushBulkSize();
246+
dynamic result =
247+
await SensorsAnalyticsFlutterPlugin.getFlushBulkSize();
220248
print("getFlushBulkSize===$result");
221249
},
222250
),
223251
ListTile(
224252
title: Text('getAnonymousId'),
225253
onTap: () async {
226-
dynamic result = await SensorsAnalyticsFlutterPlugin.getAnonymousId();
254+
dynamic result =
255+
await SensorsAnalyticsFlutterPlugin.getAnonymousId();
227256
print("getAnonymousId===$result");
228257
},
229258
),
230259
ListTile(
231260
title: Text('getLoginId'),
232261
onTap: () async {
233262
//SensorsAnalyticsFlutterPlugin.login("aa212132");
234-
dynamic result = await SensorsAnalyticsFlutterPlugin.getLoginId();
263+
dynamic result =
264+
await SensorsAnalyticsFlutterPlugin.getLoginId();
235265
print("getLoginId===$result");
236266
},
237267
),
@@ -245,14 +275,16 @@ class _MyAppState extends State<MyApp> {
245275
ListTile(
246276
title: Text('trackAppInstall'),
247277
onTap: () async {
248-
SensorsAnalyticsFlutterPlugin.trackAppInstall({"age": 888}, false);
278+
SensorsAnalyticsFlutterPlugin.trackAppInstall(
279+
{"age": 888}, false);
249280
print("trackAppInstall==");
250281
},
251282
),
252283
ListTile(
253284
title: Text('trackTimerStart'),
254285
onTap: () async {
255-
tmpResult = await SensorsAnalyticsFlutterPlugin.trackTimerStart("hello_event");
286+
tmpResult = await SensorsAnalyticsFlutterPlugin.trackTimerStart(
287+
"hello_event");
256288
print("trackTimerStart===$tmpResult");
257289
},
258290
),
@@ -301,7 +333,10 @@ class _MyAppState extends State<MyApp> {
301333
ListTile(
302334
title: Text('setsuperproperties'),
303335
onTap: () async {
304-
var map = {"superproperties_test": "flutter 注册公共属性", "aaa": "同名公共属性 aaa"};
336+
var map = {
337+
"superproperties_test": "flutter 注册公共属性",
338+
"aaa": "同名公共属性 aaa"
339+
};
305340
SensorsAnalyticsFlutterPlugin.registerSuperProperties(map);
306341
print("setSuperProperties===");
307342
},
@@ -310,7 +345,8 @@ class _MyAppState extends State<MyApp> {
310345
title: Text('getSuperProperties'),
311346
onTap: () async {
312347
var a = 10;
313-
dynamic map = await SensorsAnalyticsFlutterPlugin.getSuperProperties();
348+
dynamic map =
349+
await SensorsAnalyticsFlutterPlugin.getSuperProperties();
314350
print("getSuperProperties===$map");
315351
},
316352
),
@@ -324,7 +360,8 @@ class _MyAppState extends State<MyApp> {
324360
ListTile(
325361
title: Text('itemSet'),
326362
onTap: () async {
327-
SensorsAnalyticsFlutterPlugin.itemSet("aaatype", "aaaid", {"age": 999});
363+
SensorsAnalyticsFlutterPlugin.itemSet(
364+
"aaatype", "aaaid", {"age": 999});
328365
print("itemSet===");
329366
},
330367
),
@@ -338,7 +375,8 @@ class _MyAppState extends State<MyApp> {
338375
ListTile(
339376
title: Text('isNetworkRequestEnable'),
340377
onTap: () async {
341-
dynamic result = await SensorsAnalyticsFlutterPlugin.isNetworkRequestEnable();
378+
dynamic result = await SensorsAnalyticsFlutterPlugin
379+
.isNetworkRequestEnable();
342380
print("isNetworkRequestEnable===$result");
343381
},
344382
),

ios/Classes/SensorsAnalyticsFlutterPlugin.m

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -675,9 +675,14 @@ - (void)startWithConfig:(NSDictionary *)config {
675675
SAFlutterGlobalPropertyPlugin *propertyPlugin = [[SAFlutterGlobalPropertyPlugin alloc] initWithGlobleProperties:properties];
676676
[options registerPropertyPlugin:propertyPlugin];
677677
}
678-
dispatch_async(dispatch_get_main_queue(), ^{
678+
679+
if (NSThread.isMainThread) {
679680
[SensorsAnalyticsSDK startWithConfigOptions:options];
680-
});
681+
} else {
682+
dispatch_async(dispatch_get_main_queue(), ^{
683+
[SensorsAnalyticsSDK startWithConfigOptions:options];
684+
});
685+
}
681686
}
682687

683688
static inline void argumentSetNSNullToNil(id *arg){

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 = '2.3.0'
6+
s.version = '2.3.1'
77
s.summary = 'A new flutter plugin project.'
88
s.description = <<-DESC
99
A new flutter plugin project.

lib/sensors_analytics_flutter_plugin.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class VisualizedConfig {
3737

3838
// This is the official Flutter Plugin for Sensors Analytics.
3939
class SensorsAnalyticsFlutterPlugin {
40-
static const String FLUTTER_PLUGIN_VERSION = "2.3.0";
40+
static const String FLUTTER_PLUGIN_VERSION = "2.3.1";
4141
static bool hasAddedFlutterPluginVersion = false;
4242

4343
static Future<String?> get getDistinctId async {

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: 2.3.0
3+
version: 2.3.1
44
homepage: "https://github.com/sensorsdata/sensors_analytics_flutter_plugin"
55

66
environment:

0 commit comments

Comments
 (0)