2017-08-12 2 views
0

Nous utilisons le deeplinking pour ouvrir notre application par le client. Notre schéma est personnalisé comme mozatfoo, et notre URL est mozatfoo://video/335477/1502489665013698. Cette URL peut être utilisé pour ouvrir notre application correctement avec adb commande comme:Le schéma de liens profonds ne peut pas être traité correctement?

adb shell am start -a android.intent.action.VIEW -d mozatfoo://video/335477/1502489665013698 

Mais lorsque nous utilisons Appsflyer d'intégrer nos fonctions deeplinking, nous avons trouvé ce régime et url change:

intent://video/1449937/1502363982400417?media_source=Test#Intent;scheme=mozatloops;package=mozat.rings.loops;S.browser_fallback_url=market://details?id=mozat.rings.loops&referrer=af_tranid%253DFg_WOxRqK7cNq7j7YR1AUg%2526pid%253DTest%2526c%253Dshare_code%2526af_dp%253Dmozatfoo%253A%252F%252Fvideo%252F1449937%252F1502363982400417%252Fst01;S.market_referrer=af_tranid%3DFg_WOxRqK7cNq7j7YR1AUg%26pid%3DTest%26c%3Dshare_code%26af_dp%3Dmozatloops%3A%2F%2Fvideo%2F1449937%2F1502363982400417%2Fst01;end 

Cette URL ne peut pas invoquer notre application. Ma question est:

  1. Le système Android peut-il reconnaître le schéma intent://?
  2. Si la réponse à la question 1 est oui, comment Android traiter l'URL avec intent:// schéma?

Répondre

0
  1. peut reconnaître le système Android système intent://?

Oui, c'est le cas.

  1. Si la réponse à la question 1 est oui, comment url processus android avec intent:// système?

Il traite comme uri régulier et remplace le régime avec celui contenu dans le intent:// uri.
Ces uri sont souvent appelés Chrome Intents depuis leur introduction ici.

Voir la documentation ici: https://developer.chrome.com/multidevice/android/intents

Et le code source correspondant de l'analyse syntaxique uri est ici: https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/content/Intent.java#5068