web-dev-qa-db-fra.com

Comment intégrer Crashlytics aux applications instantanées Android?

Est-ce que Crashlytics fonctionne avec Android Instant Apps et si oui, comment configurez-vous votre projet correctement?

17
AdamK

Oui, Crashlytics fonctionne avec les applications instantanées Android. En fait, il s'agit de la solution de rapport d'incident recommandée à ce stade, car elle a été testée et fonctionne correctement.

Pour l'installation:

Étape 1

Ouvrez le fichier build.gradle dans votre module de fonctionnalités de base et suivez les étapes du site de documentation publique pour configurer Crashlytics normalement.

Étape 2

Au niveau supérieur du fichier build.gradle du module de fonctionnalités de base, ajoutez l'indicateur Crashlytics suivant:

...
Android {
    ...
}
crashlytics { instantAppSupport true }
...

Étape 3 (facultatif mais recommandé)

Ajoutez la dépendance de la bibliothèque Instant App dans votre projet de bibliothèque de base build.gradle, s'il n'y en avait pas déjà, conformément à la méthode docs :

compile 'com.google.Android.instantapps:instantapps:1.1.0'

Remarque: pour utiliser cette dépendance, vous devrez ajouter le nouveau référentiel maven.google.com à vos fichiers de gradation si vous ne l'avez pas encore fait (voir ici pour plus de détails).

Ensuite, dans votre code, après avoir configuré Crashlytics, définissez une valeur booléenne à consigner si l'exécution en cours est une application instantanée:

Crashlytics.setBool("InstantApp", InstantApps.isInstantApp(context));

Mise à jour à partir d'août 2017 - Nouveau numéro qui rompt l'assistance

Une récente mise à jour des outils semble avoir causé un nouveau problème lors de l’utilisation de Crashlytics et Instant Apps qui enregistre l’erreur suivante:

Cette application s'appuie sur Crashlytics. Veuillez vous inscrire pour accéder à l'adresse Https://fabric.io/sign_up , installer un outil de construction Android et demander à un membre de l'équipe De vous inviter à l'organisation de cette application.

Jusqu'à ce que le problème soit résolu, essayez ceci comme solution de contournement: après la construction, recherchez le fichier com_crashlytics_build_id.xml, ouvrez-le, copiez le <string> qui contient votre clé Fabric et collez-le dans votre fichier strings.xml normal pour votre module de fonctions. Ensuite, reconstruisez et exécutez. </ S>

Mise à jour du 15 nov. 2017 - Problème résolu

Le problème ci-dessus est maintenant corrigé à partir de Fabric gradle plugin v1.2.5. Comme votre fichier de grade devrait avoir:

classpath 'io.fabric.tools:gradle:1.+'

Vous ne devriez pas avoir besoin de faire autre chose que de synchroniser votre build pour extraire le plugin mis à jour avec correctif.

20
AdamK

Outre ce que dit la réponse acceptée, je devais également ajouter les lignes suivantes dans le fichier build.gradle du module d'application (apk) pour le faire fonctionner.

repositories {
    maven { url 'https://maven.fabric.io/public' }
}
2
xojan

Je viens de tester avec 1.24.5 et c'était bien.

J'ai pu configurer mon projet comme ceci:

  1. dans le module de base: https://fabric.io/kits/Android/crashlytics/install
  2. _ { Comment intégrer Crashlytics aux applications instantanées Android? } _
    • ajouter à la base/build.gradle:
      • crashlytics {instantAppSupport true}
      • compiler 'com.google.Android.instantapps: instantapps: 1.1.0' (* 1.0.0 fonctionne également)
    • ajoutez en plus au module de base Classe d'application:
      • Crashlytics.setBool ("InstantApp", InstantApps.isInstantApp (contexte));

Mon application instantanée de test construite, j'ai déclenché un blocage et mon tableau de bord l'a consignée.

Si un problème persiste, signalez-le à l'adresse { suivi des problèmes de Google }. Ils seront rouverts pour examen.

0
Prags