2017-06-08 3 views
5

Je suis en train de permettre la soumission automatique (sans invite l'utilisateur) des rapports de plantage d'applications de hockey sur Xamarin.Forms (Android et iOS):Xamarin.Forms + HockeyApp - auto soumettre des rapports d'accident

J'ai cela pour Android dans MainActivity.cs:

var customCrashListener = new CustomCrashListener(); 
CrashManager.Register(this, "appId", customCrashListener); 

où CustomCrashListener est:

class CustomCrashListener : CrashManagerListener 
{ 
    public bool ShouldAutoUploadCrashes() 
    { 
     return true; 
    } 
} 

Ce ne lui envoie pas des rapports d'erreur et HockeyApp documentation Xamarin est mince. J'essaie aussi de faire ce travail sur iOS.

Répondre

5

Inclus un exemple de code ci-dessous, avec des instructions pour activer le débogage sur les SDK. Avec cela activé, vous pouvez jeter un oeil à la sortie de l'application pour localiser le problème. Si vous plantez directement au démarrage, le SDK n'aura pas le temps d'envoyer des rapports d'erreur. De plus, si l'identifiant de l'application est incorrect, vous pouvez voir ce comportement.

Vous devez inclure le mot-clé override dans votre rappel d'écouteur, comme dans l'exemple ci-dessous. Sinon, l'autosend ne sera pas activé et une invite d'erreur s'affichera toujours.

Hockey.LogLevel = 3; 
CrashManager.Register(this, AppID, new MyCrashManagerListener()); 

public class MyCrashManagerListener : CrashManagerListener 
     { 

      public override bool ShouldAutoUploadCrashes() 
      { 
       return true; 
      } 
     } 

Pour iOS, il vous suffit de mettre BITCrashManagerStatus dans votre AppDelegate.cs avant StartManager():

var manager = BITHockeyManager.SharedHockeyManager; 
manager.Configure(App_ID); 
manager.LogLevel = BITLogLevel.Debug; 
manager.CrashManager.CrashManagerStatus = BITCrashManagerStatus.AutoSend; 
manager.StartManager(); 
+0

Merci, cela fonctionne bien. Testé dans Xamarin.Forms v2.3.4.247 – ethane