1

Android 용 Xamarin.Forms 앱에 Azure Mobile Center를 사용하기 시작했습니다.Xamarin Forms 모바일 센터 문제

필요한 모바일 센터 SDK 호출을 추가했지만 웹 로그 분석에서 여전히 아무것도 볼 수 없습니다. 참고로, 나는 제대로 애플 리케이션을 빌드하고 배포 할 수 있습니다. App.xams.cs에서 응용 프로그램() 생성자의 모습을 어떻게

입니다 :

public App() 
{    
    InitializeComponent();    
    MobileCenter.Start(typeof(Analytics), typeof(Crashes)); 
    MobileCenter.LogLevel = LogLevel.Verbose; 
} 

와 나는 또한 MainActivity.cs의 한 OnCreate 이벤트에서 구성 호출을 추가 한

protected override void OnCreate(Bundle bundle) 
{ 
    TabLayoutResource = Resource.Layout.tabs; 
    ToolbarResource = Resource.Layout.toolbar; 

    base.OnCreate(bundle); 

    global::Xamarin.Forms.Forms.Init(this, bundle); 
    MobileCenter.Configure("my_app_id"); 
    LoadApplication(new App(new AndroidInitializer())); 
} 

몇 가지 테스트를 거친 후에 프리즘은 MobileCenter 클래스에 영향을 미치는 것으로 보입니다. 앱() 생성자가 호출되지 않는 , 그래서 기존의 생성자이 추가되었습니다 :

public App(IPlatformInitializer initializer = null) : base(initializer) { 
     MobileCenter.Start(typeof(Analytics), typeof(Crashes)); 
    } 

하지만 난 얻을 "System.NullReferenceException :. 개체 참조가 개체의 인스턴스로 설정되지 않았습니다를" 크래시 및 애널리틱스가 제대로 초기화되지 않은 것으로 보입니다. MobileCenter는 정적 클래스이므로 초기화에 영향을 미칠 수 있습니다.

도움을 주시면 감사하겠습니다. 감사합니다,

+1

같은 앱에서 Hockeyapp, Xamarin.Insights, Crashalytics 등과 같은 다른 오류보고 도구를 사용하고 있습니까? –

+1

안녕하세요. 일부 디버그 로그가 누락되지 않도록하려면'Configure '를 호출하기 전에'MobileCenter.LogLevel = LogLevel.Verbose'를 이동해야합니다. 그런 다음'adb bugreport'를 사용하여 모든 로그를 포함 할 디버그 파일을 만들거나 우리가 조사 할 수 있도록'MobileCenter'로 시작하는 태그로 모든 로그를 수동으로 추출하십시오. –

+0

다른보고 도구를 사용하지 않습니다. LogLevel 호출을 이동하여 다시 알려 드리겠습니다. 귀하의 의견을 보내 주셔서 감사합니다. –

답변

1

호출을 OnInitialized 메서드로 이동합니다.

+0

Brian에게 감사드립니다! 그것은 작동합니다. 나는 "MobileCenter.Start (typeof (Analytics), typeof (Crashes));"를 넣었습니다. OnInitialized 메서드에서 InitializeComponent 호출 후. 다시 한 번 감사드립니다. –

+0

마리우스, 문제를 해결 했습니까? 나는 같은 문제를 겪었다. 내 앱이 열릴 때 매일 충돌이 발생합니다. –

0

MVVM을 구현하는 데 앱 프리즘에 사용하고 있습니다. 나는 이것이 사물에 영향을 미칠지 모른다고 생각했다. Prism을 사용하지 않고 새 프로젝트를 만들었습니다. 웹 사이트를 볼 수 있습니다 ... 마침내!

문제는 프리즘이 MobileCenter에 어떤 영향을 미치는지에 있습니다. 원래 질문을 업데이트했습니다.

+1

null 참조 예외가 발생하면 Nuget 패키지 중 하나가 안드로이드 프로젝트에 올바르게 설치되지 않는 경우가 있습니다. 안드로이드 프로젝트에서 사용 된 어셈블리 참조가 휴대용 DLL이었고 모노 안드로이드 DLL이 아닌 상황을 보았습니다. 이 경우 해결 방법은 패키지 캐시를 지우고 Android 프로젝트에서 너겟 패키지를 제거/다시 설치하는 것입니다. –

+0

고마워, 나는 그것을 줄 것이다. –

+0

@GuillaumePerrot과 같은 문제가 발생했습니다.이 문제에 대한 해결책은 솔루션을 정리하고 obj bin 폴더를 삭제하고 솔루션을 다시 작성하는 것일 수 있습니다. –

0

내 경우에는 공유 프로젝트에 대해 Nuget 패키지 (Analytics & 크래시) 만 설치했기 때문입니다. iOS 프로젝트 용으로 설치하여 문제를 해결했습니다.