# Integración del SDK

## Configurar proyecto

Para utilizar el SDK de netsocks en Flutter, es necesario declarar el SDK dentro del bloque `dependencies` del fichero `pubspec.yaml` de tu app:

```yaml
dependencies:
  netsocks: ^1.0.0-rc05
```

Después, tienes que ejecutar el siguiente comando para instalar el SDK en tu proyecto:

```bash
$ flutter pub get
```

Eso es todo. Ya puedes utilizar `import` para acceder a las funcionalidades del SDK:

```dart
import 'package:netsocks/netsocks.dart';
```

***

## Configurar Manifest con los permisos necesarios

**Nuestro SDK no recopila ningún tipo de información personal de tus usuarios**, por lo que no es necesario un permiso especial para que nuestro SDK funcione, por ese motivo únicamente hay que añadir el permiso de internet.

Para ello, tienes que añadir la siguiente línea en el archivo `android/app/src/main/AndroidManifest.xml` dentro del bloque `<manifest..>...`

<pre class="language-markup"><code class="lang-markup"><strong>&#x3C;uses-permission android:name="android.permission.INTERNET"/>
</strong></code></pre>

{% hint style="warning" %}
Es posible que ya tengas agregado este permiso con anterioridad, en caso de que ya lo tengas no es necesario volver a añadirlo.
{% endhint %}

***

## Consentimiento del usuario

En algunos países es necesario solicitar consentimiento al usuario para obtener rendimientos con su conexión a internet.  Puedes crear tu propia implementación para tal fin y llamar los métodos de activación o desactivación del SDK dependiendo de la respuesta del usuario.

***

## Inicializar/activar el SDK

{% hint style="info" %}
Recuerda que tu PUBLISHER-KEY se encuentra en el portal de netsocks. Para visualizarla haz clic en '**Añadir nueva aplicación**'. O consulta la sección [Publisher Key](https://docs.netsocks.io/spanish/portal/publisher-key).
{% endhint %}

Para inicializar y/o activar el SDK, es necesario añadir el siguiente código dentro del método `initState()` de tu aplicación:

```dart
await Netsocks.enable('PUBLISHER-KEY');
```

{% hint style="success" %}
Las aplicaciones se agregarán automáticamente a tu portal cuando el SDK sea integrado y se active por primera vez, esto es gracias a nuesta tecnología de **INTEGRACIÓN DE 1 SOLO PASO**, para que puedas enfocarte en lo que verdaderamente importa 🥰.
{% endhint %}

***

## Desactivar el SDK

Para desactivar el SDK, puedes llamar el siguiente código.

```dart
await Netsocks.disable();
```

{% hint style="info" %}
Es correcto llamar esta función si en tu implementación de consentimiento, el usuario rechazo tu solicitud. Esta función desactiva de manera permanente el SDK hasta que vuelvas a llamar el método de activación.
{% endhint %}
