# Serverless Settings

## Network SDK key

Different networks have different naming conventions for their identification credentials that need to be passed to the network SDK when it starts. For example:\
\- **Applovin Max** uses **SDK key;**\
\- **Liftoff** uses **AppId;**\
**- Unity** uses **gameId;**\
**- Chartboost** uses **AppID** and **AppSignature;**

We have created a unified interface to simplify networks configuration.

To specify the initialization key for a desired ad network you can use the following code snippet:

{% tabs %}
{% tab title="Java" %}

```java
BIDConfiguration bidConfig = new BIDConfiguration();
bidConfig.setSDKKey(
    String key,
    BIDNetworkId networkId,
    String signature
);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
val bidConfig = BIDConfiguration()
bidConfig.setSDKKey(
    key : String,
    networkId : BIDNetworkId,
    signature : String
)
```

{% endtab %}
{% endtabs %}

## Network adTag for a desired ad format

To specify **adTag** for a desired ad network and ad format you may use the following code:

{% hint style="info" %}
The naming conventions for "adTag" can vary across different networks, and it might alternatively be referred to as "zone" or "placement."
{% endhint %}

{% tabs %}
{% tab title="Java" %}

```java
BIDConfiguration bidConfig = new BIDConfiguration();
bidConfig.setAdTag(
    String adTag,
    BIDNetworkId networkId,
    AdFormat adformat,
    double ecpm
);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
val bidConfig = BIDConfiguration()
bidConfig.setAdTag(
    adtag : String?,
    networkId : BIDNetworkId,
    adformat : AdFormat,
    ecpm : Double
)
```

{% endtab %}
{% endtabs %}

The **eCPM** values that you pass to the functions above will be used to **determine the position** of the ad network in the specified adForamt Waterfall.
