Android / Amazon
The HyprMX SDK is designed to present rewarded, interstitial, and banner/MREC ads in your application. To integrate the SDK, follow the steps below.
SDK Integration
You can integrate the HyprMX SDK through Gradle dependencies. Follow the steps below to set up the SDK.
Open your existing application in Android Studio.
Add the HyprMX SDK to your app's build.gradle
file dependencies block:
dependencies {
implementation 'com.hyprmx.android:HyprMX-SDK:6.4.2'
}
Adding Google Play Services Ads Identifier is optional. If the dependency below is included, it is the app developer's responsibility to ensure compliance with all Google Play policies, including, but not limited to, the Families Program.
dependencies {
implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'
}
If you are using Kotlin in your application, add the following to your build.gradle
inside the android
block:
kotlinOptions {
jvmTarget = "1.8"
freeCompilerArgs = [
"-Xjvm-default=compatibility",
]
}
Initializing HyprMX
After you have integrated the SDK, proceed to initialize the HyprMX SDK. To initialize, follow the steps below.
Add the following imports to your activity, or auto-import them as you move forward with your integration:
import com.hyprmx.android.sdk.core.HyprMX;
import com.hyprmx.android.sdk.core.HyprMXErrors;
import com.hyprmx.android.sdk.core.HyprMXIf;
import com.hyprmx.android.sdk.core.InitResult;
import com.hyprmx.android.sdk.placement.HyprMXPlacementExpiryListener;
import com.hyprmx.android.sdk.placement.HyprMXRewardedShowListener;
import com.hyprmx.android.sdk.placement.HyprMXShowListener;
import com.hyprmx.android.sdk.placement.Placement;
Initialize the HyprMX SDK in your main Activity
inside the onCreate
method as shown below.
As a best practice, initialize HyprMX as soon as possible (i.e. when your application is loading) so we can begin preloading ads.
Review the details of initialization parameters, context and distributorID.
private HyprMXIf.HyprMXInitializationListener initializationListener = this;
HyprMX.INSTANCE.initialize(this, DISTRIBUTOR_ID, initializationListener);
// or
HyprMX.INSTANCE.initialize(this, DISTRIBUTOR_ID, initResult -> {
// do something
});
context (required)
Your current context
instance.
distributorID (required)
The value for distributorID
is assigned to your app by HyprMX. If you have not received this ID and your placements information, please reach out to your HyprMX account manager.
If you need to call HyprMx initializer inside a suspending function you can do as below:
val (initSuccess, _) = HyprMX.initialize(this@MainActivity, DISTRIBUTOR_ID)
Initialization Callbacks
initializationListener
is the listener for the Initialization Status of the SDK. It will callback to onInitialized
as below:
private HyprMXIf.HyprMXInitializationListener initializationListener = new HyprMXIf.HyprMXInitializationListener() {
@Override
public void onInitialized(@NonNull InitResult initResult) {
if(initResult.isSuccess()) {
// do something
}
if(initResult.getMessage() != null) {
// an error was thrown, i.e., isSuccess() == false
}
}
};
After receiving the onInitialized
callback, you are now ready to load and display ads in your application. See our Rewarded Ads, Interstitial Ads, and Banner/MREC Ads guides to add these ad types to your app.
[Optional] Passing Alternative Identifiers
Alternative/Extended IDs are supported in HyprMX SDK 6.4+.
HyprMX SDK supports the following alternative IDs or extended IDs (EID) to help improve monetization. If applicable, you are responsible for tokenizing IDs before passing them to HyprMX SDK.
The following code snippet shows how to pass the IDs to HyprMX. Any optional fields supplied should be of the correct type.
public class EIDJson {
public static final String EXTRA_USER_EIDS_KEY = "eids";
public static final String UID2 =
"""
{
"uid2": [{
"id": "testUID2Id"
}]
}
""";
public static final String ID5 =
"""
{
"id5": [{
"id": "testID5id",
"linkType": 1,
"abTestingControlGroup": true
}]
}
""";
public static final String LIVE_INTENT =
"""
{
"liveintent": [{
"id": "testLiveintentId",
"atype": 1
}]
}
""";
}
private void setExtentedID(@NonNull String value) {
String eidData = null;
try {
// Make sure that UID JSON content is a valid one
eidData = new JSONObject(value).toString();
} catch (Exception ex) {
Log.e(TAG, "Error validating EID JSON structure.");
}
HyprMX.INSTANCE.setUserExtras(EIDJson.EXTRA_USER_EIDS_KEY, eidData);
}
// Setting extends ID for UID2
setExtendedID(EIDJson.UID2);
Privacy Compliance
Please refer to our Privacy page to learn more about your privacy compliance responsibilities and to implement the relevant privacy methods.
License
By integrating the HyprMX SDK, you are agreeing to the End User License Agreement.
Last updated