# AppLovin MAX

{% hint style="danger" %}
The **legacy MAX HyprMX adapter** is being sunset. Migrate to the **custom adapter** **today** to avoid any disruption to monetization
{% endhint %}

## Introduction <a href="#hyprmxmobilesdkadmobadapteroverview-introduction" id="hyprmxmobilesdkadmobadapteroverview-introduction"></a>

This guide walks you through setting up the HyprMX SDK as a custom ad network in AppLovin MAX mediation. See below for instructions on how to set up a new adapter or upgrade to newer versions.

## Supported Ad Formats <a href="#hyprmxmobilesdkadmobadapteroverview-introduction" id="hyprmxmobilesdkadmobadapteroverview-introduction"></a>

* Rewarded Ads
* Interstitial Ads&#x20;
* Banner/MREC&#x20;

## Compatibility <a href="#hyprmxmobilesdkadmobadapteroverview-upgradeinstructions5.0to5.4.5.0" id="hyprmxmobilesdkadmobadapteroverview-upgradeinstructions5.0to5.4.5.0"></a>

* **HyprMX-Max Adapter Version:** 6.4.6.0
* **Compatible with AppLovin SDK:** 12.4.1+

If you need support for older AppLovin versions, your HyprMX account manager is here to help.

## Step 1: Add HyprMX as a Custom Network <a href="#hyprmxmobilesdkadmobadapteroverview-upgradeinstructions5.0to5.4.5.0" id="hyprmxmobilesdkadmobadapteroverview-upgradeinstructions5.0to5.4.5.0"></a>

{% stepper %}
{% step %}
In the MAX Dashboard, go to: [MAX > Mediation > Manage > Networks](https://dash.applovin.com/o/mediation/networks/).
{% endstep %}

{% step %}
Click "**Click here to add a Custom Network"** at the bottom of the page. The "**Create Custom Network"** page appears.
{% endstep %}

{% step %}
Enter the following details about the custom network:

* **Network Type**: SDK
* **Custom Network Name**: HyprMX
* **iOS Adapter Class Name**: HyprMXAdapter
* **Android Adapter Class Name:** com.hyprmx.android.HyprMXMaxAdapter

{% hint style="info" %}
**Please note:** iOS and Android Class Names must be entered *exactly* as indicated above.
{% endhint %}

<figure><img src="/files/bt2kzlcC9T05CR61OrDw" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Press Save to create the SDK network.
{% endstep %}
{% endstepper %}

## Step 2: Create Ad Units <a href="#hyprmxmobilesdkadmobadapteroverview-upgradeinstructions5.0to5.4.5.0" id="hyprmxmobilesdkadmobadapteroverview-upgradeinstructions5.0to5.4.5.0"></a>

> 💡**Migrating from the MAX Legacy Adapter?**
>
> If you’ve previously set up HyprMX ad units using the legacy adapter, you’ll need to create **new placements** for the custom adapter.

**To set up:**

{% stepper %}
{% step %}
Open [MAX > Mediation > Manage > Ad Units](https://dash.applovin.com/o/mediation/ad_units/) in the MAX dashboard.
{% endstep %}

{% step %}
Click the ad unit where you want to enable HyprMX.
{% endstep %}

{% step %}
Scroll down to the Custom Networks section and enable **HyprMX.**

<figure><img src="/files/sgRWzKZV0SdqV4TqUaTO" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Enter relevant information for each placement.

> 💡**Migrating from the MAX Legacy Adapter?**
>
> To keep your reporting clean and seamless:
>
> * **Use the same Distributor ID(s)** you've been using with your current setup
> * **Use the same Placement Name(s)** as your current setup

* **App ID:** Your Distributor ID (from your account manager)
* **Placement ID:** Your Placement Name (from your account manager)
* **CPM Price:** Desired floor price
  {% endstep %}

{% step %}
Save and repeat these steps for each Ad Unit you'd like to configure.
{% endstep %}

{% step %}
If you’re migrating from the legacy adapter and still have older app builds with the legacy adapter live, keep the legacy adapter settings enabled under **Other Networks** to continue monetizing those builds. You may keep both legacy and custom adapter settings enabled at the same time, **but each app build should include only one HyprMX adapter to avoid conflicts.**

<figure><img src="/files/4I2eaxIJUCmpumkYW1Lo" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

## Step 3: Install Custom Adapter <a href="#hyprmxmobilesdkadmobadapteroverview-upgradeinstructions5.0to5.4.5.0" id="hyprmxmobilesdkadmobadapteroverview-upgradeinstructions5.0to5.4.5.0"></a>

{% file src="/files/vSJcGp8UVN3neDSWMEEl" %}

{% stepper %}
{% step %}
If you're migrating from the legacy MAX adapter, delete the legacy HyprMX Unity Package in your AppLovin Integration Manager.

{% hint style="danger" %}
**Important: Avoid Adapter Conflicts**

Only use a **single** HyprMX adapter (either legacy or custom) in a given **app** **build**. Running more than one may cause conflicts and disrupt monetization.
{% endhint %}
{% endstep %}

{% step %}
Download the HyprMX Unity AppLovin Max Adapter Plugin above.
{% endstep %}

{% step %}
Open your existing application in the Unity IDE.
{% endstep %}

{% step %}
Choose **Assets > Import Package > Custom Package...** to bring up the File Explorer (Windows) or Finder (Mac).
{% endstep %}

{% step %}
Select the HyprMX Unity AppLovin Max Adapter package, and the "**Import Unity Package"** dialog box displays all the items in the package pre-checked and ready to install.
{% endstep %}

{% step %}
Install the package.
{% endstep %}
{% endstepper %}

## Step 4: \[iOS Only] Configure iOS Settings <a href="#hyprmxmobilesdkadmob-unity-adapteroverview-iosconfiguration" id="hyprmxmobilesdkadmob-unity-adapteroverview-iosconfiguration"></a>

If you're setting up an iOS app, complete the following steps. If not, move on to [Step 5](#hyprmxmobilesdkadmobadapteroverview-upgradeinstructions5.0to5.4.5.0-4).

{% stepper %}
{% step %}
Configure your iOS Resolver settings to embed Dynamic Frameworks:

* Open **Assets > External Dependency Manager > iOS Resolver > Settings**.
* Enable "**Always add the main target to Podfile**".

<figure><img src="/files/QrX8uGTtHwt8VQNUImcw" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
If you prefer to enable ATS, uncheck the **"Allow Downloads over HTTP"** checkbox in Player Settings.&#x20;

<figure><img src="/files/fPZgSFWX0XSnUr9vJ8vN" alt="" width="308"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
When the checkbox is unchecked, add the following keys to the exported iOS project's Info.plist:

* NSAllowsArbitraryLoads
* NSAllowsArbitraryLoadsForMedia
* NSAllowsArbitraryLoadsInWebContent
  {% endstep %}
  {% endstepper %}

### Orientation

HyprMX recommends your app support all orientations globally **to maximize ad fill**, as HyprMX ads may be shown in any orientation, and our view controller needs your app to support that behavior. You can configure this by selecting all possible orientations in your project's **Player Settings > Resolution and Presentation**.  For your iOS target, set your Default Orientation to `Auto Rotation` and **select all orientation check boxes:**

<figure><img src="/files/Jxd9GWUYqgCBIelxODC9" alt=""><figcaption></figcaption></figure>

**Please note,** this setup does not require that your Game Scene's interface support all orientations. You just have to configure each of the supported orientations on the `Screen` object when your scene loads:

```csharp
    public void Start()
    {
#if UNITY_IOS
    Screen.autorotateToPortrait = false;
    Screen.autorotateToPortraitUpsideDown = false;
    Screen.autorotateToLandscapeLeft = true;
    Screen.autorotateToLandscapeRight = true;
#endif
    }
```

#### Configuring Privacy Controls  <a href="#hyprmxmobilesdkadmob-unity-adapteroverview-configuringprivacycontrols" id="hyprmxmobilesdkadmob-unity-adapteroverview-configuringprivacycontrols"></a>

iOS requires that the use of a user's camera, calendar, photo library, IDFA, etc., be declared by advertisers in the plist. Add all of the following entries to your app's plist:

```
<key>NSCameraUsageDescription</key>
    <string>${PRODUCT_NAME} requests write access to the Camera</string>
<key>NSCalendarsUsageDescription</key>
    <string>${PRODUCT_NAME} requests access to the Calendar</string>
<key>NSPhotoLibraryUsageDescription</key>
    <string>${PRODUCT_NAME} requests access to the Photo Library</string>
<key>NSPhotoLibraryAddUsageDescription</key>
    <string>${PRODUCT_NAME} requests write access to the Photo Library</string> 
<key>NSUserTrackingUsageDescription</key>
    <string>${PRODUCT_NAME} would like to show you personalized ads</string>
```

{% hint style="info" %}
**Note:** Photo Usage and the Photo Add Usage keys are required by the framework to ensure all rich media advertisements are supported.
{% endhint %}

### SKAdNetwork Identifier <a href="#hyprmxmobilesdkadmob-unity-adapteroverview-skadnetworkidentifier" id="hyprmxmobilesdkadmob-unity-adapteroverview-skadnetworkidentifier"></a>

The HyprMX 6.0.0+ SDK supports Apple's SKAdNetwork for Attribution. To add the HyprMX SKAdNetwork ID to your Info.plist:

```
<key>SKAdNetworkItems</key>
<array>
    <dict>
        <key>SKAdNetworkIdentifier</key>
        <string>nu4557a4je.skadnetwork</string>
    </dict>
    ...
</array>
```

{% hint style="info" %}
**Note:** SKAdNetwork IDs are case-sensitive.  For more information about SKAdNetwork, please refer to Apple's [documentation](https://developer.apple.com/documentation/storekit/skadnetwork).
{% endhint %}

## Step 5: Test and Verify Integration <a href="#hyprmxmobilesdkadmobadapteroverview-upgradeinstructions5.0to5.4.5.0" id="hyprmxmobilesdkadmobadapteroverview-upgradeinstructions5.0to5.4.5.0"></a>

You can receive test ads by enabling test mode. When using the **custom adapter**, enable **test mode** **before** initializing MAX:

{% tabs %}
{% tab title="C#" %}

```csharp
HyprMXAdapter.enableTestMode();
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
When testing HyprMX, ensure that your mobile device is **not** listed in the **MAX Test Devices** on the AppLovin Dashboard.
{% endhint %}

We recommend putting HyprMX at the top of your waterfall during testing to ensure you receive ad requests.

<figure><img src="/files/HUkarYgzepFZiUfr2sM1" alt=""><figcaption></figcaption></figure>

Once the SDK is initialized, request an ad and confirm you see **test ads**. That’s it — you're integrated!&#x20;

{% hint style="info" %}
**Don’t forget:** Disable test mode before going live to start receiving live ads.
{% endhint %}

## Need Help?

If you have any questions, your HyprMX account manager is just a message away!

## License <a href="#license" id="license"></a>

By integrating the HyprMX SDK, you are agreeing to the [End User License Agreement](https://hyprmx.com/eula.html).


---

# 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://documentation.hyprmx.com/sdk-integration-guides/unity/applovin-max.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.
