源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
SisMaker 304e42b139 ft: 初始化提交 4 週之前
..
BuglyAgent.cs ft: 初始化提交 4 週之前
BuglyAgent.cs.meta ft: 初始化提交 4 週之前
BuglyCallback.cs ft: 初始化提交 4 週之前
BuglyCallback.cs.meta ft: 初始化提交 4 週之前
BuglyInit.cs ft: 初始化提交 4 週之前
BuglyInit.cs.meta ft: 初始化提交 4 週之前
ReadMe.md ft: 初始化提交 4 週之前
ReadMe.md.meta ft: 初始化提交 4 週之前

ReadMe.md

Bugly Unity Plugin Guide


Bugly Unity Plugin

  • Modified: 2015.03.28
  • Unity Plugin Version: 1.4.3
  • iOS SDK Version: 1.4.8+
  • Android SDK Version: 1.2.9+

Package Contents

Bugly Unity Plugin Package Contains

  • BuglySDK

    • Editor
    • Android
    • iOS - Bugly.framework - libBuglyBridge.a
  • Plugins

    • Android

libs

buglyagent.jar

* BuglyPlugins

BuglyAgent.cs

BuglyInit.cs

  • Samples

Notes:

  • BuglyAgent.cs - Script of interface method

  • BuglyInit.cs - Script binding the gameobject to initialize the sdk

  • Editor - Scripts to update the xcode project

  • Bugly.framework - The sdk for iOS, you could replace it by the latest version

  • Samples - Sample project of using Bugly Unity Plugin


Getting Started with Bugly Unity Plugin

Download

You can go to the Bugly download the unity plugin and native sdk for iOS or Android.

  • Download the Bugly Unity Plugin
  • Download the iOS SDK
  • Download the Android SDK

Install

  • Double click the bugly_unity_*.unitypackage file and import the scripts into the unity project.
  • Select Assets/Plugins into the unity project
  • Copy the Android SDK into the unity project
  • Call the interface method in the first loaded script of the project, details see the Samples
  • Init the sdk in the first loaded script as following
BuglyAgent.InitWithAppId("You App Id") 
  • Copy iOS SDK (Bugly.framework) into the associated Xcode project and add some dependencies libraries.
  • Drag the Bugly.framework into the Xcode project and select the copy trigger
  • Open the Xcode project configuration window and select the Build Phases tab, add libraries in Link Binary With Libraries as following:

Security.framework

libz.dylib

Samples


public class Welcome : MonoBehaviour {	
    void InitBuglySDK(){
		// enable debug log, please set FALSE in Release version.
		BuglyAgent.ConfigDebugMode (true);
		
		#if UNITY_IPHONE || UNITY_IOS
		BuglyAgent.InitWithAppId ("Your App ID");
		#elif UNITY_ANDROID
		BuglyAgent.InitWithAppId ("Your App ID");
		#endif

		// If you do not need call 'InitWithAppId(string)' to initialize the sdk(may be you has initialized the sdk it associated Android or iOS project),
		// please call this method to enable c# exception handler only.
		BuglyAgent.EnableExceptionHandler ();
	}
    
	// Use this for initialization
	void Start () {
        InitBuglySDK();
	}
}


APIs

  • BuglyAgent.InitWithAppId(string)

初始化Bugly,传入Bugly网站注册获得的App ID。

启用native code(Obj-C、C/C++、Java)异常、C#异常捕获上报,如果你已经在相应的iOS或Android工程中初始化Bugly,那么你只需调用BuglyAgent.EnableExceptionHandler开启C#异常捕获上报即可。

  • BuglyAgent.EnableExceptionHandler()

启动C#异常日志捕获上报,默认自动上报级别LogError,那么LogError、LogException的异常日志都会自动捕获上报。

日志级别定义参考LogSeverity : {LogDebug、LogWarning、LogAssert、LogError、LogException}

  • BuglyAgent.RegisterLogCallback(BuglyAgent.LogCallbackDelegate)

注册LogCallbackDelegate回调方法, 处理系统的日志。

如果你的应用需要调用Application.RegisterLogCallback(LogCallback)等注册日志回调,你可以使用此方法进行替换。

  • BuglyAgent.ConfigAutoReportLogLevel(LogSeverity)

设置自动上报日志信息的级别,默认LogError,则>=LogError的日志都会自动捕获上报。

日志级别的定义有LogDebug、LogWarning、LogAssert、LogError、LogException等

  • BuglyAgent.ReportException (System.Exception, string)

上报已捕获C#异常,输入参数异常对象,附加描述信息

  • BuglyAgent.ReportException (string, string, string)

上报自定义错误信息,输入错误名称、错误原因、错误堆栈等信息

  • BuglyAgent.SetUserId (string)

设置用户标识,如果不设置,默认为10000 。

在初始化之后调用

  • BuglyAgent.ConfigDebugMode (bool)

开启本地调试日志打印,默认关闭

注意:在发布版本中请务必关闭调试日志打印功能

  • BuglyAgent.ConfigDefault (string, string, string, long)

修改应用默认配置信息:渠道号、版本、用户标识等。

在初始化之前调用

渠道号默认值为空,

版本默认值

  • Android应用默认读取AndroidManifest.xml中的android:versionName
  • iOS应用默认读取Info.plist文件中CFBundleShortVersionString和CFBundleVersion,拼接为CFBundleShortVersionString(CFBundleVersion)格式,例如1.0.1(10)

用户标识默认值10000

  • BuglyAgent.ConfigAutoQuitApplication (bool)

配置是否在捕获上报C#异常信息后就立即退出应用,避免后续产生更多非预期的C#的异常。

在初始化之前调用


Change Logs

Change Log (2015/08/06):

  • Modify the interface class to BuglyAgent.cs
  • Modify initialize method to BuglyAgent.InitWithAppId
  • Add BuglyAgent.LogCallbackDelegate to replace register Application.LogCallback
  • Add interface BuglyAgent.ReportException(Exception, string) to report customized c# exception
  • Add interface BuglyAgent.ReportException (string, string, string) to report customized error

Change Log (2015/06/08):

  • Add config to exit the application after catch c# exception>
  • Add Editor settings to update the xcode project
  • Fix the problem about the init method

Change Log (2015/04/21):

  • Add log callback method LogCallbackDelegate

Change Log (2015/03/15):

  • Modify the interface of IBugly
  • Fix the bugs

Change Log (2015/01/21):

  • Add method EnableExceptionHandler
  • Modify the interface of the SDK (Android & iOS)

Change Log (2014/12/29):

  • iOS SDK change the interface
  • Modify the plugin interface method

Change Log (2014/12/12):

  • Android SDK change the interface
  • Add method HandleException

Change Log (2014/11/20):

  • Android SDK integrated
  • Public class method BuglyUnity exposed

Change Log (2014/11/18):

  • iOS SDK integrated

FAQ

  1. 初始化SDK后,为什么仍然无法捕获上报C#异常?

答: 如果无法捕获上报C#异常,可以检查下面两项排查:

  1. 检查是否有其他存在注册Application.RegisterLogCallback(LogCallback)的逻辑,由于系统默认的LogCallback是单播实现, 所以只能维持一个回调实例,你可以调用BuglyAgent.RegisterLogCallback(BuglyAgent.LogCallbackDelegate)方法来替代日志回调的注册。

  2. 检查对应平台的SDK组件是否已集成到项目。

  1. 为什么发生C#异常后,应用直接崩溃?

答: 如果遇到此场景,你可以把脚本中调用的InitWithAppId方法使用EnableExceptionHandler替代,并在对应的Android或iOS工程中初始化SDK的组件。


##Contact US