Il arrive parfois qu'un double splashscreen se lance lors de l'envoi d'un rich push ayant pour deeplink un URL scheme. 

Voici la solution technique généralement proposée afin de répondre à votre problématique :


  • Les url schémas (intent-filter) sont gérés par votre SplashScreen
  • Le SDK est bien intégré sur le SplashScreen (ignorez ce point à partir du SDK 4.0.0, le SDK s'intègre automatiquement dans toutes les activités)
  • Locker uniquement l'affichage des in-apps sur votre SplashScreen (au sein de la méthode onCreate) : 
A4S.get(context).setInAppDisplayLocked(true);
  • Votre SplashScreen doit détecter qu'il a été lancé par un push Accengage et dans ce cas : n'effectuer aucune action (il ne doit même pas se fermer).


Dans la méthode onResume(), vous pouvez utiliser ce code par exemple :

Bundle bundle = getIntent().getExtras();
//
  • Nous récupérons alors le payload car vous pourriez avoir envie de traiter des customs params à ce niveau.
Bundle payload = bundle.getBundle(Constants.EXTRA_GCM_PAYLOAD);
if(payload == null) {
}
  • Votre SplashScreen doit être en launchMode singleTask ou singleTop afin de ne pas se relancer lors du lancement de l'URL Schéma par le SDK
  • Délocker les in-apps sur l'activité de destination

 

Si cette réponse ne résout pas votre problématique, n'hésitez pas à nous contacter via notre formulaire.