# Network Information プラグイン

このプラグインの詳細は、 [こちらの原文 ( GitHub )](https://github.com/apache/cordova-plugin-network-information) をご確認ください。

### プラグイン ID

```javascript
cordova-plugin-network-information
```

### プラグインの追加方法

このプラグインを使用する場合には、Monaca クラウド IDE の \[ Cordova プラグインの管理 ] 上で、`Network Information` プラグインを[有効](/products_guide/monaca_ide/dependencies/cordova_plugin.md#cordova-puraguin-noinpto)にします。

### 対象プラットフォーム

* Android
* iOS

### Connection

`connection` オブジェクトを使用して、セルラー、WiFi 接続などのネットワーク情報を取得します ( `navigator.connection` 経由で情報にアクセスします )。

### プロパティ

* connection.type

### 定数

* Connection.UNKNOWN
* Connection.ETHERNET
* Connection.WIFI
* Connection.CELL\_2G
* Connection.CELL\_3G
* Connection.CELL\_4G
* Connection.CELL
* Connection.NONE

### connection.type

このプロパティを使用して、ネットワーク接続の状態と接続のタイプを確認します。

#### 例

```javascript
function checkConnection() {
    var networkState = navigator.connection.type;

    var states = {};
    states[Connection.UNKNOWN]  = 'Unknown connection';
    states[Connection.ETHERNET] = 'Ethernet connection';
    states[Connection.WIFI]     = 'WiFi connection';
    states[Connection.CELL_2G]  = 'Cell 2G connection';
    states[Connection.CELL_3G]  = 'Cell 3G connection';
    states[Connection.CELL_4G]  = 'Cell 4G connection';
    states[Connection.CELL]     = 'Cell generic connection';
    states[Connection.NONE]     = 'No network connection';

    alert('Connection type: ' + states[networkState]);
}

checkConnection();
```

**API の変更点**

Cordova 2.3.0 までは、`navigator.network.connection` 経由で `Connection` オブジェクトにアクセスしていましたが、W3C の仕様に準拠するため、`navigator.connection` 経由に変更しました。 `navigator.network.connection` は利用できますが、将来的には廃止します。

**iOS 特有の動作**

* iOS では、セルラー接続のタイプを識別できません。
  * モバイルデータ通信 ( セルラーを使用したデータ通信 )に関しては、`navigator.connection.type` は `Connection.CELL`になります。

## ネットワーク関連のイベント

### offline

アプリがオフラインになったときに、このイベントが発火します。端末は、インターネットに接続されていません。

```javascript
document.addEventListener("offline", yourCallbackFunction, false);
```

#### 詳細

デバイスのネットワーク接続が切れたときに、`offline` ( オフライン ) イベントが発火します ( `connection.type` が `NONE` に変わったときに発火します )。ネットワーク接続が切れているため、アプリは、インターネットへアクセスできません。Connection API と同じ情報を使用します。

原則、イベントリスナーの登録には、 `document.addEventListener` を使用します。また、JavaScript からネイティブ機能へのアクセスは、`deviceready` イベントの発火後に行います。

#### 例

```javascript
document.addEventListener("offline", onOffline, false);

function onOffline() {
    // Handle the offline event
}
```

#### iOS 特有の動作

初回起動時は、`offline` ( オフライン ) イベントが発火するまで ( 発火の条件が揃ってること )、最低 1 秒かかります。

### online

アプリがオンラインになったときに、このイベントが発火します。端末は、インターネットに接続されています。

```javascript
document.addEventListener("online", yourCallbackFunction, false);
```

#### 詳細

端末がネットワークに接続して、アプリからインターネットが使用できる状態になったときに、`online` ( オンライン ) イベントが発火します ( `connection.type` が `NONE` から他の値に変わったときに発火します )。Connection API と同じ情報を使用します。

原則、イベントリスナーの登録には、 `document.addEventListener` を使用します。また、JavaScript からネイティブ機能へのアクセスは、`deviceready` イベントの発火後に行います。

#### 例

```javascript
document.addEventListener("online", onOnline, false);

function onOnline() {
    // Handle the online event
}
```

#### iOS 特有の動作

初回起動時は、`online` ( オンライン ) イベントが発火するまで ( 発火の条件が揃ってること )、最低 1 秒かかります ( `connection.type` が `UNKNOWN` になる前に )。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ja.docs.monaca.io/reference/core-cordova-plugins/cordova-12.0/network-information-puraguin.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
