react-native
Łączenie natywnego interfejsu API
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 | |
iTunes | Zobacz iTunes Link Maker | jabłko |
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 .