---
id: network-plugin
title: Network Setup
sidebar_label: Network
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

To use the network plugin, you need to add the plugin to your Flipper client instance.

## Android

The network plugin is shipped as a separate Maven artifact:

```groovy
dependencies {
  debugImplementation 'com.facebook.flipper:flipper-network-plugin:0.76.0'
}
```

Once added to your dependencies, you can instantiate the plugin and add it to
the client:

```java
import com.facebook.flipper.plugins.network.NetworkFlipperPlugin;

NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin();
client.addPlugin(networkFlipperPlugin);
```

### OkHttp Integration

If you are using the popular OkHttp library, you can use the Interceptors system to automatically hook into your existing stack.

```java
import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor;

new OkHttpClient.Builder()
    .addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin))
    .build();
```

As interceptors can modify the request and response, add the Flipper interceptor after all others to get an accurate view of the network traffic.

## iOS

To enable network inspection, add the following pod to your Podfile:

```ruby
pod 'FlipperKit/SKIOSNetworkPlugin', '~>' + flipperkit_version
```

Initialise the plugin in the following way:

<Tabs defaultValue="ios" values={[{ label: 'iOS', value: 'ios'}, { label: 'Swift', value: 'swift'}]}>
<TabItem value="ios">

```objective-c
#import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h>

[[FlipperClient sharedClient] addPlugin: [[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]];

```

</TabItem>
<TabItem value="swift">

```swift
import FlipperKit

client?.add(FlipperKitNetworkPlugin(networkAdapter: SKIOSNetworkAdapter()))

```

</TabItem>
</Tabs>
