Szukaj…


Wprowadzenie

Linking API umożliwia wysyłanie i odbieranie łączy między aplikacjami. Na przykład, otwieranie aplikacji Telefon z wybranym numerem lub otwieranie Map Google i rozpoczynanie nawigacji do wybranego miejsca docelowego. Możesz także użyć funkcji Łączenie, aby aplikacja mogła odpowiadać na linki otwierające ją z innych aplikacji.

Aby skorzystać z Linking , musisz najpierw zaimportować go z react-native

import {Linking} from 'react-native'

Linki wychodzące

Aby otworzyć link zadzwoń openURL.

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

Preferowaną metodą jest wcześniejsze sprawdzenie, czy jakakolwiek zainstalowana aplikacja może obsłużyć dany adres 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))

Schematy URI

Aplikacja docelowa Przykład Odniesienie
Przeglądarka internetowa https://stackoverflow.com
Telefon tel:1-408-555-5555 jabłko
Poczta mailto:[email protected] jabłko
SMS sms:1-408-555-1212 jabłko
Mapy Apple http://maps.apple.com/?ll=37.484847,-122.148386 jabłko
mapy Google geo:37.7749,-122.4194 Google
iTunes Zobacz iTunes Link Maker jabłko
Facebook fb://profile Przepełnienie stosu
Youtube http://www.youtube.com/v/oHg5SJYRHA0 jabłko
Facetime facetime://[email protected] jabłko
Kalendarz iOS calshow:514300000 [1] iPhoneDevWiki

[1] Otwiera kalendarz z podaną liczbą sekund od 1. 1. 2001 (UTC?). Z jakiegoś powodu Apple nie dokumentuje tego interfejsu API.

Przychodzące linki

Możesz wykryć, kiedy aplikacja zostanie uruchomiona z zewnętrznego adresu URL.

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

Aby włączyć to w iOS Link RCTLinking do twojego projektu .

Aby włączyć to w Androidzie, wykonaj następujące kroki .



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow