> For the complete documentation index, see [llms.txt](https://docs.blueseasx.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.blueseasx.com/adapters/tradplus.md).

# TradPlus

**Supported Ad Format**

* Interstitial
* Rewarded video
* Banner

### **1.  Integrate BlueSea SDK and Adapter**

### **Android**

To integrate BlueSea SDK and adapter, add dependencies like below into your `build.gradle` file

```
dependencies {
    implementation 'com.tradplusad:tradplus:16.0.0.1'
    ...
    implementation 'com.blueseasx:tradplus-adapter:1.8.1.0'
    implementation 'com.blueseasx:bluesea-ads:1.8.1'
}
```

To reduce video ad loading time, BlueSea SDK allows cleartext traffic to `127.0.0.1` by default in `AndroidManifest.xml`.

* `127.0.0.1` is a local server address used for 'download while playing', which speeds up ad loading and improves impression rates.
* Allowing cleartext traffic to `127.0.0.1` complies with Google policies.

```
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    ...
    <domain-config cleartextTrafficPermitted="true">
    <domain includeSubdomains="true">127.0.0.1</domain>
    </domain-config>
    ...
</network-security-config>
```

If a `networkSecurityConfig` conflict occurs after introducing the BlueSea SDK, you can replace the `android:networkSecurityConfig` attribute in the `AndroidManifest` file.

```
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <application
        ...
        android:networkSecurityConfig="@xml/network_security_config">
        tools:replace="android:networkSecurityConfig"
        ...
    </application>
</manifest>
```

The SDK requires network permissions to run. After introducing the BlueSea SDK, it will automatically add the network permission declaration in the `AndroidManifest.xml` file. Additionally, starting from Android 12, obtaining the GAID requires a declaration in the `AndroidManifest.xml`. To ensure optimal ad performance, the SDK will automatically add this declaration in the XML file, as shown below:

```
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="com.google.android.gms.permission.AD_ID" />
    <application
        ...
        android:networkSecurityConfig="@xml/network_security_config">
        tools:replace="android:networkSecurityConfig"
        ...
    </application>
</manifest>
```

In addition, the BlueSea SDK is using third-party dependency (`io.appmetrica.analytics:analytics`) to boost publishers’ yield. If your project has already involved this dependency, please read the following description carefully to prevent potential conflicts:&#x20;

The version of this dependency BlueSea used is `7.12.0`. If your project is using a version below than `7.12.0`, we recommend you to upgrade to `7.12.0` or higher version. While you are using a version higher than `7.12.0`, then you don’t have to make any changes.

### **iOS**

Include BlueSea Ads SDK and adapter via CocoaPods. Add below snippet in your Podfile and execute `pod install --repo-update`

```
pod 'BlueSeaSDK', '1.4.1'
pod 'BlueSeaTradPlusAdapter', '1.4.1.0'
pod 'TradPlusAdSDK', '~> 15.6.0'
```

Update `SKAdnetwork IDs.` Please perform an incremental update of the IDs provided [here](/ios/skadnetwork-ids.md).

### **2. TradPlus Setup**

### **Step1. Add Custom Network**

Go to the `Adv.Settings-Custom Network page,` click on `Add Network`

<div align="left"><img src="/files/AQVTEjWBo9hU3ZM4Zdkw" alt="" height="437" width="693"></div>

In Add Custom Network Firm Page, input

* **Network Name**: `BlueSea`
* **Currency**: `USD`

**Android Adapter’s Class names**：

* **Rewarded**: `com.tradplus.bluesea.adapter.BlueseaRewardVideoAdapter`
* **Interstitial**: `com.tradplus.bluesea.adapter.BlueseaInterstitialAdapter`
* **Banner**: `com.tradplus.bluesea.adapter.BlueseaBannerAdapter`

**iOS Adapter’s Class names：**

* **Rewarded**: `BlueSeaTradPlusCustomRewardedAdapter`
* **Interstitial**: `BlueSeaTradPlusCustomInterstitialAdapter`
* **Banner**: `BlueSeaTradPlusCustomBannerAdapter`

### **Step2. Configure Placement ID**

In the `App Management-Apps & Ad Units` page, click on `Add Single Ad Source`

<div align="left"><img src="/files/Iwotl59OjVp7qVqgvG2Q" alt="" height="187" width="693"></div>

In the `Add Ad Source page`, select BlueSea:

**Parameters**：add BlueSea app id and placement id as follows: `{"app_id":"bluesea app id","pid":"bluesea placement id"}`

**Header Bidding**：

* If you’re using BlueSea’s client bidding placement ID, then select CS2 Bidding

<div align="left"><img src="/files/G44KOr8jRK9xzMd6N7Ap" alt="" height="354" width="593"></div>

* If you’re using BlueSea’s waterfall , then select Off, and input the floor price that you’ve created on BlueSea’s console

<div align="left"><img src="/files/XyxrH6Ocec0Lyny1VOZ3" alt="" height="392" width="591"></div>

### **3. Testing & Verification**

Log in BlueSea’s console, navigate to `Integration > Test Device IDs`. Add the GAID/IDFA, use the live app id and placement ids to request ads for integration validation.

<div align="left"><img src="/files/hGMmv8JySrZwHU89muzs" alt="" height="291" width="725"></div>

Request and view ads. The following ad format is the BlueSea ad.

<div align="left"><img src="/files/BWvVNi1AC9GV4LSplDXt" alt="" height="496" width="244"></div>

<br>
