2017-09-14 3 views
0

Nous initialisons Branch dans l'écran de démarrage et nous mettons un peu de temps pour déplacer l'utilisateur vers l'écran de connexion ou principal après quelques secondes sans réponse de la part de Branch.Réessayer Branch.io après l'erreur de connectivité

I le cas de la branche ne répond pas ou le temps de se lancer Trouble initializing Branch. Branch API Error: poor network connectivity. Please try again later.

Comment puis-je une nouvelle tentative branche à partir d'une autre activité? (rappelez-vous que nous déplaçons l'utilisateur vers Login ou Main après quelques secondes)

Répondre

0

Connectez déjà une logique de réessai et, s'il y a des problèmes de connectivité, la branche initSession essayera de se connecter aux serveurs de branche 3 fois. Vous pouvez personnaliser le nombre de tentatives que vous souhaitez effectuer en cas de problème lors de l'initialisation de Branch.

Voici l'exemple de code:

branch = Branch.getInstance(); 
//set retry count 
branch.setRetryCount(5); 
branch.initSession(new Branch.BranchReferralInitListener() { 
     @Override 
     public void onInitFinished(JSONObject referringParams, BranchError error) { 
      if (error == null) { 

      } else { 
       Log.i("MyApp", error.getMessage()); 
      } 
     } 
    }, this.getIntent().getData(), this); 

Si vous souhaitez plutôt une nouvelle tentative dans une autre activité, vous pourriez probablement faire l'appel initSession à nouveau vous ou principal Connexion activité. Mais vous pouvez ou non obtenir des paramètres de lien dans la deuxième activité parce que la première activité les a déjà consommés, vous devez donc mettre en place une vérification pour vous assurer que si Branch est initialisé dans l'activité Splash, n'initialisez plus Branch dans l'activité principale ou de connexion.

+0

Si un problème est survenu lors de la connexion à Branch dans l'écran de démarrage, que puis-je faire dans Connexion pour «recommencer» et obtenir les données? Branch.getInstance(). GetLatestReferringParams()? Suggérez-vous d'initialiser la branche une seule fois (uniquement dans l'écran Splash)? – josealfonsomora

+0

Si vous souhaitez réessayer dans l'activité de connexion, vous pouvez appeler à nouveau branch.initSession() dans l'activité de connexion. Comme je l'ai mentionné dans mon article, assurez-vous de ne pas initialiser la branche deux fois, car si Branch est initialisé dans l'activité Splash, l'initialisation dans l'activité de connexion ne retournera aucun paramètre de lien. Assurez-vous également, pour ajouter les filtres d'intention dans les deux activités pour gérer les paramètres de lien de branche. –