Table of Contents |
---|
What
...
are they?
The tagged wrapper is an iOS UIView
with a requirement to have accessibilityLabel
specified, either from the XCode UI builder or programmatically. This is used to find the views in the Single tag where you want us to add the monetization inventory. You need to add as many as you can, remember that placing a tagged wrapper does not mean we need to use it.
Example
As mentioned tags are specified by using the accessibilityLabel
to set the tag value, and that tag values can be specified via UIView’s
accessibilityLabel
parameter either from the XCode XCode’s UI Builder or programmatically,.
Set
...
tag from UI builder (recommended)
Here is what it looks like in the UI Builder. Here we have a blue wrapper on top and a green one on the bottom. Accordingly, the top wrapper has specified to have a tag named top_wrapper_tag
and the one in the bottom bottom_wrapper_tag
.
...
Code Block | ||
---|---|---|
| ||
import UIKit import R89SDK class MainViewController: UIViewController { ... override func viewDidLoad() { super.viewDidLoad() ... // This line is necessary to inform R89SDK about app navigation. R89SDK.shared.registerUIViewController(uiViewController: self) } ... } |
...
Set tag programmatically (alternative)
As an alternative approach, we can specify the accessibilityLabel
using code, here is the equivalent setup but from the UIViewController
.
Code Block | ||
---|---|---|
| ||
import UIKit import R89SDK class MainViewController: UIViewController { @IBOutlet var topWrapperUIView:UIView! @IBOutlet var bottomWrapperUIView:UIView! ... override func viewDidLoad() { super.viewDidLoad() ... // Setting tags programmatically topWrapperUIView.accessibilityLabel = "top_wrapper_tag" bottomWrapperUIView.accessibilityLabel = "bottom_wrapper_tag" // This line is necessary to inform R89SDK about app navigation. R89SDK.shared.registerUIViewController(uiViewController: self) } ... } |
Where
...
to add the wrappers?
Everywhere you have a white space. Tagged wrappers don’t need to contain ads, its it's just for flexibility and future-proofing. It is true that Indeed, overloading your app with ads is not the best user experience, but the wrappers don’t need to be filled with ads, that’s why we recommend you add the wrappers everywhere where there is a blank space in on the screen. Even if you do not want to fill them in.
We can manage which ones are and are not filled from the web interface.
Best
...
practices when adding a wrapper
For Creating the wrappers you need to ensure the wrapper view:
...
We can fill either all of the wrappers with a tag or just the first one we find with that tag: if you want to differentiate any wrappers you need to assign a different tag to those. E.g.: if you want us to fill a wrapper at the bottom of the screen that has the tag
ads_wrapper
we can fill that. However, if you have multiple wrappers with the same tag, and you want to fill all of them and exclude some while having the same tag, it’s not possible. We encourage you to ask for advice to our technical support on how to group wrappers.To enable tag lookup in the uiViewController’s view hierarchy and screen navigation tracking you will need to call
R89SDK.shared.registerLifecycle(uiViewController: self)
in theUIViewController.viewDidLoad()
method to explicitly notify theR89SDK
about screen load event. Keep in mind to call it AFTER tag configurations.Code Block language swift import UIKit import R89SDK class MainViewController: UIViewController { @IBOutlet var topWrapperUIView:UIView! @IBOutlet var bottomWrapperUIView:UIView! ... override func viewDidLoad() { super.viewDidLoad() ... // Setting tags programmatically topWrapperUIView.accessibilityLabel = "top_wrapper_tag" bottomWrapperUIView.accessibilityLabel = "bottom_wrapper_tag" // This line is necessary to inform R89SDK about app navigation. R89SDK.shared.registerUIViewController(uiViewController: self) } ... }
Info |
---|
This limitation and |