Skip to content

Commit 5ce4a2e

Browse files
author
weiqiangliu
committed
Release 2.3.4
1 parent 76cbc6b commit 5ce4a2e

File tree

14 files changed

+170
-11
lines changed

14 files changed

+170
-11
lines changed

RNSensorsAnalyticsModule.podspec

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11

22
Pod::Spec.new do |s|
33
s.name = "RNSensorsAnalyticsModule"
4-
s.version = "2.3.3"
4+
s.version = "2.3.4"
55
s.summary = "The official React Native SDK of Sensors Analytics."
66
s.description = <<-DESC
77
神策分析 RN 组件
88
DESC
99
s.homepage = "http://www.sensorsdata.cn"
1010
s.license = { :type => "Apache License, Version 2.0" }
11-
s.author = { "Yuanyang Peng" => "pengyuanyang@sensorsdata.cn" }
12-
s.platform = :ios, "7.0"
11+
s.author = { "YuGuo Chen" => "chenyuguo@sensorsdata.cn" }
12+
s.platform = :ios, "8.0"
1313
s.source = { :git => "https://github.com/sensorsdata/react-native-sensors-analytics.git", :tag => "v#{s.version}" }
1414
s.source_files = "ios/*.{h,m}"
1515
s.requires_arc = true
1616
s.dependency "React"
17-
s.dependency "SensorsAnalyticsSDK", ">= 4.4.1"
17+
s.dependency "SensorsAnalyticsSDK", ">= 4.4.6"
1818

1919
end

android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,5 +40,5 @@ dependencies {
4040
compileOnly 'com.facebook.react:react-native:+'
4141

4242
//添加 Sensors Analytics SDK 依赖
43-
compileOnly 'com.sensorsdata.analytics.android:SensorsAnalyticsSDK:6.4.3'
43+
compileOnly 'com.sensorsdata.analytics.android:SensorsAnalyticsSDK:6.5.1'
4444
}

android/src/main/java/com/sensorsdata/analytics/RNAgent.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,11 +184,11 @@ static void ignoreView() {
184184
}
185185
}
186186

187-
public static JSONObject getDynamicSuperProperties(){
187+
public static JSONObject getDynamicSuperProperties() {
188188
return mDynamicSuperProperties;
189189
}
190190

191-
static void setDynamicSuperProperties(JSONObject dynamicSuperProperties){
191+
static void setDynamicSuperProperties(JSONObject dynamicSuperProperties) {
192192
mDynamicSuperProperties = dynamicSuperProperties;
193193
}
194194
}

android/src/main/java/com/sensorsdata/analytics/RNSensorsAnalyticsModule.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@
3333
import com.sensorsdata.analytics.android.sdk.SALog;
3434
import com.sensorsdata.analytics.android.sdk.SensorsDataAPI;
3535
import com.sensorsdata.analytics.property.RNPropertyManager;
36+
import com.sensorsdata.analytics.property.RNGlobalPropertyPlugin;
3637
import com.sensorsdata.analytics.utils.RNUtils;
38+
import com.sensorsdata.analytics.utils.VersionUtils;
3739

3840
import org.json.JSONObject;
3941

@@ -1037,6 +1039,10 @@ public void init(ReadableMap config) {
10371039
.setAutoTrackEventType(configJson.optInt("auto_track", 0))
10381040
.setFlushBulkSize(configJson.optInt("flush_bulksize", 100))
10391041
.setFlushInterval(configJson.optInt("flush_interval", 15000));
1042+
if (VersionUtils.checkSAVersion("6.4.3")) {
1043+
final JSONObject globalProperties = configJson.optJSONObject("global_properties");
1044+
saConfigOptions.registerPropertyPlugin(new RNGlobalPropertyPlugin(globalProperties));
1045+
}
10401046
JSONObject androidConfig = configJson.optJSONObject("android");
10411047
boolean javascriptBridge = configJson.optBoolean("javascript_bridge", false);
10421048
boolean isSupportJellybean = false;
@@ -1050,6 +1056,7 @@ public void init(ReadableMap config) {
10501056
if (javascriptBridge) {
10511057
saConfigOptions.enableJavaScriptBridge(isSupportJellybean);
10521058
}
1059+
10531060
JSONObject visualizedConfig = configJson.optJSONObject("visualized");
10541061
if (visualizedConfig != null && visualizedConfig.length() > 0) {
10551062
saConfigOptions.enableVisualizedAutoTrack(visualizedConfig.optBoolean("auto_track", false));

android/src/main/java/com/sensorsdata/analytics/RNSensorsAnalyticsPackage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
import java.util.List;
2929

3030
public class RNSensorsAnalyticsPackage implements ReactPackage {
31-
public static final String VERSION = "2.3.3";
31+
public static final String VERSION = "2.3.4";
3232

3333
@Override
3434
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.sensorsdata.analytics.property;
2+
3+
import com.sensorsdata.analytics.android.sdk.plugin.property.SAPropertyPlugin;
4+
import com.sensorsdata.analytics.android.sdk.plugin.property.SAPropertyPluginPriority;
5+
import com.sensorsdata.analytics.android.sdk.plugin.property.beans.SAPropertiesFetcher;
6+
import com.sensorsdata.analytics.android.sdk.plugin.property.beans.SAPropertyFilter;
7+
import com.sensorsdata.analytics.utils.RNUtils;
8+
9+
import org.json.JSONObject;
10+
11+
public class RNGlobalPropertyPlugin extends SAPropertyPlugin {
12+
private JSONObject mGlobalProperties;
13+
14+
public RNGlobalPropertyPlugin(JSONObject golbalProperties){
15+
mGlobalProperties = golbalProperties;
16+
}
17+
18+
@Override
19+
public boolean isMatchedWithFilter(SAPropertyFilter filter) {
20+
return filter.getType().isTrack();
21+
}
22+
23+
@Override
24+
public void properties(SAPropertiesFetcher fetcher) {
25+
RNUtils.mergeJSONObject(mGlobalProperties, fetcher.getProperties());
26+
}
27+
28+
@Override
29+
public SAPropertyPluginPriority priority() {
30+
return SAPropertyPluginPriority.LOW;
31+
}
32+
33+
}

android/src/main/java/com/sensorsdata/analytics/utils/VersionUtils.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import com.sensorsdata.analytics.android.sdk.SALog;
2323
import com.sensorsdata.analytics.android.sdk.SensorsDataAPI;
24+
import com.sensorsdata.analytics.android.sdk.SensorsDataAPIEmptyImplementation;
2425

2526
import java.lang.reflect.Field;
2627

@@ -30,7 +31,12 @@ public class VersionUtils {
3031
public static boolean checkSAVersion(final String requiredVersion) {
3132
try {
3233
SensorsDataAPI sensorsDataAPI = SensorsDataAPI.sharedInstance();
33-
Field field = sensorsDataAPI.getClass().getDeclaredField("VERSION");
34+
Field field;
35+
if (sensorsDataAPI instanceof SensorsDataAPIEmptyImplementation) {
36+
field = sensorsDataAPI.getClass().getSuperclass().getDeclaredField("VERSION");
37+
} else {
38+
field = sensorsDataAPI.getClass().getDeclaredField("VERSION");
39+
}
3440
field.setAccessible(true);
3541
String version = (String) field.get(sensorsDataAPI);
3642
String compareVersion = version;

index.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ declare type Config = {
88
ios: {//iOS 端特有配置
99
max_cache_size?: number //最大缓存条数,默认 10000
1010
},
11+
global_properties?:PropertiesObjectType,// 全局属性
1112
auto_track: SAAutoTrackType,// 全埋点开关,默认不开启
1213
javascript_bridge: boolean,//H5 打通开关,默认 false
1314
flush_interval: number,//数据上报间隔,默认 15*1000 毫秒

ios/RNSensorsAnalyticsModule.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
#import "SAReactNativeManager.h"
3333
#import "SAReactNativeEventProperty.h"
3434

35-
NSString *const kSAReactNativePluginVersion = @"react_native:2.3.3";
35+
NSString *const kSAReactNativePluginVersion = @"react_native:2.3.4";
3636

3737
@implementation RNSensorsAnalyticsModule
3838

ios/RNSensorsAnalyticsModule.xcodeproj/project.pbxproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
452E43642758986E0074530B /* SAReactNativeSwizzler.m in Sources */ = {isa = PBXBuildFile; fileRef = 452E43612758986E0074530B /* SAReactNativeSwizzler.m */; };
1111
4532EFF7275E319600D57554 /* SAReactNativeRootViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4532EFF6275E319600D57554 /* SAReactNativeRootViewManager.m */; };
1212
4535DFF727B24DB700456830 /* SAReactNativeDynamicPropertyPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 4535DFF627B24DB700456830 /* SAReactNativeDynamicPropertyPlugin.m */; };
13+
4D618ED828F27706002F3CCA /* SAReactNativeGlobalPropertyPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D618ED728F27706002F3CCA /* SAReactNativeGlobalPropertyPlugin.m */; };
1314
A18E9FB421A6AEDD00A66E41 /* RNSensorsAnalyticsModule.m in Sources */ = {isa = PBXBuildFile; fileRef = A18E9FB221A6AEDD00A66E41 /* RNSensorsAnalyticsModule.m */; };
1415
FC39004C244715AE00F486A7 /* SAReactNativeManager.m in Sources */ = {isa = PBXBuildFile; fileRef = FC39004B244715AE00F486A7 /* SAReactNativeManager.m */; };
1516
FC6EF7A9259DA6A40099EEB5 /* SAReactNativeEventProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = FC6EF7A8259DA6A40099EEB5 /* SAReactNativeEventProperty.m */; };
@@ -36,6 +37,8 @@
3637
4532EFF6275E319600D57554 /* SAReactNativeRootViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SAReactNativeRootViewManager.m; sourceTree = "<group>"; };
3738
4535DFF527B24DB700456830 /* SAReactNativeDynamicPropertyPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SAReactNativeDynamicPropertyPlugin.h; sourceTree = "<group>"; };
3839
4535DFF627B24DB700456830 /* SAReactNativeDynamicPropertyPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SAReactNativeDynamicPropertyPlugin.m; sourceTree = "<group>"; };
40+
4D618ED628F27706002F3CCA /* SAReactNativeGlobalPropertyPlugin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SAReactNativeGlobalPropertyPlugin.h; sourceTree = "<group>"; };
41+
4D618ED728F27706002F3CCA /* SAReactNativeGlobalPropertyPlugin.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SAReactNativeGlobalPropertyPlugin.m; sourceTree = "<group>"; };
3942
A18E9FA621A6AB4300A66E41 /* libRNSensorsAnalyticsModule.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNSensorsAnalyticsModule.a; sourceTree = BUILT_PRODUCTS_DIR; };
4043
A18E9FB221A6AEDD00A66E41 /* RNSensorsAnalyticsModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNSensorsAnalyticsModule.m; sourceTree = "<group>"; };
4144
A18E9FB321A6AEDD00A66E41 /* RNSensorsAnalyticsModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNSensorsAnalyticsModule.h; sourceTree = "<group>"; };
@@ -73,6 +76,8 @@
7376
A18E9FB221A6AEDD00A66E41 /* RNSensorsAnalyticsModule.m */,
7477
FC9EE66F243731C000C45D16 /* RNSensorsDataModule.h */,
7578
FC9EE670243731C000C45D16 /* RNSensorsDataModule.m */,
79+
4D618ED628F27706002F3CCA /* SAReactNativeGlobalPropertyPlugin.h */,
80+
4D618ED728F27706002F3CCA /* SAReactNativeGlobalPropertyPlugin.m */,
7681
FC39004A244715AE00F486A7 /* SAReactNativeManager.h */,
7782
FC39004B244715AE00F486A7 /* SAReactNativeManager.m */,
7883
FC6EF7A7259DA6A40099EEB5 /* SAReactNativeEventProperty.h */,
@@ -152,6 +157,7 @@
152157
4535DFF727B24DB700456830 /* SAReactNativeDynamicPropertyPlugin.m in Sources */,
153158
FC6EF7A9259DA6A40099EEB5 /* SAReactNativeEventProperty.m in Sources */,
154159
FCD3CF2B25466B7800758260 /* SAReactNativeCategory.m in Sources */,
160+
4D618ED828F27706002F3CCA /* SAReactNativeGlobalPropertyPlugin.m in Sources */,
155161
452E43642758986E0074530B /* SAReactNativeSwizzler.m in Sources */,
156162
FC9EE671243731C000C45D16 /* RNSensorsDataModule.m in Sources */,
157163
4532EFF7275E319600D57554 /* SAReactNativeRootViewManager.m in Sources */,

0 commit comments

Comments
 (0)