Поиск…


Вступление

Связывание API позволяет вам отправлять и получать ссылки между приложениями. Например, откройте приложение «Телефон» с номером, набранным или открывающим Карты Google, и начните навигацию к выбранному пункту назначения. Вы также можете использовать ссылку, чтобы приложение могло реагировать на ссылки, открывающие его из других приложений.

Для использования Linking необходимо сначала импортировать его из react-native

import {Linking} from 'react-native'

Исходящие ссылки

Чтобы открыть ссылку, вызовите openURL.

Linking.openURL(url)
.catch(err => console.error('An error occurred ', err))

Предпочтительный метод - проверить, может ли какое-либо установленное приложение обрабатывать заданный URL заранее.

Linking.canOpenURL(url)
.then(supported => {
  if (!supported) {
    console.log('Unsupported URL: ' + url)
  } else {
    return Linking.openURL(url)
  }
}).catch(err => console.error('An error occurred ', err))

Схемы URI

Целевое приложение пример Ссылка
Веб-браузер https://stackoverflow.com
Телефон tel:1-408-555-5555 яблоко
почта mailto:[email protected] яблоко
смс sms:1-408-555-1212 яблоко
Apple Maps http://maps.apple.com/?ll=37.484847,-122.148386 яблоко
Карты Гугл geo:37.7749,-122.4194 Google
Itunes См. ITunes Link Maker яблоко
facebook fb://profile Переполнение стека
YouTube http://www.youtube.com/v/oHg5SJYRHA0 яблоко
Facetime facetime://[email protected] яблоко
Календарь iOS calshow:514300000 [1] iPhoneDevWiki

[1] Открывает календарь в указанное количество секунд с 1. 1. 2001 (UTC?). По какой-то причине этот API не документирован Apple.

Входящие ссылки

Вы можете обнаружить, когда приложение запускается с внешнего URL-адреса.

componentDidMount() {
  const url = Linking.getInitialURL()
  .then((url) => {
    if (url) {
      console.log('Initial url is: ' + url)
    }
  }).catch(err => console.error('An error occurred ', err))
}

Чтобы включить это в iOS Link RCTLinking для вашего проекта .

Чтобы включить это на Android, выполните следующие действия .



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow