Android
1、使用QT的PX系列SDK(友盟+SDK也至少在9.5.6版本以上)。如果之前有集成QT P系列 SDK和SPM插件包,先删除之前的所有SDK包和相关依赖。埋点代码不需要删除,请先保留。
dependencies {
implementation fileTree(include:['*.jar'], dir:'libs')
implementation 'com.umeng.umsdk:qt-px-common:1.4.2.PX'
}
2、混淆添加如下代码:
-keep class com.umeng.** {*;}
-keep class org.repackage.** {*;}
-keep class com.quick.qt.** {*;}
-keep class rpk.quick.qt.** {*;}
-keepclassmembers class * {
public <init> (org.json.JSONObject);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep public class [您的应用包名].R$*{
public static final int *;
}
3、在工程Application.onCreate生命周期函数中替换之前初始化及埋点代码的接口类名。
@Override
public void onCreate() {
super.onCreate();
//...
// 之前的接口类UMConfigure->QtConfigure
// 之前的UMConfigure.preInit/UMConfigure.init类名,都替换为QtConfigure,接口方法名不变。
// 之前的MobclickAgent类接口调用,都替换为QtTrackAgent类,方法名不变。
QtConfigure.setCustomDomain("您的收数域名", null);
//...
4、工程中其它所有埋点代码。接口类名按照如下方式替换。
老类名 | 新类名 | 类导入 |
UMConfigure | QtConfigure | import com.quick.qt.commonsdk.QtConfigure; |
MobclickAgent | QtTrackAgent | import com.quick.qt.analytics.QtTrackAgent; |
SpmAgent | SpmAgent | com.quick.qt.spm.SpmAgent |
5、更改SDK文件路径
已经集成了友盟+SDK,现在需要集成QT SDK:在QT和友盟+的所有代码最前面增加(至少早于收数域名)QTConfigure.resetStorePath
已经集成了QT SDK,现在需要集成友盟+SDK:在QT和友盟+的所有代码最前面(至少早于收数域名)增加UMConfigure.resetStorePath
如果不按照上述的逻辑调用,则会使友盟+SDK与QT SDK共同使用一个存储路径,导致日志混乱
iOS
1、使用QT的PX系列SDK(友盟+SDK也至少在7.3.8版本以上)。如果之前有集成QT P系列 SDK和SPM插件包,先删除之前的所有SDK包和相关依赖。埋点代码不需要删除,请先保留。
pod 'QTCommon', '~> 1.4.2.PX'
//可在项目中加入 "基础库-日志库" 中的 UMCCommonLog 进行开发调试
pod 'UMCCommonLog'
2、import更改为
#import <QTCommon/UMConfigure.h> // 替换之前UMCommon/UMConfigure.h
#import <QTCommon/MobClick.h> // 替换之前UMCommon/MobClick.h
#import <QTCommon/UMSpm.h>
3、工程中其它所有埋点代码。接口类名按照如下方式替换。
老类名 | 新类名 | 类导入 |
UMConfigure | QTConfigure | #import <QTCommon/UMConfigure.h> |
Mobclick | QTMobclick | #import <QTCommon/MobClick.h> |
UMSpm | UMSpm | #import <QTCommon/UMSpm.h> |
4、更改SDK文件路径
已经集成了友盟+SDK,现在需要集成QT SDK:在QT和友盟+的所有代码最前面增加(至少早于收数域名)[QTConfigure.resetStorePath]
已经集成了QT SDK,现在需要集成友盟+SDK:在QT和友盟+的所有代码最前面增加(至少早于收数域名)[UMConfigure.resetStorePath]
如果不按照上述的逻辑调用,则会使友盟+SDK与QT SDK共同使用一个存储路径,导致日志混乱