as

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

expo-network

expo-network

@amazon-devices/expo-networkは、IPアドレス、MACアドレス、機内モードのステータスなど、デバイスのネットワークに関する有用な情報を提供します。

インストール

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

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

     dependencies: {
         ...
         "@amazon-devices/expo-network": "~2.0.0",
     }
    
  2. npm installコマンドを使用して、依存関係を再インストールします。

ネットワーク機能をテストするには、デバイスシェルでWi-Fiに接続する必要があります。NETWORKPASSWORDは適切な認証情報に置き換えてください。

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

> ace mw wifi add_network ssid=$NETWORK psk=$PASSWORD
> ace mw wifi connect $NETWORK

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

import * as Network from '@amazon-devices/expo-network';
import React, {useEffect, useState} from 'react';
import {StyleSheet, Text, View} from 'react-native';

export const App = () => {
  const [networkState, setNetworkState] = useState<Network.NetworkState>();
  const [ipAddress, setIpAddress] = useState<string>();
  const [airplaneModeEnabled, setAirplaneModeEnabled] = useState<boolean>();

  useEffect(() => {
    (async () => {
      setNetworkState(await Network.getNetworkStateAsync());
      setIpAddress(await Network.getIpAddressAsync());
      setAirplaneModeEnabled(await Network.isAirplaneModeEnabledAsync());
    })();
  }, []);

  return (
    <View style={styles.container}>
      <Text style={styles.text}>
        getNetworkStateAsync().type: {networkState?.type}
      </Text>
      <Text style={styles.text}>
        getNetworkStateAsync().isConnected: {String(networkState?.isConnected)}
      </Text>
      <Text style={styles.text}>
        getNetworkStateAsync().isInternetReachable:{' '}
        {String(networkState?.isInternetReachable)}
      </Text>
      <Text style={styles.text}>getIpAddressAsync(): {ipAddress}</Text>
      <Text style={styles.text}>
        isAirplaneModeEnabledAsync(): {String(airplaneModeEnabled)}
      </Text>
    </View>
  );
};

const styles = StyleSheet.create({
  container: {
    backgroundColor: 'white',
    flex: 1,
  },
  text: {
    color: 'black',
    fontSize: 32,
  },
});

APIリファレンス

このライブラリの情報、APIリファレンス、その他の詳細については、 Expo公式ドキュメントのexpo-networkのページ(英語のみ)を参照してください。

メソッド

名前 説明
Network.getIpAddressAsync() Promise<string> デバイスの現在のIPv4アドレスを取得します。IPアドレスを取得できなかった場合は0.0.0.0を返します。
Network.getNetworkStateAsync() Promise<NetworkState> デバイスの現在のネットワーク接続状態を取得します。
Network.isAirplaneModeEnabledAsync() Promise<boolean> デバイスが機内モードになっているかどうかを示します。Keplerでは、常にfalseを返します。

実装の詳細

  • Network.isAirplaneModeEnabledAsync() - 常にfalseを返します。
  • Network.getNetworkStateAsync() - isInternetReachableフィールドは常に定義されません。
  • Network.getNetworkStateAsync() - typeフィールドが取り得る値は、NONEWIFIのいずれかだけです。

シミュレーターでのテスト

以下のコマンドを実行すると、Vega仮想デバイスでネットワーク接続をテストできます。

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

vda shell
ace mw wifi_cli add_network ssid=test psk=test_password
ace mw wifi_cli connect test

サポートされているバージョン

パッケージのバージョン ベース @amazon-devices/react-native-kepler version
2.0.x 5.7.0 2.0.x

関連リソース

その他のライブラリについては、サポート対象のサードパーティのライブラリとサービスを参照してください。


Last updated: 2025年9月30日