Code Monkey home page Code Monkey logo

test's People

Watchers

ranchoFEDev avatar

test's Issues

233

Simple Icons

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 photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.