Résumé du problème

MISE À JOUR : j'ai résolu le problème d'une manière ou d'une autre, je ne sais pas comment. Je viens de supprimer les applications de mon tableau de bord, de les recréer, de nettoyer le cache Fabrics et Crashlytics et après quatre ou cinq tentatives, cela a commencé à fonctionner de son propre chef. Je suis toujours intéressé de savoir comment cela s'est produit et comment cela peut-il être résolu sans supprimer complètement l'application.

TL; DR Je ne reçois aucune statistique du kit Answers et il semble que Fabric pense que Answers n'est pas installé dans mon application, même si c'est le cas. Je ne suis pas intéressé par le suivi des événements, j'ai juste besoin des statistiques de métriques.

Problème expliqué

Le kit Fabric Crashlytics est associé à Answers et pour la plupart de mes applications, à tout moment J'ai configuré Crashlytics, Answers est également configuré et je peux voir les statistiques sur mon Fabric Dashboard.

Cependant, pour quelques-unes de mes applications, je ne peux pas voir les statistiques et il semble que Answers est désactivé. Le tableau de bord indique que pour afficher les statistiques, Des réponses sont requises.

Mais quand je regarde mon client Fabric Mac, il dit que pour cette application, Kit de réponses est installé et activé.

Revenons donc au tableau de bord Web de l'application, toutes les options de statistiques sont désactivées sauf Crashlytics et l'application elle-même est un peu grisée contrairement aux autres applications.

Et dans les détails, continue d’attendre les "événements" et recommande de faire un nouvelle installation de l'application (ce que j'ai fait un certain nombre de fois maintenant).

Après un certain temps, il dit qu'aucun événement n'a été reçu et il me demande d'effectuer un nouveau installer et activer le mode de débogage.

Ma configuration

Mon fichier pod est:

pod 'Fabric'
pod 'Crashlytics'

Je configure mon kit Fabric dans AppDelegate comme:

[Fabric with:@[[Crashlytics class]]];

Et j'ai activé le mod de débogage comme:

[[Fabric sharedSDK] setDebug: YES];

Ce que j'ai fait jusqu'à présent

  1. Assurez-vous que Answers est installé.
  2. Mode de débogage activé. Fabric indique qu'il peut me dire si les réponses sont activées et envoient événements mais je n'ai vu aucun journal à ce sujet. Les trois seuls journaux que je reçois sont le numéro de version et les notifications indiquant que les paramètres ont été téléchargés et sont disponibles à la consommation.
  3. Installations fraîches faites
  4. Journaux vérifiés du mode de débogage qui confirment que les paramètres de Fabric ont été téléchargés et sont prêts à être consommés.
  5. Ajout de Fastlane Kit pour créer des diffusions de build afin de voir s'il y avait un problème de communication entre mon application et Fabric. Les builds s'affichent correctement et sont téléchargés correctement mais encore une fois, pas de réponses.

J'ai même enregistré un événement de connexion même si je n'en ai pas besoin, juste pour voir s'il commence à transmettre des données de réponses.

[Answers logLoginWithMethod:@"Email"
                        success:@YES
               customAttributes:@{}];

Il y a aussi ce journal intéressant lorsque l'application s'exécute:

[FileManager] Failed to remove file '/var/mobile/Containers/Data/Application/F055EE71-5064-4105-B41D-BD098F28DAA9/Library/Caches/com.crashlytics.data/com.sampleapp.mysampleapp/v3/launchmarker' : Error Domain=NSCocoaErrorDomain Code=4 "“launchmarker” couldn’t be removed." UserInfo={NSUnderlyingError=0x14e6a830 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}, NSFilePath=/var/mobile/Containers/Data/Application/F055EE71-5064-4105-B41D-BD098F28DAA9/Library/Caches/com.crashlytics.data/com.sampleapp.mysampleapp/v3/launchmarker, NSUserStringVariant=(
    Remove
)}

Il apparaît chaque fois que je tente une nouvelle installation après la réinitialisation du simulateur. Vérifiez également les paramètres json dans Fabrics Data in Cache. Les curieux ici:

"features": {
    "collect_logged_exceptions": true,
    "collect_reports": false,
    "collect_analytics": false,
    "prompt_enabled": false,
    "push_enabled": true
  }

Le JSON complet peut être vu ici.

Comment puis-je réparer cela?

4
NSNoob 16 nov. 2017 à 12:29

4 réponses

Meilleure réponse

Mike de Fabric ici. Oui, Answers est inclus dans Crashlytics, mais aucune donnée n'est collectée tant que vous ne l'activez pas sur le tableau de bord Fabric et n'acceptez pas les termes et conditions spécifiques à Answers. Ce que vous devez faire est d'inclure Crashlytics et une fois que l'application est active dans votre tableau de bord, dirigez-vous vers n'importe quelle autre page du tableau de bord et activez les réponses à partir de l'interface utilisateur Web.

Après cela, nous attendons deux minutes pour voir si nous voyons des données d'événement. Habituellement, l'exécution d'un nettoyage de votre application, la compilation et l'exécution (ou la désinstallation et la réinstallation) obtiendront les données envoyées, puis rendront le tableau de bord visible. Je ne sais toujours pas pourquoi cela n'a pas fonctionné plus tôt dans votre application, mais peut-être qu'une condition de concurrence ou l'un de nos caches n'a pas propagé les données correctement.

Modifier: Ajout d'une image de ce à quoi ressemble le bouton permettant d'activer les réponses.

enter image description here

0
Mike Bonnell 16 nov. 2017 à 16:04

Je pense que votre AppDelegate devrait ressembler à ceci:

[Fabric with:@[[Crashlytics class], [Answers class]]];
0
Pætur Magnussen 16 nov. 2017 à 09:46

Répondre à cela en 2018 au cas où quelqu'un le croiserait. J'avais besoin d'être connecté au wifi pour que l'événement soit envoyé à Fabric. Soit il ne sera pas envoyé par cellulaire, soit mon téléphone a une mauvaise connexion. A travaillé immédiatement sur wifi.

1
Christopher Larsen 14 août 2018 à 16:18

Pour Swift

Commencez par consulter uniquement le manuel Crashlytics et Xcode

  1. Je l'installe sur mon application. alors vous recevrez un e-mail de bienvenue de Crashlytics '

  2. J'essaye de tester l'événement de crash en suivant les instructions. https://fabric.io/kits/ios/crashlytics/features

Sur l'interface utilisateur Web de Fabric,

  1. Je vois l'événement de crash généré.

Retour à Xcode

  1. Arrêtez le débogage, et j'essaye de supprimer la ligne de code qui fait planter l'application et de placer le déclencheur d'événement de réponse à la place, à partir de https://fabric.io/kits/ios/answers/features (changez juste une ligne de code) puis exécutez à nouveau, j'essaye de cliquer pour exécuter l'événement

Accéder à l'interface utilisateur Web Fabric

  1. Cliquez sur l'autre page de l'interface utilisateur Web, par exemple Rétention, croissance, etc.

  2. L'interface utilisateur Web Fabric affiche le terme et les conditions que vous souhaitez activer.

À partir de maintenant, Fabric UI affiche toujours "En attente de l'événement"

  1. Vous recevez un e-mail de Fabric, le détail est "L'analyse de Fabric vient d'être activée par vous"

  2. Arrêtez de déboguer votre application à partir de Xcode

  3. Supprimer votre application de l'iPhone ou du simulateur

  4. Cliquez à nouveau sur Exécuter votre application à partir de Xcode

  5. Essayez de cliquer sur l'événement généré par le bouton.

  6. La boîte de dialogue Fabric UI a reçu l'événement déclencheur.

  7. C'est tout. réussi

C'est mon pas après avoir lutté pendant de nombreuses heures. J'espère que ceci vous aidera.

0
Christopher Larsen 11 déc. 2018 à 19:20
47325958