test's People
test's Issues
233
Hitbug
介绍
如果你曾经用过Bugly,那么Hitbug实际上就是Bugly的替代品
初始化成功后,我们将会自动的帮您监听游戏的崩溃信息以及异常信息
如果您修改上报等级,我们可以监听并且上报更多不同等级的日志信息
通过设置UserId,可以在后台精准定位到玩家的错误情况
☎️开发人员:前端中台组 - 李浩松
安装插件
- Packages/manifest.json中添加以下行:
"com.shiyue.hitbug": "https://client-gitlab.shiyue.com/lihaosong/syhitbug.git#2.6.0"
- 在Package Manager 选择 add package from git URL添加以下行:
https://client-gitlab.shiyue.com/lihaosong/syhitbug.git#2.6.0
- 联系SDK组,下载并导入HitBug.unitypackage
安卓配置
请联系SDK组同事,以获取相关配置aar文件,一般放到Plugins-Android下即可
在AndroidManifest.xml中添加权限:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
Note💡 不同Unity版本可能位置不同,如果不知道怎么开启自定义Gradle,请联系中台组
请勾选Project Settings - Player - Publishing Settings - Custom Main Gradle Template
当看到Assets/Plugins/Android/mainTemplate.gradle这个文件,则开启成功
在dependencies中添加一下行
implementation 'com.shiyue.sdk:fuse-tool:1.3.1'
implementation 'com.shiyue.hitbug:hitbug:2.1.1'
implementation 'com.shiyue.sdk:fuse-so:1.0.0'
Note💡 不同Unity版本可能位置不同,如果不知道怎么开启自定义baseProjectTemplate.gradle,请联系中台组
请勾选Project Settings - Player - Publishing Settings - Custom Base Gradle Template
当看到Assets/Plugins/Android/baseProjectTemplate.gradle这个文件,则证明开启成功
根据以下目录添加maven地址
allprojects {
buildscript{
repositories{
maven{
allowInsecureProtocol = true
url 'http://maven.shiyue.com/nexus/content/repositories/releases/'
}
}
}
repositories{
maven{
allowInsecureProtocol = true
url 'http://maven.shiyue.com/nexus/content/repositories/releases/'
}
}
}
请避免混淆诗悦HitBug,在Proguard混淆文件中增加以下配置:
-keep public class xcrash.SYMonitorCrash { *; }
-keep public class xcrash.SYMonitorCrashCallBack { *; }
-keep class xcrash.NativeHandler {
native <methods>;
void crashCallback(...);
void traceCallback(...);
void traceCallbackBeforeDump(...);
}
苹果配置
向SDK技术处申请appid,如果安卓申请了,那用相同的appid即可
添加依赖库(必配项)
QuartzCore.framework
libz.dylib 或 libz.tbd
libc++.dylib 或 libc++.tbd
工程设置增加Category配置(必配项)
Build Setting --> Other Linker Flags --> 新增 -ObjC
工程允许http请求(必配项)
NSAppTransportSecurity
NSAllowsArbitraryLoads
备注:
该插件的bitcode默认为关闭,如若需要开启,请联系管理员,或者自行使用动态工具开启。
方法接入
初始化(必接)
调用接口前,先引用命名空间
using SY;
** 如果是苹果平台,请尽早初始化HitBugSDK**
**如果是安卓平台,请务必在用户授权《隐私政策》后再初始化诗悦HitBugSDK **
#if UNITY_ANDROID
HitBug.instance.Init();
#elif UNITY_IOS
HitBug.instance.Init("extraAppid","deviceStr");
#elif UNITY_STANDALONE || UNITY_STANDALONE_WIN
HitBug.instance.Init("extraAppid");
#endif
**如果你是苹果平台,一般情况下,在Unity层初始化即可,如果你仍然想监听游戏启动时可能出现的Bug,可以在苹果的生命周期里提前初始化
**
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[SYHitBug startWithExtraAppid:@"xxx" andServerDev:@"xxx"];
return YES;
}
设置自动上报等级(选接)
默认会捕捉Exception级的日志上报,如果你想捕捉更多级别的日志,需要尽早调用该接口
等级排名:Exception > Error > Assert > Warring (目前并不支持普通Log的上报)
HitBug.instance.SetAutoReportLevel(LogLevel.Error);
自定义错误上报(选接)
备注:通过调用自定义错误上报接口,可以把一些引擎的错误信息(报错但是不崩溃)进行上报。
/// <summary>
/// 自定义错误上报
/// </summary>
/// <param name="name">自定义错误名称</param>
/// <param name="reason">自定义错误主要原因</param>
/// <param name="stack">自定义错误的堆栈信息</param>
HitBug.instance.ReportCustomError(
"错误名称:...ient/src/game/hero/view/form/form_go_fight_panel.lua:7619: attempt to call method 'DeleteMe' (a nil value)",
"错误原因:...ient/src/game/hero/view/form/form_go_fight_panel.lua:7619: attempt to call method 'DeleteMe' (a nil value)\\n\" +\" in function 'close_callback'",
"错误堆栈function<...a/sszg_cli/gy3/client/src/common/common_function.lua:1919>");
定制化扩展信息(选接)
备注:通过调用定制化扩展信息接口,可以把一些扩展信息(类似角色id、服务器id、角色名称等)进行上报,当触发崩溃或者自定义错误上报时,传入的扩展参数都会上报到诗悦HitBug后台,保存更多的环境信息,更多的现场数据供项目组分析崩溃/错误现场。
/// <summary>
/// 定制化扩展信息
/// </summary>
/// <param name="key">扩展信息的关键字</param>
/// <param name="value">扩展信息的值</param>
/// <param name="name">扩展信息的别名(中文,可以尽量带上,用于后台展示)</param>
HitBug.instance.SetCustomInfo("roleId", "589635", "角色ID");
更多的HitBug日志附加信息(选接)
设置用户ID 您可能会希望能精确定位到某个用户的异常,我们提供了用户ID记录接口。 例:网游用户登录后,通过该接口记录用户ID,在页面上可以精确定位到每个用户发生Crash的情况。
/// <summary>
/// 精准定位用户
/// </summary>
/// <param name="accountId">用户唯一标识</param>
HitBug.instance.SetAccountConfig("569963");//该用户本次启动后的异常日志用户ID都将是569963
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.