J'ai une application qui utilise Branch.io et je suis en train de la mettre à jour pour prendre en charge les applications instantanées. Une partie de ce changement nécessitera l'utilisation de liens d'applications pour naviguer d'une partie de l'application à l'autre. L'activité que j'ouvre est configurée pour utiliser Branch.io (par exemple en utilisant les instructions du https://dev.branch.io/marketing-channels/android-instant-apps/guide/) et inclut la méthode onStart()
. Cependant, je ne vois pas les paramètres que j'inclus dans le lien profond dans referringParams
. Ai-je besoin de déclencher l'ouverture de la branche de manière particulière à partir du code Android pour que cela fonctionne?Branch.io et applications instantanées
BTW referringParams
ci-dessus montre +clicked_branch_link
étant false
.
MISE À JOUR
Juste pour apporter quelques précisions. J'essaie par exemple de lancer ActivityB
à partir de ActivityA
en utilisant le lien profond de l'application. ActivityB
comprend <intent-filter>
comme décrit dans https://dev.branch.io/marketing-channels/android-instant-apps/guide/ par exemple. Dans ActivityA
Je suis actuellement en essayant d'ouvrir/créer un lien Branch.io comme suit (ont également formé un lien direct, comme il est utilisé dans cet échantillon android-instant-apps
par exemple, mais ce n'est pas considéré comme un « lien de branche »)
HashMap<String, String> metadata = new HashMap<>();
metadata.put(PARAM, param);
BranchUniversalObject branchUniversalObject = new BranchUniversalObject().addContentMetadata(metadata);
LinkProperties linkProperties = new LinkProperties();
branchUniversalObject.generateShortUrl(context, linkProperties, (url, error) -> {
if (error == null) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
context.startActivity(intent);
}
});
Si j'essaie d'ouvrir l'URL générée (par generateShortUrl
) directement sur l'appareil (en cliquant sur le lien par exemple), alors ActivityB
est lancé et je vois le paramètre que j'ai inclus dans le rappel initSession
. Si je tente de l'ouvrir en utilisant le code ci-dessus (naviguait betweeen ActivityA
et ActivityB
alors ActivityB
est lancé mais ne pas les params (et +clicked_branch_link
est false
)
incompatibilité de clé pourrait provoquer '+ param de clicked_branch_link' pour revenir' false'. Veuillez vérifier que vous avez défini les clés de branchement test/live correctes (reportez-vous à https://stackoverflow.com/questions/38763840/no-deep-link-data). Assurez-vous également que le lien et la clé Branch appartiennent à la même application Branch. –
La clé branch.io doit-elle entrer dans le code qui ouvre le lien de l'application? Si oui, cela signifie-t-il que nous avons besoin d'un code spécifique à une branche pour déclencher l'ouverture du lien? –
Pour recevoir les données de liaison profonde, vous devez enregistrer une fonction de routeur de liens profonds (remplacez 'onNewIntent()' dans Activité où vous appelez 'initSession'). Récupérez ensuite les paramètres de session en appelant 'branch.getLatestReferringParams' https://github.com/BranchMetrics/android-branch-deep-linking#initialization –