Skip to content

Commit 0b5ab0a

Browse files
author
chenru
committed
Release 2.0.6
1 parent 1cfb61f commit 0b5ab0a

File tree

10 files changed

+424
-103
lines changed

10 files changed

+424
-103
lines changed

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.0.5"
4+
s.version = "2.0.6"
55
s.summary = "The official React Native SDK of Sensors Analytics."
66
s.description = <<-DESC
77
神策分析 RN 组件

SensorsDataRNHook.js

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ var reactNavigationPath = dir + '/react-navigation',
88
reactNavigationPath4X = dir + '/@react-navigation/native/lib/module',
99
reactNavigationPath5X = dir + '/@react-navigation/core/src/BaseNavigationContainer.tsx';
1010
// 自定义变量
11-
// RN 控制点击事件 Touchable.js 源码文件
1211

1312
var reactNavigationReduxCreatePath =[dir +'/react-navigation-redux-helpers/src/reduxify-navigator.js',
1413
dir + '/react-navigation-redux-helpers/src/create-redux-container.js'];
@@ -198,7 +197,17 @@ var sensorsDataHookReduxCreateCode =
198197
var sensorsDataHookReduxMiddleCode = `
199198
if(oldState !== newState){
200199
var type = action.type;
201-
if(!(type == 'Navigation/SET_PARAMS' || type == 'Navigation/COMPLETE_TRANSITION')){
200+
if(type === 'Navigation/BACK' ||
201+
type === 'Navigation/NAVIGATE' ||
202+
type === 'Navigation/POP' ||
203+
type === 'Navigation/POP_TO_TOP' ||
204+
type === 'Navigation/PUSH' ||
205+
type === 'Navigation/RESET' ||
206+
type === 'Navigation/REPLACE' ||
207+
type === 'Navigation/GO_BACK' ||
208+
type === 'Navigation/JUMP_TO' ||
209+
type === 'Navigation/OPEN_DRAWER' ||
210+
type === 'Navigation/CLOSE_DRAWER'){
202211
function getParams(route){
203212
if(!route){
204213
return null;
@@ -254,7 +263,7 @@ var sensorsDataHookReduxMiddleCode = `
254263
var dataModule = ReactNative?.NativeModules?.RNSensorsDataModule;
255264
dataModule?.trackViewScreen && dataModule.trackViewScreen(saProperties);
256265
}
257-
trackViewScreen(newState.nav);
266+
trackViewScreen(navStateSelector(newState));
258267
/* SENSORSDATA HOOK */
259268
}
260269
}
@@ -304,9 +313,9 @@ sensorsdataHookPressabilityClickRN = function () {
304313
// 插入 hook 代码
305314
var hookedContent = `${fileContent.substring(
306315
0,
307-
hookIndex + scriptStr.length
316+
hookIndex
308317
)}\n${sensorsdataClickHookPressabilityCode}\n${fileContent.substring(
309-
hookIndex + scriptStr.length
318+
hookIndex
310319
)}`;
311320
// 备份 Pressability.js 源文件
312321
fs.renameSync(RNClickPressabilityFilePath, `${RNClickPressabilityFilePath}_sensorsdata_backup`);
@@ -738,9 +747,6 @@ sensorsdataHookClickableRN = function (reset = false) {
738747
saElement.type.displayName === 'RCTSegmentedControl'));
739748
if(elementProps.onStartShouldSetResponder || isSegmentedControl) {
740749
var saProps = eachProgress(saElement);
741-
if(saProps){
742-
console.log(saProps);
743-
}
744750
var ReactNative = require('react-native');
745751
var dataModule = ReactNative.NativeModules.RNSensorsDataModule;
746752
dataModule && dataModule.saveViewProperties && dataModule.saveViewProperties(${tagName}, true , saProps);

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

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -633,26 +633,6 @@ public void deleteAll() {
633633
}
634634
}
635635

636-
/**
637-
* 导出 trackChannelEvent 方法给 RN 使用.
638-
*
639-
* @param eventName 事件名称
640-
* @param properties 事件的具体属性 RN 中使用示例:(记录 RN_AddToFav 事件,事件属性
641-
* "ProductID":123456,"UserLevel":"VIP")
642-
* <Button title="Button" onPress={()=>
643-
* RNSensorsAnalyticsModule.trackChannelEvent("RN_AddToFav",{"ProductID":123456,"UserLevel":"VIP"})}>
644-
* </Button>
645-
*/
646-
@ReactMethod
647-
public void trackChannelEvent(String eventName, ReadableMap properties) {
648-
try {
649-
SensorsDataAPI.sharedInstance().trackChannelEvent(eventName, RNUtils.convertToJSONObject(properties));
650-
} catch (Exception e) {
651-
e.printStackTrace();
652-
Log.e(LOGTAG, e.toString() + "");
653-
}
654-
}
655-
656636
/**
657637
* 导出 identify 方法给 RN 使用.
658638
* <p>
@@ -866,6 +846,7 @@ public void getLoginIdPromise(Promise promise) {
866846
* 默认值为 30*1000 毫秒
867847
* 若 App 在后台超过设定事件,则认为当前 Session 结束,发送 $AppEnd 事件
868848
*
849+
* @platform Android
869850
* @param sessionIntervalTime int
870851
*/
871852
@ReactMethod
@@ -878,6 +859,7 @@ public void setSessionIntervalTime(int sessionIntervalTime) {
878859
* 默认值为 30*1000 毫秒
879860
* 若 App 在后台超过设定事件,则认为当前 Session 结束,发送 $AppEnd 事件
880861
*
862+
* @platform Android
881863
* @return 返回设置的 SessionIntervalTime ,默认是 30s
882864
*/
883865
@ReactMethod
@@ -975,6 +957,7 @@ public void setFlushNetworkPolicy(int networkType){
975957
/**
976958
* 设置是否允许请求网络,默认是 true
977959
*
960+
* @platform Android
978961
* @param isRequest boolean
979962
*/
980963
@ReactMethod
@@ -990,6 +973,7 @@ public void enableNetworkRequest(boolean isRequest){
990973
/**
991974
* 是否允许请求网络,默认是 true
992975
*
976+
* @platform Android
993977
* @return 是否允许请求网络
994978
*/
995979
@ReactMethod
@@ -1005,4 +989,21 @@ public void isNetworkRequestEnablePromise(Promise promise){
1005989
promise.reject("isNetworkRequestEnable failed", e);
1006990
}
1007991
}
992+
993+
/**
994+
* 记录 $AppInstall 事件,用于在 App 首次启动时追踪渠道来源,并设置追踪渠道事件的属性。
995+
* 这是 Sensors Analytics 进阶功能,请参考文档 https://sensorsdata.cn/manual/track_installation.html
996+
*
997+
* @param properties 渠道追踪事件的属性
998+
*/
999+
@ReactMethod
1000+
public void trackAppInstall(ReadableMap properties) {
1001+
try {
1002+
//解决版本限制,防止集成旧版本 SDK 没有 trackAppInstall() 方法.
1003+
SensorsDataAPI.sharedInstance().trackInstallation("$AppInstall", RNUtils.convertToJSONObject(properties));
1004+
} catch (Exception e) {
1005+
e.printStackTrace();
1006+
Log.e(LOGTAG, e.toString() + "");
1007+
}
1008+
}
10081009
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616

1717
public class RNSensorsAnalyticsPackage implements ReactPackage {
18-
public static final String VERSION = "2.0.5";
18+
public static final String VERSION = "2.0.6";
1919
@Override
2020
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
2121
List<NativeModule> modules = new ArrayList<>();

0 commit comments

Comments
 (0)