expo-linking
@amazon-devices/expo-linkingは、ディープリンクを使用して、インストールされているほかのアプリとやり取りするためのユーティリティをアプリに提供します。アプリへのディープリンクを作成および解析するためのヘルパーメソッドも用意されています。このモジュールは、React NativeのLinkingモジュールの拡張です。
インストール
package.jsonファイルにJavaScriptライブラリの依存関係を追加します。dependencies: { ... "@amazon-devices/expo-linking": "~2.0.0", "expo": "~50.0.0", ... }npm installコマンドを使用して、依存関係を再インストールします。
例
import * as Linking from '@amazon-devices/expo-linking';
import React, {useEffect, useState} from 'react';
import {Button, StyleSheet, Text, View} from 'react-native';
const URL = 'pkg://com.amazondeveloper.uisvg-demo.main';
export const App = () => {
const [parsedUrl, setParsedUrl] = useState<string | null>(null);
useEffect(() => {
const parsed = Linking.parse(URL);
setParsedUrl(JSON.stringify(parsed, null, 2));
}, []);
const onLinking = async () => {
const supported = await Linking.canOpenURL(URL);
if (supported) {
await Linking.openURL(URL);
}
};
return (
<View style={styles.container}>
{parsedUrl && <Text style={styles.text}>{parsedUrl}</Text>}
<Button title="アプリにリンク" onPress={onLinking} />
</View>
);
};
const styles = StyleSheet.create({
container: {
backgroundColor: 'white',
flex: 1,
},
text: {
color: 'black',
fontSize: 32,
},
});
APIリファレンス
このライブラリの情報、APIリファレンス、その他の詳細については、 Expo公式ドキュメントのexpo-linkingのページ(英語のみ)を参照してください。
フック
| フック | 説明 |
|---|---|
useURL |
初期URLを返した後、URLが変更されるとその変更を返します。 |
メソッド
| メソッド | 説明 |
|---|---|
canOpenURL |
指定されたURLを、インストールされているアプリで開くことができるかどうかを判断します。ウェブ上では、どのURLを開くことができるかを検出するAPIがないため、常にtrueが返されます。 |
collectManifestSchemes |
マニフェストからプラットフォームスキームのリストを収集します。このメソッドは、ネイティブアプリの事前ビルド前にスキームを収集するために使用される、@expo/config-pluginsのSchemeモジュールに基づいています。 |
createURL |
オプションのパスと一連のクエリパラメーターを指定して、アプリへのディープリンクを構築するヘルパーメソッド。デフォルトで2つのスラッシュを含むURIスキームを作成します。ベアのスタンドアロンのスキームを、Expoの構成(app.config.jsまたはapp.json)のexpo.schemeで定義する必要があります。 |
getInitialURL |
アプリがリンクから起動された場合に、アプリの起動に使用されたURLを取得します。 |
hasConstantsManifest |
ベアワークフローでexpo-constantsマニフェストがユーザーによってリンクされたことを確認します。 |
hasCustomScheme |
アプリがカスタムスキームで構成されているかどうかを返します。 |
openSettings |
オペレーティングシステムの設定アプリを開き、アプリのカスタム設定がある場合はその画面を表示します。 |
openURL |
指定されたURLを、インストールされているアプリで開くことを試みます。 |
parse |
URLからディープリンク情報を解析するためのヘルパーメソッド。 |
parseInitialURLAsync |
React NativeのLinking.getInitialURL()をLinking.parse()でラップするヘルパーメソッド。最初にエクスペリエンスを開くために使用されたURLからディープリンク情報を解析します。アプリを開いたリンクがない場合は、すべてのフィールドがnullになります。 |
resolveScheme |
解決されたスキームを表す文字列を返します。カスタムスキームが構成されている場合、そのスキームが返されます。 |
イベントサブスクリプション
| サブスクリプション | 説明 |
|---|---|
addEventListener |
URLイベントタイプをリッスンするように指定してハンドラーを渡すことで、リンクの変更にハンドラーを追加します。代わりにuseURL()フックを使用することをお勧めします。 |
サポートされているバージョン
| パッケージのバージョン | ベース | @amazon-devices/react-native-kepler version |
|---|---|---|
| 2.0.x | 6.1.1 | 2.0.x |
関連リソース
その他のライブラリについては、サポート対象のサードパーティのライブラリとサービスを参照してください。
Last updated: 2025年9月30日

