2017-10-11 6 views
2

j'ai ajouté un deep linking à mon application Android ainsi:Android. Les liens profonds ne fonctionne pas avec le schéma http/https

Lorsque je clique sur https://example.com je suis redirigé vers le site Web.

Lorsque je change android:scheme="https" en android:scheme="appscheme" cela fonctionne et il me redirige vers mon application.

Comment forcer l'ouverture de mon application via le schéma https?

MISE À JOUR

J'ai ajouté un sous-domaine et il ne fonctionne toujours pas.

<activity 
     android:name=".views.DeepLinkActivity" 
     android:exported="true"> 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <data 
       android:scheme="https" 
       android:host="www.example.ru"/> 
     </intent-filter> 
    </activity> 
+1

est votre package projet example.com? Sinon remplacez-le par votre nom de paquet aussi essayez de remplacer l'hôte par cette ligne android: host = "open" faites ces deux et faites moi savoir –

+0

si je remplace l'hôte par "ouvert" comment est-ce supposé savoir de quel site je veux être redirigé? – Rainmaker

+0

il redirigera pour tous les sites et liens dès que le schéma correspond –

Répondre

1

Salut s'il vous plaît utiliser les données suivantes et essayez également consulter ce doc

<intent-filter> 
       <data 
        android:scheme="ou unique scheme(appname,package name)" /> 

       <action android:name="android.intent.action.VIEW" /> 
       <category android:name="android.intent.category.BROWSABLE" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 

OU

<data 
       android:scheme="you unique scheme(appname,package name)" 
       android:host="www.example.ru"/> 
0

Essayez cette

<activity 
      android:name=".views.DeepLinkingActivity" 
     android:exported="true"> 


      <intent-filter android:autoVerify="true"> 
       <action android:name="android.intent.action.VIEW" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
       <category android:name="android.intent.category.BROWSABLE" /> 

       <data 
        android:host="open" 
        android:scheme="example" /> 
      </intent-filter> 
      <intent-filter android:autoVerify="true"> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 

       <data 
        android:host="example.com" 
        android:pathPrefix="/" 
        android:scheme="http" /> 
      </intent-filter> 
      <intent-filter android:autoVerify="true"> 
       <action android:name="android.intent.action.VIEW" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
       <category android:name="android.intent.category.BROWSABLE" /> 

       <data 
        android:host="example.com" 
        android:pathPrefix="/" 
        android:scheme="https" /> 
      </intent-filter> 
     </activity> 
+0

Définir le schéma "example: //" dans votre application Branch.io –

+0

Mais que se passe-t-il si j'ai un schéma https? – Rainmaker

+0

oui, nous sommes définis à la fois https et http également dans intention-filter. Il travaille mon côté –

0

Vous faites référence à des liens profonds, mais android:autoVerify="true" est utilisé pour la liaison App, de sorte que le domaine example.com (que vous ne possédez pas?) Va avoir vérifié pour une numérique liens d'actifs fichier json. Voir https://developer.android.com/training/app-links/index.html

Pour que votre test fonctionne, je suggère de supprimer android:autoVerify="true" et d'ajouter un sous-domaine à l'hôte, par exemple. android:host="www.example.com"

+0

J'ai changé android: host = "example.com" à android: host = "www.example.com", autoVerify supprimé, mais aucun résultat, ai-je raté somth? – Rainmaker

+0

Avez-vous également modifié votre lien cliquable en 'https: // www.example.com'? – veritas1

+0

Maintenant, il est dit que la connexion n'est pas sécurisée. Par ailleurs, j'ai ajouté le fichier de liens d'actifs au serveur en fonction de votre lien, mais toujours aucun résultat – Rainmaker

0

Il suffit d'utiliser http. Je ne sais pas quand la mise en œuvre est modifiée.

Mais je viens de tester que l'utilisation de http fera fonctionner http et https.

Vous changer le filtre par intention:

<intent-filter android:autoVerify="true"> 

<action android:name="android.intent.action.VIEW" /> 
<category android:name="android.intent.category.DEFAULT" /> 
<category android:name="android.intent.category.BROWSABLE" /> 

<data 
    android:scheme="http" 
    android:host="example.com"/> 

</intent-filter>