From aac0c6e6d5d671b67e1a9893ea2c9b19c7609675 Mon Sep 17 00:00:00 2001 From: yangzhankun <994914624@qq.com> Date: Sat, 22 Jun 2019 12:01:12 +0800 Subject: [PATCH] add registerSuperProperties methods --- .../analytics/RNSensorsAnalyticsModule.java | 69 ++++++++++++++++++- 1 file changed, 67 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/sensorsdata/analytics/RNSensorsAnalyticsModule.java b/android/src/main/java/com/sensorsdata/analytics/RNSensorsAnalyticsModule.java index 917f16e..c463210 100755 --- a/android/src/main/java/com/sensorsdata/analytics/RNSensorsAnalyticsModule.java +++ b/android/src/main/java/com/sensorsdata/analytics/RNSensorsAnalyticsModule.java @@ -479,7 +479,7 @@ public void getDistinctId(Callback successCallback, Callback errorCallback) { /** * 导出 getDistinctIdPromise 方法给 RN 使用. *
- * 删除当前这个用户的所有记录. + * Promise 方式,获取 distinctId *
* RN 中使用示例: * async getDistinctIdPromise() { @@ -505,7 +505,7 @@ public void getDistinctIdPromise(Promise promise){ /** * 导出 getAnonymousIdPromise 方法给 RN 使用. *
- * 删除当前这个用户的所有记录. + * Promise 方式 getAnonymousId 获取匿名 ID. *
* RN 中使用示例: * async getAnonymousIdPromise() { @@ -522,4 +522,69 @@ public void getAnonymousIdPromise(Promise promise){ promise.reject("getDistinctId fail",e); } } + + /** + * 导出 registerSuperProperties 方法给 RN 使用. + * + * @param properties 要设置的公共属性 + *
+ * RN 中使用示例:(设置公共属性 "Platform":"Android") + * + */ + @ReactMethod + public void registerSuperProperties(ReadableMap properties) { + try { + SensorsDataAPI.sharedInstance().registerSuperProperties(convertToJSONObject(properties)); + } catch (Exception e) { + e.printStackTrace(); + Log.e(LOGTAG, e.toString() + ""); + } + } + + /** + * 导出 unregisterSuperProperty 方法给 RN 使用. + * + * @param property 要删除的公共属性属性 + *
+ * RN 中使用示例:(删除公共属性 "Platform") + * + */ + @ReactMethod + public void unregisterSuperProperty(String property) { + try { + SensorsDataAPI.sharedInstance().unregisterSuperProperty(property); + } catch (Exception e) { + e.printStackTrace(); + Log.e(LOGTAG, e.toString() + ""); + } + } + + /** + * 导出 clearSuperProperties 方法给 RN 使用. + * + *
+ * RN 中使用示例:(删除所有已设置的公共属性) + * + */ + @ReactMethod + public void clearSuperProperties() { + try { + SensorsDataAPI.sharedInstance().clearSuperProperties(); + } catch (Exception e) { + e.printStackTrace(); + Log.e(LOGTAG, e.toString() + ""); + } + } }