(response-native-deep-link) Запуск приложения с использованием проблемы с входящей ссылкой (playstore url) - PullRequest
1 голос
/ 25 марта 2019

Я создал API, который перенаправляет на соответствующую ссылку приложения в playstore.При использовании API в интернет-браузере оно не открывает приложение, а открывает веб-страницу.

Я использую следующий код:

AndroidManifest.xml

<intent-filter android:label="filter_react_native">
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.DEFAULT"/>
      <category android:name="android.intent.category.BROWSABLE" />
      <data android:host="scoutnex-deeplink.herokuapp.com" android:scheme="https" android:pathPrefix="/scoutnex"/>
</intent-filter>

App.js

componentDidMount(){
   Linking.getInitialURL()
      .then(url => this.handleOpenURL({ url }))
      .catch(console.error);
   Linking.addEventListener("url", this.handleOpenURL);
}

Если я использую что-то вроде приведенного ниже кода, интернет-браузер выдает запрос на открытие внешнего приложения при использовании URLpeopleapp://people.

<data android:host="people" android:scheme="peopleapp"/>

1 Ответ

0 голосов
/ 30 марта 2019
> <intent-filter android:label="filter_react_native">
>           <action android:name="android.intent.action.VIEW" />
>           <category android:name="android.intent.category.DEFAULT"/>
>           <category android:name="android.intent.category.BROWSABLE" />
>           <data android:host="scoutnex-deeplink.herokuapp.com" android:scheme="https" android:pathPrefix="/scoutnex"/>
>     </intent-filter>

сгенерированный uri будет https://scoutnex -deeplink.herokuapp.com / scoutnex

для

ниже значения данных

> <data android:host="people" android:scheme="peopleapp"/>

сгенерированный uri будет peopleapp: // people

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

Наконец

Лучший способ проверить ваши намерения: URI:

1) Удалите существующее приложение, если оно еще не сделано.

2) синхронизируйте и соберите код снова.

3) Вызовите веб-просмотр в вашем приложении с помощью uri peopleapp: //people.

4) Должно работать.

5) если вы используете симулятор, проверьте ссылку ниже, предоставленную Android здесь

6) Запустите это в своем терминале (попробуйте adb devices для проверки).

> $ adb shell am start
>         -W -a android.intent.action.VIEW
>         -d <URI> <PACKAGE>

7) URI будет peopleapp: // people

8) ПАКЕТ будет вашим пакетом / заявкой / именем, т.е. .. @string/app_name.

Надеюсь, это поможет вам. Я ожидаю большей ясности в вашем блоке кода. Поэтому, пожалуйста, прокомментируйте, если вас это смущает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...