8

Я использую индексирование приложений в своем приложении, но иногда он не получает правильные намерения от Chrome.Углубленная ссылка Android работает только на некоторых веб-сайтах

Если я открою ссылку с моего веб-сайта, ее откроет хром. Поэтому я создал сайт тестирования, который имеет тот же код. Однако в этом случае мое приложение правильно открывает глубокую ссылку.

Я не могу найти объяснений, так как он использует тот же код в Интернете (но на разных сайтах) и в том же приложении для Android.

Это моя цель-фильтр:

 <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="https" android:host="soriabus-web.appspot.com" android:pathPrefix="/" /> 
     </intent-filter> 

Это HTML-код в моей кнопки:

<a href="https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados/true" 
"type="button" 
role="button" 
class="btn btn-primary"> 
Abrir Soria Bus 
</a> 

Если открыть ссылку в этом адресе (производство), он открывает Play Маркета (конец ссылки является перенаправление на Google Play):

https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados

Если я открыть ссылку в этом другом адресе (тест), он открывает мое приложение correclty:

https://central-splice-128620.appspot.com/parada/1/plaza-mariano-granados

Я не понимаю, почему ссылки обрабатываются differenty. Спасибо.

EDIT:

Это потому, что я по ссылке внутри того же сайта?

https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados => https://soriabus-web.appspot.com/parada/1/plaza-mariano-granados/playstore

ответ

1

Если вы тестировали его в Android браузер (браузер по умолчанию до Android 4.2), она работает. Так что, похоже, это особенность от браузера Chrome Chrome. упоминается здесь: https://developer.chrome.com/multidevice/android/intents

 
And Chrome doesn’t launch an external app for a given Intent URI in the following cases. 

When the Intent URI is redirected from a typed in URL. 
When the Intent URI is initiated without user gesture. 

В вашем случае, это то же самое, как типизированных URL.

Вы должны попробовать синтаксис intent://, который рекомендуется Google, если вы хотите открыть его из хрома.

+0

Не является Chrome браузером по умолчанию Android? –

+0

Или я мог бы задать вопрос следующим образом: «Почему мой случай совпадает с типом URL-адреса, если мое действие нажимает кнопку?» –

+0

@JavierDelgado Из-за этого браузер Android, браузер по умолчанию перед Android 4.2, я отредактировал эту часть в своем ответе. не могли бы вы попробовать «намерение», о котором я упомянул? – xfdai

Смежные вопросы