as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート

expo-linking

expo-linking

@amazon-devices/expo-linkingは、ディープリンクを使用して、インストールされているほかのアプリとやり取りするためのユーティリティをアプリに提供します。アプリへのディープリンクを作成および解析するためのヘルパーメソッドも用意されています。このモジュールは、React NativeのLinkingモジュールの拡張です。

インストール

  1. package.jsonファイルにJavaScriptライブラリの依存関係を追加します。

    クリップボードにコピーしました。

     dependencies: {
         ...
         "@amazon-devices/expo-linking": "~2.0.0",
         "expo": "~50.0.0",
         ...
     }
    
  2. 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日