華為AGC的崩潰服務(wù)支持跨平臺(tái),按照文檔整理了個(gè)Xamarin插件集成的文檔,有需要的開(kāi)發(fā)者可以參考。
環(huán)境配置和項(xiàng)目設(shè)置
- 安裝Xamarin環(huán)境
主要是先安裝visual studio for MAC,然后安裝Mobile development with .NET,具體可以參考??Xamarin環(huán)境搭建??。
- AGC創(chuàng)建項(xiàng)目工程,并且開(kāi)通華為分析服務(wù)。
這部分是基本操作,可以參見(jiàn)??創(chuàng)建項(xiàng)目???和??開(kāi)通華為分析??
- 集成AGC Xamarin NuGet包
點(diǎn)擊創(chuàng)建的項(xiàng)目工程,右鍵選擇”Manage NuGet Packages”
選擇對(duì)應(yīng)的包后安裝:
繼續(xù)添加HA包,注意需要選擇1.2.0.300版本:
- 添加Json文件到項(xiàng)目目錄下
- 將“Build Action”設(shè)置為“BundleResource”。
- 設(shè)置應(yīng)用包名。
7.配置免費(fèi)預(yù)配證書 如果沒(méi)有申請(qǐng)付費(fèi)證書,可以使用免費(fèi)證書,具體參見(jiàn): https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-get-started-xamarin#h2-1617333170516-2
集成實(shí)現(xiàn)
- 布局界面設(shè)計(jì)
雙擊main.storyboard拉起Xcode創(chuàng)建3個(gè)按鍵“MakeCrash”,” CatchException”,” CustomReport”。
- 代碼調(diào)用
編輯 ViewController.cs 文件, 調(diào)用 AGCCrash.GetSharedInstance.TestIt 制造一次崩潰事件,調(diào)用 AGCCrash.GetSharedInstance.SetUserId 自定義用戶標(biāo)識(shí),調(diào)用 AGCCrash.GetSharedInstance.SetCustomKey 自定義鍵值對(duì),調(diào)用 AGCCrash.GetSharedInstance.Log 自定義日志級(jí)別,調(diào)用 AGCCrash.GetSharedInstance. RecordException 產(chǎn)生并記錄一次非嚴(yán)重異常。
using System;
using UIKit;
using Huawei.Agconnect.Crash;
using Foundation;
namespace crashios0512
{
public partial class ViewController : UIViewController
{
public ViewController(IntPtr handle) : base(handle)
{
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
// Perform any additional setup after loading the view, typically from a nib.
}
public override void DidReceiveMemoryWarning()
{
base.DidReceiveMemoryWarning();
// Release any cached data, images, etc that aren't in use.
}
partial void MakeCrash(UIKit.UIButton sender)
{
AGCCrash.GetSharedInstance().TestIt();
}
partial void CatchException(UIKit.UIButton sender)
{
AGCCrash.GetSharedInstance().RecordError(new Foundation.NSError());
}
partial void CustomReport(UIKit.UIButton sender)
{
AGCCrash.GetSharedInstance().SetUserId("testuser");
AGCCrash.GetSharedInstance().Log("default info level");
AGCCrash.GetSharedInstance().SetCustomValue(new NSString("test"), "this is string value");
AGCCrash.GetSharedInstance().LogWithLevel(AGCCrashLogLevel.Warning, "this is warning log level");
AGCCrash.GetSharedInstance().SetCustomValue(new NSNumber(123), "this is number");
}
}
崩潰報(bào)告查看
集成完后點(diǎn)擊按鍵制造崩潰和非嚴(yán)重異常,并產(chǎn)生自定義報(bào)告,可以在AGC頁(yè)面查看
- 崩潰概覽
- 問(wèn)題概覽
- 查看崩潰詳情堆棧
- 查看自定義鍵值對(duì)
- 查看自定義日志級(jí)別
- 查看自定義用戶標(biāo)識(shí)
欲了解更多詳情,請(qǐng)參見(jiàn):
1、華為AGC 崩潰服務(wù)文檔:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-crash-introduction
2、華為AGC-崩潰服務(wù)codelab:https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/CrashService-iOS
本文摘自 :https://blog.51cto.com/u