2016-09-29 1 views
0

Dans ma page web j'ajouter:Android liens profonds

<meta property="al:android:url" content="myapp://dp/product/5" /> 
<meta property="al:android:app_name" content="myAPP" /> 
<meta property="al:android:package" content="xx.xxxx.xxx.v2" /> 

et dans mon AndroidManifest i ajouté:

<intent-filter> 
      <data android:scheme="https" android:host="mywebsite.com" /> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 

Quand je tape un de mon lien dans une recherche Google ouvre mon application, mais la seule information que je reçois de getIntent(). getData() est le lien d'URL. Comment puis-je obtenir les informations (contenu) à l'intérieur de mon application:

<meta property="al:android:url" content="myapp://dp/product/5" /> 

Merci

Répondre

0

Si vous ouvrez un lien mywebsite.com, alors c'est l'URL que vous récupérerez de getData(). Pour obtenir l'URI myapp://, vous devez avoir ouvert un lien myapp:// directement. Vous devez ajouter un autre filtre <intent> avec son propre tag <data> pour votre modèle myapp://. Il serait probablement ressembler à ceci:

Si vous voulez juste passer par paires de paramètres clé/valeur lorsqu'un lien profond est ouvert, vous pourriez envisager une plate-forme de lien profond libre comme Branch.io (divulgation complète: I suis sur l'équipe de la branche). Cela vous donne des paramètres avec chaque lien, ce qui signifie plus de flexibilité et pas besoin de gérer les liens myapp:// différemment des liens http. Cela fonctionne également même si l'application n'est pas installée lors de la première ouverture du lien.