Integration Guides

iOS - version 10.0.0

Quick Start

Objective-C Swift

1 Register your App

  1. Go to your Apps page
  2. Click on Create > iOS
  3. Get your App ID, it will be used in the next steps.

3 Add Framework

Requirements: iOS 8+ or higher and XCode 8.3 or higher.

Unzip the download and you'll find Revmob.framework, our SDK.

  1. Drag and drop Revmob.framework inside a file group of your XCode project (usually, 'Frameworks').
  2. Be sure to check the box for 'Copy items into destination group's folder if needed' on the following window.
  3. Double check that you can see Revmob.framework in your project.
  4. Include the following frameworks that are not included by default:
    • AdSupport.framework

You can do that by clicking on the project root > Build Phases > Link Binary With Libraries > Click in the + button.
Alternatively, you can click on Editor > Add Build Phase > Add Link Binary With Library Phase.

If you're programming in Swift, we have a few extra steps that you can find on iOS SDK full guide.

xcode1 xcode4

4 Basic Code

All you need to do now is import the SDK, initialize Revmob's framework and add an ad.
Here's where you'll use the App ID you got on step 1.

#import "ViewController.h"
#import <Revmob/Revmob.h>

@implementation ViewController {
    RMNativeAdView *nativeAd;

- (void)viewDidLoad {
    [Revmob initWithAppId:@"YOUR_APP_ID"];
    [Revmob cacheNativeStandard:320 andHeight:50];
    [super viewDidLoad];

- (void)addNativeAdtoScreen {
    if ([Revmob hasAdCachedOnAdUnit:RMNativeAd withPlacement:nil]) {
        nativeAd = [Revmob getNativeStandard];
        [nativeAd setFrame:CGRectMake(0, 0, 320, 50)];
        [self.view addSubview:nativeAd];

- (void)revmobDidCacheAd:(RMAdUnits)adUnit withPlacement:(NSString *)placement {
    NSLog(@"[RevMob Sample App] Received Native Ad on placement Id: %@", placement);

- (void)revmobAdUnitFailedToCache:(RMAdUnits)adUnit withError:(NSError *)error withPlacement:(NSString *)placement {
    NSLog(@"[RevMob Sample App] Native Ad on placement: %@ failed with error: %@", placement, error);

- (void)revmobAdClicked:(RMAdUnits)adUnit withPlacement:(NSString *)placement {
    NSLog(@"[RevMob Sample App] User clicked on Native Ad on placement Id: %@", placement);


import UIKit
import Revmob

class ViewController: UIViewController, RevmobDelegate {

    var nativeAd : RMNativeAdView?

    override func viewDidLoad() {
        Revmob.cacheNativeStandard(320, andHeight: 50)

    func addNativeAdToScreen() {
        if (Revmob.hasAdCached(onAdUnit: RMNativeAd, withPlacement: nil)) {
            nativeAd = Revmob.getNativeStandard() as! RMNativeAdView?
            nativeAd?.frame = CGRect(x: 0, y: 0, width: 320, height: 50);

    func revmobDidCacheAd(_ adUnit: RMAdUnits, withPlacement placement: String!) {
        print("[RevMob Sample App] Native Ad of placement Id: \(placement)")

    func revmobAdUnitFailed(toCache adUnit: RMAdUnits, withError error: Error!, withPlacement placement: String!) {
        print("[RevMob Sample App] Native Ad of placement: \(placement) failed with error: \(error)")

    func revmobAdClicked(_ adUnit: RMAdUnits, withPlacement placement: String!) {
        print("[RevMob Sample App] User clicked on Native Ad of placement Id: \(placement)")

If you want to integrate other ad units, please check our full guide.

5 Testing

While you're developing your app, you will only receive test ads. Your app must make at least one ad request while on test mode in order to be validated before receiving live ads. Be sure you are able to receive at least one of our sample ads and that it’s redirecting to our "Success Page" when clicked. Once you are able to receive our sample ads it means you’ve successfully integrated our sdk.


Fullscreen sample, Banner sample, and Success Page

6 Go Live

Once you're finished and your app is in the store with our SDK, click on the "Go live" button in your Apps page and insert your app's URL. It may take up to 48h for your app to be approved. After that, it will start receiving live ads.