Skip to content

Commit 05d975f

Browse files
author
weiqiangliu
committed
Release 0.1.2
1 parent 32cb92f commit 05d975f

File tree

9 files changed

+82
-23
lines changed

9 files changed

+82
-23
lines changed

.idea/workspace.xml

Lines changed: 0 additions & 12 deletions
This file was deleted.
1.55 KB
Binary file not shown.

Sensorsdata-UniPlugin-App/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "Sensorsdata-UniPlugin-App",
33
"id": "Sensorsdata-UniPlugin-App",
4-
"version": "0.1.1",
4+
"version": "0.1.2",
55
"description": "插件描述信息",
66
"_dp_type": "nativeplugin",
77
"_dp_nativeplugin": {
@@ -21,8 +21,8 @@
2121
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>"
2222
],
2323
"dependencies": [
24-
"com.sensorsdata.analytics.android:SensorsAnalyticsSDK:6.6.3",
25-
"com.sensorsdata.analytics.android:SensorsFocusSDK:0.5.5"
24+
"com.sensorsdata.analytics.android:SensorsAnalyticsSDK:6.6.6",
25+
"com.sensorsdata.analytics.android:SensorsFocusSDK:0.6.3"
2626
],
2727
"parameters": {
2828
}

android/SensorsdataUniPlugin/build.gradle

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ dependencies {
3434
compileOnly 'com.alibaba:fastjson:1.1.46.android'
3535

3636
compileOnly fileTree(dir: 'libs', include: ['uniapp-v8-release.aar'])
37-
compileOnly 'com.sensorsdata.analytics.android:SensorsAnalyticsSDK:6.6.3'
37+
// compileOnly fileTree(dir: 'libs', include: ['SensorsFocusSDK.aar'])
38+
compileOnly 'com.sensorsdata.analytics.android:SensorsAnalyticsSDK:6.6.6'
3839
compileOnly 'com.alibaba:fastjson:1.1.46.android'
39-
compileOnly 'com.sensorsdata.analytics.android:SensorsFocusSDK:0.5.5'
40+
//SF Android SDK 点击回调优化发版后需要修改为该版本
41+
compileOnly 'com.sensorsdata.analytics.android:SensorsFocusSDK:0.6.3'
4042
}

android/SensorsdataUniPlugin/src/main/java/com/sensorsdata/uniapp/UniSensorsAnalyticsModule.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
import com.sensorsdata.analytics.android.sdk.SensorsDataAPIEmptyImplementation;
2727
import com.sensorsdata.sf.core.SFConfigOptions;
2828
import com.sensorsdata.sf.core.SensorsFocusAPI;
29+
import com.sensorsdata.sf.core.entity.SFCampaign;
30+
import com.sensorsdata.sf.ui.listener.SensorsFocusCampaignListener;
2931
import com.sensorsdata.uniapp.property.UniPropertyManager;
3032
import com.sensorsdata.uniapp.sf.UniCampaignListener;
3133
import com.sensorsdata.uniapp.sf.UniPopupListener;
@@ -39,7 +41,7 @@
3941

4042
public class UniSensorsAnalyticsModule extends UniDestroyableModule {
4143

42-
public static final String VERSION = "0.1.1";
44+
public static final String VERSION = "0.1.2";
4345

4446
private static final String MODULE_NAME = "UniSensorsAnalyticsModule";
4547
public static final String LOG_TAG = "SA.UniModule";
@@ -797,9 +799,18 @@ public void popupInit(JSONObject jsonConfig) {
797799
sfConfigOptions.enablePopup(JSONUtils.optObject(jsonConfig, "enable_popup", Boolean.class, true));
798800
} catch (Exception ignored) {
799801

802+
}
803+
UniPopupListener popupListener = null;
804+
try {
805+
Class<SensorsFocusCampaignListener> campaignClass = SensorsFocusCampaignListener.class;
806+
campaignClass.getMethod("onCampaignClick", SFCampaign.class);
807+
} catch (NoSuchMethodException e) {
808+
popupListener = new UniPopupListener();
809+
} catch (Exception ignored){
810+
800811
}
801812
SensorsFocusAPI.startWithConfigOptions(mWXSDKInstance.getContext(), sfConfigOptions
802-
.setPopupListener(new UniPopupListener())
813+
.setPopupListener(popupListener)
803814
.setCampaignListener(new UniCampaignListener()));
804815
}
805816
Log.i(LOG_TAG, "SensorsFocus SDK init success!");

android/SensorsdataUniPlugin/src/main/java/com/sensorsdata/uniapp/sf/UniCampaignListener.java

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,13 @@
1919

2020
import android.util.Log;
2121

22+
import com.alibaba.fastjson.JSON;
2223
import com.alibaba.fastjson.JSONObject;
24+
import com.sensorsdata.analytics.android.sdk.SALog;
2325
import com.sensorsdata.sf.core.entity.SFCampaign;
2426
import com.sensorsdata.sf.ui.listener.SensorsFocusCampaignListener;
27+
import com.sensorsdata.sf.ui.view.SensorsFocusActionModel;
28+
import com.sensorsdata.uniapp.util.JSONUtils;
2529

2630
import io.dcloud.feature.uniapp.bridge.UniJSCallback;
2731

@@ -68,6 +72,47 @@ public void onCampaignEnd(SFCampaign sfCampaign) {
6872
}
6973
}
7074

75+
@Override
76+
public void onCampaignClick(SFCampaign sfCampaign) {
77+
if (clickJSCallback != null) {
78+
JSONObject jsonObject = new JSONObject();
79+
try {
80+
jsonObject.put("planId", sfCampaign.getPlanId());
81+
jsonObject.put("type", sfCampaign.getType());
82+
jsonObject.put("content", sfCampaign.getContent());
83+
SensorsFocusActionModel actionModel = sfCampaign.getAction();
84+
JSONObject actionJson = new JSONObject();
85+
String type = null;
86+
switch (actionModel) {
87+
case OPEN_LINK:
88+
type = "openlink";
89+
break;
90+
case COPY:
91+
type = "copy";
92+
break;
93+
case CLOSE:
94+
type = "close";
95+
break;
96+
case CUSTOMIZE:
97+
type = "customize";
98+
break;
99+
}
100+
actionJson.put("type", type);
101+
String value = actionModel.getValue();
102+
if (value == null || "null".equals(value)) {
103+
actionJson.put("value", "");
104+
} else {
105+
actionJson.put("value", value);
106+
}
107+
actionJson.put("extra", actionModel.getExtra() == null ? new JSONObject() : JSONUtils.convertToFastJson(actionModel.getExtra()));
108+
jsonObject.put("action", actionJson);
109+
UniCampaignListener.clickJSCallback.invokeAndKeepAlive(jsonObject);
110+
} catch (Exception e) {
111+
Log.i(LOG_TAG, e.getMessage());
112+
}
113+
}
114+
}
115+
71116
@Override
72117
public void onCampaignFailed(SFCampaign sfCampaign, int errorCode, String errorMessage) {
73118
if (loadFailedJSCallback != null && sfCampaign != null) {

ios/UniSensorsAnalyticsModule/UniSensorsAnalyticsModule.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
#endif
3131
#import <SensorsFocus/SensorsFocus.h>
3232

33-
static NSString *const kSAUniPluginVersion = @"app_uniapp:0.1.1";
33+
static NSString *const kSAUniPluginVersion = @"app_uniapp:0.1.2";
3434
static NSString *const kSAUniPluginVersionKey = @"$lib_plugin_version";
3535

3636
static NSString *kSFPlanIdKey = @"planId";

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "Sensorsdata-UniPlugin-App",
33
"id": "Sensorsdata-UniPlugin-App",
4-
"version": "0.1.1",
4+
"version": "0.1.2",
55
"description": "插件描述信息",
66
"_dp_type": "nativeplugin",
77
"_dp_nativeplugin": {
@@ -21,8 +21,8 @@
2121
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>"
2222
],
2323
"dependencies": [
24-
"com.sensorsdata.analytics.android:SensorsAnalyticsSDK:6.6.3",
25-
"com.sensorsdata.analytics.android:SensorsFocusSDK:0.5.5"
24+
"com.sensorsdata.analytics.android:SensorsAnalyticsSDK:6.6.6",
25+
"com.sensorsdata.analytics.android:SensorsFocusSDK:0.6.3"
2626
],
2727
"parameters": {
2828
}

uni-app-native-plugin.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ const sensors = uni.requireNativePlugin('Sensorsdata-UniPlugin-App');
165165
### enableLog
166166

167167
方法说明:设置是否开启 log
168+
168169
|参数 |类型 |说明 |是否必选|
169170
|--|--|--|--|
170171
|enable| boolean| 是否开启日志址 ||
@@ -183,6 +184,7 @@ const sensors = uni.requireNativePlugin('Sensorsdata-UniPlugin-App');
183184

184185
### setFlushInterval
185186
方法说明:设置两次数据发送的最小时间间隔,单位毫秒
187+
186188
|参数 |类型 |说明 |是否必选|
187189
|--|--|--|--|
188190
|interval| number| 是否开启日志址 ||
@@ -202,6 +204,7 @@ const sensors = uni.requireNativePlugin('Sensorsdata-UniPlugin-App');
202204

203205
### setFlushBulkSize
204206
方法说明:设置本地缓存日志的最大条目数,最小 50 条, 默认 100 条。
207+
205208
|参数 |类型 |说明 |是否必选|
206209
|--|--|--|--|
207210
|bulkSize| number| 是否开启日志址 ||
@@ -220,6 +223,7 @@ const sensors = uni.requireNativePlugin('Sensorsdata-UniPlugin-App');
220223

221224
### setSessionIntervalTime
222225
方法说明:设置 App 切换到后台与下次事件的时间间隔,默认值为 30*1000 毫秒, 若 App 在后台超过设定事件,则认为当前 Session 结束,发送 $AppEnd 事件
226+
223227
|参数 |类型 |说明 |是否必选|
224228
|--|--|--|--|
225229
|session| number| Session 时长,仅 Android 有效 ||
@@ -236,6 +240,7 @@ const sensors = uni.requireNativePlugin('Sensorsdata-UniPlugin-App');
236240
```
237241
### setFlushNetworkPolicy
238242
方法说明:设置 flush 时网络发送策略,默认 3G、4G、WI-FI、5G 环境下都会尝试 flush
243+
239244
|参数 |类型 |说明 |是否必选|
240245
|--|--|--|--|
241246
|networkType| number| 网络类型NONE = 0 2G = 1 3G = 1 << 1(2) 4G = 1 << 2(4) WIFI = 1 << 3(8) 5G = 1 << 4(16) ALL = 0xFF(255) ||
@@ -388,13 +393,15 @@ const sensors = uni.requireNativePlugin('Sensorsdata-UniPlugin-App');
388393
### clearSuperProperties
389394

390395
方法说明:删除事件公共属性
396+
391397
```js
392398
sensors.clearSuperProperties();
393399
```
394400

395401
### getSuperProperties
396402

397403
方法说明:获取事件公共属性
404+
398405
```js
399406
var superProperties = sensors.getSuperProperties();
400407
```
@@ -463,6 +470,7 @@ const sensors = uni.requireNativePlugin('Sensorsdata-UniPlugin-App');
463470
### profilePushId
464471

465472
方法说明:设置用户推送 ID
473+
466474
|参数 |类型| 说明| 是否必选 |
467475
|--|--|--|--|
468476
|pushKey| string| 属性名 ||
@@ -476,6 +484,7 @@ const sensors = uni.requireNativePlugin('Sensorsdata-UniPlugin-App');
476484
### profileUnsetPushId
477485

478486
方法说明:删除用户设置的推送 ID
487+
479488
|参数 |类型| 说明| 是否必选 |
480489
|--|--|--|--|
481490
|pushKey| string| 用户表属性名称||
@@ -528,6 +537,7 @@ const sensors = uni.requireNativePlugin('Sensorsdata-UniPlugin-App');
528537
### trackDeepLinkLaunch
529538

530539
方法说明:Deeplink 唤起事件
540+
531541
|参数 |类型| 说明| 是否必选 |
532542
|--|--|--|--|
533543
|deepLinkUrl| string| DeepLink 唤起链接||
@@ -540,6 +550,7 @@ const sensors = uni.requireNativePlugin('Sensorsdata-UniPlugin-App');
540550
### enableDeepLinkInstallSource
541551

542552
方法说明:DeepLink 是否采集设备信息
553+
543554
|参数 |类型| 说明| 是否必选 |
544555
|--|--|--|--|
545556
|enable| boolean| DeepLink 是否采集设备信息,默认 false||
@@ -549,6 +560,7 @@ const sensors = uni.requireNativePlugin('Sensorsdata-UniPlugin-App');
549560

550561
### popupInit
551562
方法说明:弹窗 SDK 初始化,需在 initSDK 之后调用
563+
552564
```js
553565
sensors.popupInit({
554566
// SFO 在线服务地址,由 SF 后端提供
@@ -559,6 +571,7 @@ sensors.popupInit({
559571

560572
### 弹窗回调
561573
方法说明:处理弹窗的各回调接口,需在弹窗 SDK 初始化后调用
574+
562575
|回调名称 | 说明|
563576
|--|--|
564577
|popupLoadSuccess| 弹窗展示成功时的回调|

0 commit comments

Comments
 (0)