1

私は、Android用のXamarin.FormsアプリのためにAzure Mobile Centerを使い始めました。Xamarinフォームのモバイルセンターの問題

必要なモバイルセンターSDKの呼び出しを追加しましたが、Analyticsで何も表示されません。注記として、私は適切にビルドし、アプリケーションを配布することができます。 App.xams.cs中のApp()コンストラクタはどのように見えるか

これは、次のとおりです。

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

と私もMainActivity.csでのOnCreateイベントでのconfigureの呼び出しを追加しました

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クラスに影響しているようです。 のApp()コンストラクタが呼び出されていないので、私は、既存のコンストラクタにこれを追加しました:

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

ブライアンに感謝します!できます。私は "MobileCenter.Start(typeof(Analytics)、typeof(Crashes));" OnInitializedメソッドでInitializeComponentを呼び出した後に発生します。もう一度感謝します。 –

+0

Marius、あなたの問題を解決しましたか?私は同じ問題を抱えています。私のアプリは毎日開いてクラッシュします –

0

私はMVVMを実装するアプリのプリズムで使用しています。私はこれが物事に影響を与えるかもしれないことに感心しました。私はPrismを使わずに新しいプロジェクトを作りました...そして、私はAnalyticsを見ることができます...ついに!

プリズムがMobileCenterにどのような影響を与えるかが問題です。元の質問を更新しました。

+1

ヌル参照例外が発生した場合、Nugetパッケージの1つがアンドロイドプロジェクトに正しくインストールされていないことがあります。私は、アンドロイドプロジェクトで使用されているアセンブリリファレンスがポータブルDLLであり、モノアンドロイドDLLではないという状況を見ました。この場合の解決策は、パッケージキャッシュをクリアして、Androidプロジェクトでナゲットパッケージをアンインストール/再インストールすることです。 –

+0

ありがとう、私はそれを行ってあげるよ。 –

+0

私は@GuillaumePerrotのような同じ問題を抱えていましたが、この問題の解決法はあなたのソリューションをきれいにしてobj binフォルダを削除し、あなたの解決策を再構築することができます –

0

私の場合は、共有プロジェクト用のNugetパッケージ(Analytics &クラッシュ)のみをインストールしていたためです。 iOSプロジェクト用にインストールするだけでなく、それを修正しました。

関連する問題