-1

J'essaie d'implémenter l'indexation google app dans mes applications. Il fonctionne parfaitement avec presque toutes mes sections, mais il échoue avec une partie de mon application dont le nom est: Sección con acentos áéóL'indexation de Google App peut-elle fonctionner avec des caractères spéciaux dans l'URL? (acutes áéó ..)

ajouter ceci dans mon web html pour tester la liaison profonde:

<a href="android-app://com.example.launcher/http/section/Sección con acentos áéó">Sección con acentos áéó</a> 

Quand je presse la lien sur le html, mon application est ouverte avec succès mais le filtre d'intention n'est pas appelé correctement car je ne peux pas recevoir le corps de données avec "Sección con acentos áéó"

J'ai essayé d'utiliser un lien URL codé avec Secci%C3%B3n%20con%20acentos%20%C3%A1%C3%A9%C3%B3 même problème

Google App L'indexation de liens profonds a-t-elle des limitations avec les caractères spéciaux?

Répondre

2

Google App L'indexation de liens profonds a des limitations avec des caractères spéciaux ?

Non, il n'y a aucune limitation avec les caractères spéciaux.

J'ai essayé à la fois votre URL et aussi avec l'URL générée par le Test Your App Indexing Implementation page officiel:

android-app://com.example.launcher/http/section/Sección con acentos áéó 
android-app://com.example.launcher/http/section/Secci%C3%B3n%20con%20acentos%20%C3%A1%C3%A9%C3%B3 
intent://section/Secci%C3%B3n con acentos %C3%A1%C3%A9%C3%B3#Intent;scheme=http;package=com.example.launcher;end 

Chaque URL ouvre avec succès l'application et la data contenue dans l'intention est:

http://section/Secci%C3%B3n%20con%20acentos%20%C3%A1%C3%A9%C3%B3 

Une fois reçu l'intention, vous devez utiliser URLDecoder.decode pour décoder l'URL:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Intent intent = getIntent(); 
    if (intent != null) { 
     Uri data = intent.getData(); 
     if (data != null) { 
      String uri = data.toString(); 
      Log.d(TAG, "URI: " + uri); 

      String decodedUri = null; 

      try { 
       decodedUri = URLDecoder.decode(uri, "UTF-8"); 
      } catch (UnsupportedEncodingException e) { 
       e.printStackTrace(); 
      } 

      Log.d(TAG, "DECODED URI: " + decodedUri); 
     } 
    } 
} 

Ceci est le résultat obtenu:

com.example.launcher D/MainActivity: URI: http://section/Secci%C3%B3n%20con%20acentos%20%C3%A1%C3%A9%C3%B3 
com.example.launcher D/MainActivity: DECODED URI: http://section/Sección con acentos áéó 
+0

hey le lien « http://example.com/abc#/catalog/ » ne fonctionne pas en liaison profonde, car il a « # » en elle. Si je retire le #, cela fonctionne. Toute solution? Pls aide. – iMDroid