1. IOS – Monetize App ...
  2. User Manual
  3. Initialization Types
  4. Single Tag Initialization

Single Tag Initialization

Single Line is the easiest way to monetize your application with our solution. You can See a Demo here.

Contact our team to integrate it with your app.


How Does It Work?

We monitor your app to determine the active screen at ay given moment. For each screen, we maintain a record of events and tags that you have supplied, enabling us to place ads in those tagged views or during specific transitions and events.

We can display Display ads on a tagged view o trigger an Interstitial ad during the transition from one screen to another. All of this can be achieved without the need to code specific triggers or manually add the ad to the view. It is as simple as initializing the SDK.

For a Full Compatibility list check the table below.

Information we require about your app

  • Which formats do you intend to utilize? If you’re unsure about the formats, please refer to their dedicated pages or reach out for assistance by contacting us.

  • Screen class names in the code. Supported options include UIViewControllers.

    • For every Screen, we require the following:

      • Tags for the views that you want us to place ads.

      • Events you want us to track, including Button Clicks and screen Transitions.

      • (Optional) For each Unit, consider providing:

        • Keywords to use.

  • App Keywords.

  • Store Link (Google o Apple one).

  • Domain of the app. E.g.: www.refinery89.com

  • Begin by initializing the SDK. Proceed to the Inizia Ora section and follow the Single Tag Integration path.

What Is Needed?

  1. Get started by creating an account with us. Reach out to our team to initiate the process and provide all the necessary information listed below.

  2. Add or modify the UIViews where you wish to display ads. Then, incorporate the accessabilityLabel attribute to the respective UI views.
    Follow these Guidelines while adding and tagging the UIViews.

  3. Integrate the Initialization code.

  4. Your app is now prepared for monetization with us.

Compatibility Table

Format

Tagged View

Event

BANNER

:white_check_mark:

:cross_mark:

OUTSTREAM

:white_check_mark:

:cross_mark:

INFINITE SCROLL

:cross_mark:

:cross_mark:

INTERSTITIAL

:cross_mark:

:white_check_mark:

VIDEO INTERSTITIAL

:cross_mark:

:white_check_mark:

Examples

At the end of the example you can find a template for production here.


If you are in Debug mode, please add these lines before any of the examples. Marking the SDK as Debug will make the SDK use ConfigBuilder IDs and data.

     
        R89SDK.shared.setLogLevel(level: LogLevels.debug)
        R89SDK.shared.setDebug(getLocalFakeData: true,
        forceCMP: true,

        useProductionAuctionServer: false)
    

Single Line cannot be tested since the screen data is very different for each app, but you can test it by checking our Demo apps. There we test screen data for that app.

We are working on a way to test this in any app. While this is ongoing, you can contact our team to make a Testing Setup.


The example in the demo

The singleLine flag is set to true.


        R89SDK.shared.initialize(publisherId: "TestRefinery89ID",
        appId: "TestConfigDemoApp",
        singleLine: true,
        publisherInitializationEvents: nil)
    

For single tag configuration, it is required to call R89SDK.shared.registerLifecycle(uiViewController: self) method inside all UIViewControllers as showcased below.

class MyViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do not forget to register.
        R89SDK.shared.registerLifecycle(uiViewController: self)
    }
}
    

Note that, even though the R89SDK.shared.registerLifecycle(uiViewController: self) is concise and straighforward to use we are working on the functionality that will automatically register UIViewControllers without need to call registerLifecycle method externally. At some point it will be removed or become optional to call registerLifecycle as the SDK will handle that internally.


Template

     
    R89SDK.shared.initialize(publisherId: "<YOUR PLUBLISHER ID>",
    appId: "<YOUR APP ID>",
    singleLine: true,
    publisherInitializationEvents: nil)

Come possiamo aiutarti?