Skip to content

Commit 55e435f

Browse files
author
weiqiangliu
committed
Release 2.1.5
1 parent 6f9ed65 commit 55e435f

File tree

9 files changed

+206
-167
lines changed

9 files changed

+206
-167
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
SensorsAnalytics SDK 是国内第一家开源商用版用户行为采集 SDK,目前支持代码埋点、全埋点、App 点击图、可视化全埋点等。目前已累计有 1500 多家付费客户,2500+ 的 App 集成使用,作为 App 数据采集利器,致力于帮助客户挖掘更多的商业价值,为其精准运营和业务支撑提供了可靠的数据来源。其采集全面而灵活、性能良好,并一直保持稳定的迭代,经受住了时间和客户的考验。
1616

1717
## 基本要求
18-
App 元素点击事件要求 React Native 0.23 ~ 0.63;
18+
App 元素点击事件要求 React Native 0.23 ~ 0.66;
1919
App 页面浏览事件要求 React Navigation ^2.0 ~ ^5.0;
20-
App 可视化全埋点要求 React Native 0.46 ~ 0.63;
21-
App 点击事件自定义属性要求 React Native 0.46 ~ 0.63。
20+
App 可视化全埋点要求 React Native 0.46 ~ 0.66;
21+
App 点击事件自定义属性要求 React Native 0.46 ~ 0.66。
2222

2323
## 集成方式
2424
### 安装 React Native 模块

RNSensorsAnalyticsModule.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
Pod::Spec.new do |s|
33
s.name = "RNSensorsAnalyticsModule"
4-
s.version = "2.1.4"
4+
s.version = "2.1.5"
55
s.summary = "The official React Native SDK of Sensors Analytics."
66
s.description = <<-DESC
77
神策分析 RN 组件

SensorsDataRNHook.js

Lines changed: 166 additions & 150 deletions
Large diffs are not rendered by default.

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ public static void addView(View view, int index) {
158158
SAViewProperties properties = viewPropertiesArray.get(view.getId());
159159
if (properties != null) {
160160
properties.setViewClickable(view);
161+
properties.setViewTag(view);
161162
}
162163
}
163164

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.1.4";
31+
public static final String VERSION = "2.1.5";
3232
@Override
3333
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
3434
List<NativeModule> modules = new ArrayList<>();

android/src/main/java/com/sensorsdata/analytics/data/SAViewProperties.java

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,32 +17,53 @@
1717

1818
package com.sensorsdata.analytics.data;
1919

20+
import android.content.Context;
2021
import android.view.View;
2122
import android.widget.ScrollView;
23+
2224
import com.facebook.react.bridge.ReadableMap;
25+
import com.sensorsdata.analytics.android.sdk.SALog;
2326
import com.sensorsdata.analytics.utils.RNUtils;
24-
import android.util.Log;
2527

2628
import org.json.JSONObject;
2729

2830
public class SAViewProperties {
29-
private boolean clickable;
31+
private final static String TAG = "SAViewProperties";
32+
private boolean clickable;
3033
public JSONObject properties;
34+
private int tagKey = 0;
35+
private boolean isSupportSDKVersion = true;
3136

32-
public SAViewProperties(boolean clickable, ReadableMap params){
37+
public SAViewProperties(boolean clickable, ReadableMap params) {
3338
this.clickable = clickable;
3439
this.properties = RNUtils.convertToJSONObject(params);
3540
}
3641

37-
public void setViewClickable(View view){
38-
try{
39-
if(view != null){
40-
if(!(view instanceof ScrollView)){
41-
view.setClickable(clickable);
42+
public void setViewClickable(View view) {
43+
try {
44+
if (view != null && !(view instanceof ScrollView)) {
45+
view.setClickable(clickable);
46+
}
47+
} catch (Exception e) {
48+
SALog.i(TAG, "clickable error:" + e.getMessage());
49+
}
50+
}
51+
52+
public void setViewTag(View view) {
53+
try {
54+
if (view != null && isSupportSDKVersion) {
55+
if (tagKey == 0) {
56+
Context context = view.getContext();
57+
tagKey = context.getResources().getIdentifier("sensors_analytics_tag_view_rn_key", "id", context.getPackageName());
58+
}
59+
if (tagKey != 0) {
60+
view.setTag(tagKey, true);
61+
} else {
62+
isSupportSDKVersion = false;
4263
}
4364
}
44-
}catch (Exception e){
45-
Log.d("SAViewProperties clickable error:", e.getMessage());
65+
} catch (Exception e) {
66+
SALog.i(TAG, "RNView setTag error:" + e.getMessage());
4667
}
4768
}
4869
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ public static void saveScreenAndTitle(String screenName, String title) {
110110
screenProperties = new JSONObject();
111111
screenProperties.put("$title", title);
112112
screenProperties.put("$screen_name", screenName);
113+
screenProperties.put("isSetRNViewTag", true);//标识当前页面已区分 RNView 和原生 View
113114
} catch (Exception ignored) {
114115

115116
}

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.1.4";
35+
NSString *const kSAReactNativePluginVersion = @"react_native:2.1.5";
3636

3737
@implementation RNSensorsAnalyticsModule
3838

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sensorsdata-analytics-react-native",
3-
"version": "2.1.4",
3+
"version": "2.1.5",
44
"private": false,
55
"description": "神策分析 RN 组件",
66
"main": "index.js",

0 commit comments

Comments
 (0)