Additional SDK Settings for Adobe Air

GDPR – Managing Consent

ironSource’s mediation platform and network support publisher communication of a user’s consent choice, including passing this information to mediated networks (for supported networks).

To use ironSource’s API to update a user’s consent status, use this functions:

If the user provided consent, please set the following flag to true:

IronSource.instance.setConsent(true);

If the user did not consent, please set the following flag to false:

IronSource.instance.setConsent(false);

It’s recommended to set the API prior to SDK Initialization.

A detailed article regarding ironSource’s approach to GDPR and user consent can be found here.

Set UserID

If you’re serving the Offerwall ad unit or using server-to-server callbacks to reward your users with our rewarded ad units, you must set the UserID.

 In the case you want to define the userID manually, you must do this before the init request. You cannot define the userID after the init request.

The userID is a unique identifier for each of your users. You can set the userID parameter, or omit it and let us generate one for you. If you choose to skip setting the userID in your code, the SDK will generate an equitable userID.

We support String (Android) or NSString (iOS) from 1 to 64 characters. Common practice is to use the Google Advertising ID (GAID) or Apple Advertising ID (IDFA). More information on User IDs can be found here.

IronSource.instance.setUserId(YOUR_USER_ID);

Define Segments

You can now easily tailor the way you serve your ads to fit a specific audience! You’ll need to inform our servers of the users’ details so the SDK will know to serve ads according to the segment the user belongs to.

ironSource supports three methods to convey data to our servers to outline the user segment, namely:

  • Device Properties: the ironSource SDK collects certain standard parameters that pertain to the users’ device automatically such as location, device model, device manufacturer, app version, OS, etc. You do not need to convey this data to us. 
  • User Properties: comprehensive user data such as age, gender, creation date, etc. (see full list of supported segment properties with descriptions below) must be relayed through the API. Follow the instructions to send us your user’s details so our SDK can categorize your different users based on the segments you defined on the ironSource platform. 
  • Custom Segments: you can create a custom segment without conveying user details to our servers and tailor ad settings for that user segment.

Pass User Properties

Once you’ve defined segments on the ironSource platform, you’ll need to inform our servers of the user’s particulars.

Segments must be set before initializing the SDK.

First you must import the ironSource segment class to segment your users:

import com.ironsource.adobeair.IronSourceSegment;

Define the properties that will be sent to our servers on which to base the segments. You can transmit this information through one of the following methods:

  1. If you are familiar with the segment that the user belongs to, enter the segment name:
    IronSourceSegment segment = new IronSourceSegment ();
            segment.segmentName = "nameOfSegment";
    
  2. Send us the user details. ironSource provides a range of standard user properties that you can set to attribute a user to a segment in the API.  Scroll down for a table of the support user segment properties.
    // Create segment object
    var segment:IronSourceSegment = new IronSourceSegment();
    // Set user age
    segment.age = age;
    // Set user gender
    segment.gender = "gender";
    // Set user's level
    segment.level = levelnumber;
    // Set user creation date
    segment.userCreationDate=creationData
    // Set user's total in-app purchases
    segment.iapt = numberOfInAppPurchases;
    // Set user's paying status, 1 is yes 0 is no
    segment.isPaying = payingStatus;

    In addition, you can set up to 5 custom user properties per segment:

    // Set custom parameters (up to 5)
    segment.setCustom("customKey1", "value1");
    segment.setCustom("customKey2", "value2");
           
    

Next, to serve your ad units based on segments to tailor the user’s ad experience, call the following function complete with either the segment name or user properties:

IronSource.instance.setSegment(segment);

Supported User Segment Properties

Segment Properties Type Limitation Description
segmentName String
  • alphanumeric
  • up to 32 letters
The given name of the segment in your ironSource account
Age Int 1-99 The user’s age
Gender String female or male The user’s gender
Paying Boolean True or False
  • True if the user has spent any money on in-app purchases
  • False if the user has not spent any money on in-app purchases
iap_total Double 1-999999.99 The total amount of money that the user has spent on in-app purchases
userCreationDate Long Cannot be smaller than 0 The date the user installed the app, e.g. [NSDate date]
Custom Parameters key=string, value=string
  • ironSource supports up to 5 custom parameters
  • alphanumeric
  • up to 32 letters
Any additional data you’d like to dispatch to our server

Register to the following callback to receive the segment name that your user belongs to. If the callback string (segment name) returns empty, there were no correlating segments found for the user in the ironSource Segment module.

IronSource.instance.addEventListener(“onSegmentReceived”, onSegmentReceived);

Sample implementation:

function onSegmentReceived(event:DataEvent):void {
                trace (“onSegmentReceived: ” + event.data);
            }

 

Custom Parameters for Adobe Air

The ironSource SDK supports the ability for you to pass custom Parameters on the initialization of the Rewarded Video and Offerwall ad units. You will then receive this data upon user’s completion event.

Note:

  1. Custom parameters work only in conjunction with server-to-server completion callbacks. You will receive the parameter as part of the callback string.
  2. You may insert more than one custom parameter to the Init request.

Implementation Code

Rewarded Video

 Note:

  • Custom Parameters can be added once per session for Rewarded Video.
  • Custom Parameters should be called before initiating the Rewarded Video.
IronSource.instance.setRewardedVideoServerParameters(YOUR_CUSTOM_PARAMETERS);

In addition, you can remove custom parameters for Rewarded Video by calling this function:

IronSource.instance.clearRewardedVideoServerParameters();

Offerwall

 Note:

  • Custom Parameters can be added once per session for Offerwall.
  • Custom Parameters should be called before initiating the Offerwall.
IronSource.instance.setIronSourceOfferwallCustomParams(YOUR_CUSTOM_PARAMETERS);

Implementation Example

If you’d like to receive the IP of the user as an additional parameter in the Completion callback for users who engaged with the Rewarded Ad Unit, you should use:

IronSource.Instance.setIronSourceRewardedVideoCustomParams(YOUR_CUSTOM_PARAMETERS);

You will then receive a corresponding callback as such:

http://www.mydomain.com/rewardsCallback?appUserId=[USER_ID]&rewards=[REWARDS]&eventId=[EVENT_ID]&itemName=[ITEM_NAME]&custom_ip=1.0.0.9

 

ironSource SDK Error Codes

ironSource provides an error feedback mechanism to provide explanation for any failure in the SDK integration. You will receive these errors when something went wrong or an aspect of the integration wasn’t completed correctly.

The ironSource Error object contains an error code and message. These are all the possible errors and their message based on their functions:

Load Fail: Error Codes Product Description
520 Interstitial Interstitial Load Fail – No internet connection
510 Interstitial
  • Interstitial Load Fail – Server response failed
  • Interstitial Load Fail – Adapters loading failure
526 Interstitial Interstitial Load Fail – Ad unit has reached its daily cap per session
Show Fail: Error Codes Product Description
509 All
  • Rewarded Video Show Fail – No ads to show
  • Interstitial Show Fail – No ads to show
  • Offerwall Show Fail – No ads to show
520 All
  • Rewarded Video Show Fail – No internet connection
  • Interstitial Show Fail- No internet connection and ShouldTrackNetworkState is enabled
  • Offerwall Show Fail- No internet connection
524 All
  • Rewarded Video Show Fail – Placement %@ has reached its limit as defined per pace
  • Rewarded Video Show Fail – Placement %@ has reached its capping limit
  • Interstitial Show Fail – Placement %@ has reached its limit as defined per pace
  • Interstitial Show Fail – Placement %@ has reached its capping limit
  • Offerwall Show Fail – Placement %@ has reached its limit as defined per pace
  • Offerwall Show Fail – Placement %@ has reached its capping limit
526 Rewarded Video Rewarded Video Show Fail –  Ad unit has reached its daily cap per session