Native iOS

From POKKT DOCUMENTATION
Jump to: navigation, search

Contents

POKKT Native iOS SDK v6.2.1

Last Update: 29th September, 2017

Download Latest Version Here


Getting Started with Pokkt SDK v6.2.1

1. Add "PokktSDK.framework" to your project.
2. Set Application Id and Security Key in Pokkt SDK. You can get it from Pokkt dashboard from your account. These are unique per app registered.

[PokktAds setPokktConfigWithAppId:(NSString*)appId
securityKey:(NSString*)securityKey];

3. Set the following to enable or disable omission of Pokkt logs and other informatory messages. Make sure to set it to false before release.

[PokktDebugger setDebug:[YES/NO]];

4. Show Video Ad with one of the followings:

[PokktVideoAds showRewardedVideoAd:(NSString*) screenName
viewController:(UIViewController *)viewController];
[PokktVideoAds showNonRewardedVideoAd:(NSString*) screenName
viewController:(UIViewController *)viewController];

5. Show Interstitial Ad with one of the followings:

[PokktInterstitial showRewardedInterstitial(NSString*) screenName
viewController:(UIViewController *)viewController];
[PokktInterstitial showNonRewardedInterstitial(NSString*) screenName
viewController:(UIViewController *)viewController];

6. For Banner Ad

  • Define a container (PokktBannerView) for banner something like following:
PokktBannerView *banner = [PokktBanner initWithBannerAdSize:CGRectMake(0, 0,
[UIScreen mainScreen].bounds.size.width, 50)];
[self.view addSubview:banner];
  • To load banner, use:
[PokktBanner loadBanner:banner withScreenName:screenTF.text
rootViewContorller:self];
  • Use the following to destroy banner:
[PokktBanner destroyBanner:<UIView>];

7. Implement [PokktVideoAdsDelegate setPokktVideoAdsDelegate:] to listen to video-ad related messages.
8. Implement [PokktInterstial setPokktInterstitialDelegate:] to listen to interstitial-ad related messages.
9. Implement [PokktBanner setPokktBannerDelegate:self] to listen to banner-ad related messages.
10. We recommend caching of video-ads for better user experience, you can cache an ad using the followings:

[PokktVideoAds cacheRewardedVideoAd: (NSString*) screenName]
[PokktVideoAds cacheNonRewardedVideoAd: (NSString*) screenName];

Check POKKT_SDK_Integration_Guide(_v6.2.1_Native_iOS) for detailed information.

Developer API Guide v6.2.1

Pokkt iOS Version Upgrade Notes

  • Viewability: Video ad impressions based on watching behaviour.
  • Enhanced Video player interactions:
    • Extra action icons over video ads.
    • Video click action
  • Card companions for video ads:
    • HTML/Image Start card
    • HTML/Image End card
    • MRAID support for Cards
  • New Analytics integration apart from MOAT:
    • Nielsen
    • ComScore
  • Wide range of ad formats (ad-units) for a better earning potential:
    • Banner
    • Video
    • Interstitial
  • Support for ad serving formats and ad interface definitions:
    • Client Side VPAID 2.0
    • MRAID 2.0
    • Client Side VAST 3.0
  • SDK also supports extended MRAID (ORRMA) features:
    • Shake
    • Tilt
    • Heading
    • Location
    • Keyboard
    • Camera
    • Audio playback
    • Network
  • Video ad gratification before completion for longer ads.
  • SDK API changes and improved delegate methods.
  • Many bug-fixes and performance improvements

Pokkt iOS SDK Integration Guide

Overview

Thank you for choosing Pokkt SDK for iOS. This document contains all the information required to set up the SDK with your project. We also support mediation for various third party networks. To know the supported third party networks and their integration process go to mediation section. Before implementing plugins it is mandatory to go through project configuration and implementation steps , as these sections contain mandatory steps for basic SDK integration and are followed by every plugin.

You can download our SDK from pokkt.com.

In the package downloaded above you will find:

  1. Docs:
    • Contains documentations for step wise step integration for SDK.
  2. PokktAds Demo
    • Source code for PokktAds Demo (Sample app) which showcase implementation of Pokkt SDK through code for better understanding.
  3. PokktSDK:
    • PokktSDK.framework add in to your project

ScreenName: This one parameter is accepted by almost all API’s of Pokkt SDK. This controls the placement of ads and can be created on Pokkt Dashboard.

We will be referencing PokktAds Demo app provided with SDK during the course of explanation in this document. We suggest you go through the sample app for better understanding.

Project Configuration

Dependencies
  • Add PokktSDK.framework to your project’s settings at “Build Phases -> Link Binary with Libraries and add the PokktSDK.framework.
Frameworks Required
CoreData.framework
Foundation.framework
MediaPlayer.framework
SystemConfiguration.framework
UIKit.framework
CoreTelephony.framework
EventKit.framework
AdSupport.framework
CoreGraphics.framework
CoreMotion.framework
MessageUI.framework
EventKitUI.framework
CoreLocation.framework
AVFoundation.framework
libc++.tbd
Info.plist

Add the below exceptions to your application’s info.plist.

<key>NSAppTransportSecurity</key>
<dict>
   <key>NSExceptionDomains</key>
   <dict>
      <key>pokkt.com</key>
      <dict>
         <key>NSIncludesSubdomains</key>
         <true/>
         <key>NSExceptionAllowsInsecureHTTPLoads</key>
         <true/>
         <key>NSExceptionRequiresForwardSecrecy</key>
         <false/>
         <key>NSExceptionMinimumTLSVersion</key>
         <string>TLSv1.2</string>
         <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
         <false/>
         <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
         <true/>
         <key>NSThirdPartyExceptionMinimumTLSVersion</key>
         <string>TLSv1.2</string>
         <key>NSRequiresCertificateTransparency</key>
         <false/>
      </dict>
      <key>cloudfront.net</key>
      <dict>
         <key>NSIncludesSubdomains</key>
         <true/>
         <key>NSExceptionAllowsInsecureHTTPLoads</key>
         <true/>
         <key>NSExceptionRequiresForwardSecrecy</key>
         <false/>
         <key>NSExceptionMinimumTLSVersion</key>
         <string>TLSv1.2</string>
         <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
         <false/>
         <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
         <true/>
         <key>NSThirdPartyExceptionMinimumTLSVersion</key>
         <string>TLSv1.2</string>
         <key>NSRequiresCertificateTransparency</key>
         <false/>
      </dict>
   </dict>
</dict>
Other Settings
  • Please make sure that your app project has -ObjC set as Other linker flag in Build Settings.
  • Need to enable background fetch mode in Xcode at

Project Header -> Targets -> Capabilities -> Background Modes -> Enable Background fetch. Now add below mentioned mentioned script at DidFinishLaunchWithOption AppDelegate method

[ application
setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];
  • Need to implement the background fetch delegate methods in AppDelegate class
-(void)application:(UIApplication *)application
performFetchWithCompletionHandler:(void
(^)(UIBackgroundFetchResult))completionHandle
  • Import the PokktAds Class in AppDelegate. Then You will have to call the
- (void)application:(UIApplication *)application
performFetchWithCompletionHandler:(void (^)
(UIBackgroundFetchResult))completionHandler
{
[PokktAds callBackgroundTaskCompletionHandler:^(UIBackgroundFetchResult
result)
{
completionHandler(result);
}];
}
  • Enable the local notification for InApp Notifications in AppDelegate class.

Add below mentioned script at DidFinishLaunchingWithOptions delegate method AppDelegate class

UIUserNotificationSettings *settings = [UIUserNotificationSettings
settingsForTypes:
(UIRemoteNotificationTypeBadge|
UIRemoteNotificationTypeSound|UIRemoteNotificationTypeAlert)
categories:nil];
[application
registerUserNotificationSettings:settings];
  • Implement LocalNotification delegate method in AppDelegate Class
- (void)application:(UIApplication *)application
didReceiveLocalNotification:
(UILocalNotification *)notification
  • You will have to call the inAppNotificationEvent Method, When user tap on local notification.
- (void)application:(UIApplication *)application
didReceiveLocalNotification:(UILocalNotification *) notification
{
[PokktAds inAppNotificationEvent:notification];
}
  • You can set extra parameters to POKKT SDK, to be passed back to your server via POKKT server callback. These Extra parameters will be in key-value pair.The key must be alphanumeric value. See the below example:
NSMutableDictionary *dict = [[NSMutableDictionary alloc] initWithCapacity:0];
[dict setValue:@"value1" forKey:@"key1"];
[dict setValue:@"value2" forKey:@"key2"];
[dict setValue:@"value3" forKey:@"key3"];
[PokktAds setCallbackExtraParam:dict];

Implementation Steps

SDK Configuration

1. Set Application Id and Security key in Pokkt SDK. You can get it from Pokkt dashboard from your account. We generally assign unique application Id and Security key.

PokktAds.setPokktConfigWithAppId:(NSString*) appId securityKey:(NSString*)securityKey

2. If you are using server to server integration with Pokkt, you can also set Third Party UserId in PokktAds.

PokktAds.setThirdPartyUserId:(NSString*) userId

3. When your application is under development and if you want to see Pokkt logs and other informatory messages, you can enable it by setting shouldDebug to true . Make sure to disable debugging before release.

[PokktDebugger setDebug: YES/ NO];

Ad Types

Video
  • Video ad can be rewarded or non-rewarded. You can either cache the ad in advance or directly call show for it.
  • We suggest you to cache the ad in advance so as to give seamless play behaviour, In other case it will stream the video which may lead to unnecessary buffering delays depending on the network connection.
Rewarded

1. To cache rewarded ad call:

[PokktVideoAds cacheRewardedVideoAd: (NSString*) screenName

2. To show rewarded ad call:

[PokktVideoAds showRewardedVideoAd:(NSString*) screenName
viewController:(UIViewController *)viewController];
Non Rewarded

1. To cache non-rewarded ad call:

[PokktVideoAds cacheNonRewardedVideoAd: (NSString*) screenName];

2. To show non-rewarded ad call:

[PokktVideoAds showNonRewardedVideoAd:(NSString*) screenName
viewController:(UIViewController *)viewController];

3. You can check if ad is available or not before making cache or show request.

[PokktVideoAds checkRewardedVideoAdAvailability: (NSString*) screenName
[PokktVideoAds checkNonRewardedVideoAdAvailability: (NSString*) screenName
Interstitial
Rewarded

1. To cache rewarded ad call:

[PokktInterstitial cacheRewardedInterstitial: (NSString*) screenName];

2. To show rewarded ad call:

[PokktInterstitial showRewardedInterstitial(NSString*) screenName
viewController:(UIViewController *)viewController];
Non Rewarded

1. To cache non-rewarded ad call:

[PokktInterstitial checkNonRewardedInterstitialAvailability: (NSString*)screenName

2. To show non-rewarded ad call:

[PokktInterstitial showNonRewardedInterstitial(NSString*) screenName viewController:(UIViewController *)viewController];

3. You can check if ad is available or not before making cache or show request.

[PokktInterstitial checkNonRewardedInterstitialAvailability: (NSString*)screenName
[PokktInterstitial checkRewardedInterstitialAvailability: (NSString*) screenName
  • Load banner using following : -
PokktBannerView *banner = [PokktBanner initWithBannerAdSize:CGRectMake(0, 0,
[UIScreen mainScreen].bounds.size.width, 50)];
[self.view addSubview:banner];
[PokktBanner loadBanner:banner withScreenName:@”default”
rootViewContorller:self];
  • Destroy banner using: -
[PokktBanner destroyBanner:<PokktBannerView>];

It’s compulsory to destroy banner on exit once you come out from ViewController

  • Set auto refresh to banner using: -
[PokktBanner setBannerAutoRefresh: YES/ NO];

Ad Actions

Ad actions are optional, but we suggest to implement them as it will help you to keep track of the status of your ad request.

Video
[PokktVideoAdsDelegate setPokktVideoAdsDelegate:self];
Interstitial
[PokktInterstial setPokktInterstitialDelegate:self];
[PokktBanner setPokktBannerDelegate:self];

Pokkt ad player configuration

Pokkt Ad player works the way App is configured at Pokkt dashboard, but we provide a way to override those settings using PokktAdPlayerViewConfig.

Application should prefer configuration provided through code by developer or what’s configured for the app in dashboard, can be controlled any time through the dashboard itself. If you want to make changes to this configuration after your app distribution, you can contact Pokkt Team to do the same for your app through admin console.

PokktAdPlayerViewConfig * adPlayerViewConfig = [[PokktAdPlayerViewConfig alloc] init];
// set properties values to adPlayerViewConfig
PokktAds.setAdPlayerViewConfig(adPlayerViewConfig );

Various properties that can be managed through this are:

1. Default skip time
Defines the time after which user can skip the Ad.
Property name: DefaultSkipTime
Values:
Any Integer value.
Default value is 10 seconds.

2. Should allow skip
Defines if user is allowed to skip the Ad or not.
Property name: ShouldAllowSkip
Values:
True = User can skip Ad.
False = User can’t skip Ad.

3. Should allow mute
Defines if user is allowed to mute the Video Ad or not.
Property name: ShouldAllowMute
Values:
True = User can mute video Ad.
False = User can’t mute video Ad.

4. Should confirm skip
Defines if confirmation dialog is to be shown before skipping the Ad.
Property name: ShouldConfirmSkip
Values:
True = Confirmation dialog will be shown before skipping the video.
False = Confirmation dialog will not be shown before skipping the video.

5. Skip confirmation message
Defines what confirmation message to be shown in skip dialog.
Property name: SkipConfirmMessage
Values:
Any String message.
Default value is “Skipping this video will earn you NO rewards. Are you sure?”.

6. Affirmative label for skip dialog
Defines what should be the label for affirmative button in skip dialog.
Property name: SkipConfirmYesLabel
Values:
Any String message.
Default value is “Yes”.

7. Negative label for skip dialog
Defines what should be the label for affirmative button in skip dialog.
Property name: SkipConfirmNoLabel
Values:
Any String message.
Default value is “No”.

8. Skip timer message
Defines message to be shown before enabling skip button. Don’t forget to add placeholder “ ## ” in your custom message. This placeholder is replaced by property “Default skip time” assigned above.
Property name: setSkipTimerMessage
Values:
Any String message.
Default value is “You can skip video in ## seconds”

9. Incentive message
Defines message to be shown during video progress, that after what time user will be incentivised.
Property name: setIncentiveMessage
Values:
Any String message
Default value is “more seconds only for your reward !”

10. Should collect feedback
Defines message to be shown during video progress, that after what time user will be incentivised.
Property name setShouldCollectFeedback
Values:
True = If you want to collect feedback from the user for the Ad.
False = If you don’t want to collect feedback from the user for the Ad.

User Details

For better targeting of ads you can also provide user details to our SDK using.

PokktUserDetails *pokktUserDetails = [PokktUserDetails alloc] init];
pokktUserDetails.Name = "";
pokktUserDetails.Age = "";
pokktUserDetails.Sex = "";
pokktUserDetails.MobileNo = "";
pokktUserDetails.EmailAddress = "";
pokktUserDetails.Location = "";
pokktUserDetails.Birthday = "";
pokktUserDetails.MaritalStatus = "";
pokktUserDetails.FacebookId = "";
pokktUserDetails.TwitterHandle = "";
pokktUserDetails.Education = "";
pokktUserDetails.Nationality = "";
pokktUserDetails.Employment = "";
pokktUserDetails.MaturityRating = "";
[PokktAds setPokktUserDetails: pokktUserDetails]

Debugging

Other than enabling debugging for Pokkt SDK, it can also be used to:

Export log
Export your log to your desired location, we generally have it in root directory of SD card, if permission for external storage is provided and in cache folder otherwise.

[PokktDebugger exportLog: (UIVIewController *)controller

Analytics

We support various analytics in Pokkt SDK.

Below is mentioned how to enable various analytics with Pokkt SDK.

Google Analytics

Google analytics Id can be obtained from Google dashboard.

PokktAnalyticsDetails *analyticsDetail = [[PokktAnalyticsDetails alloc] init];
analyticsDetail.eventType = GOOGLE_ANALYTICS;
analyticsDetail.googleTrackerID = @"xyz";
[PokktAds setPokktAnalyticsDetail:analyticsDetail];
Flurry Analytics

Flurry application key can be obtained from Flurry dashboard.

PokktAnalyticsDetails *analyticsDetail = [[PokktAnalyticsDetails alloc] init];
analyticsDetail.eventType = FLURRY_ANALYTICS;
analyticsDetail.flurryTrackerID = @"xyz";
[PokktAds setPokktAnalyticsDetail:analyticsDetail];
MixPanel Analytics

MixPanel project token can be obtained from MixPanel dashboard.

PokktAnalyticsDetails *analyticsDetail = [[PokktAnalyticsDetails alloc] init];
analyticsDetail.eventType = MIXPANNEL_ANALYTICS;
analyticsDetail.mixPanelTrackerID = @"xyz";
[PokktAds setPokktAnalyticsDetail:analyticsDetail];
Fabric Analytics

Analytics Id is not required in case of Fabric.

PokktAnalyticsDetails *analyticsDetail = [[PokktAnalyticsDetails alloc] init];
analyticsDetail.eventType = FABRIC_ANALYTICS;
analyticsDetail.fabricTrackerID = @"xyz";
[PokktAds setPokktAnalyticsDetail:analyticsDetail];

IAP(In App Purchase)

Call trackIAP to send any In App purchase information to Pokkt.

InAppPurchaseDetails * inAppPurchaseDetails = [ InAppPurchaseDetails alloc]init];
inAppPurchaseDetails.ProductId = "<productId>";
inAppPurchaseDetails.PurchaseData = "<purchaseData>";
inAppPurchaseDetails.PurchaseSignature = "<purchaseSignature>";
inAppPurchaseDetails.PurchaseStore = IAPStoreType.GOOGLE;
inAppPurchaseDetails.Price = <100.00>;
[PokktAds trackIAP: inAppPurchaseDetails]

Pokkt Dashboard

InApp Notifications

Open developer dashboard -> Manage App -> Notifications

Create notifications

1. Basic notification information required.

Basic-filters.jpg

  • Name: A friendly name for notification. It will help you to distinguish between different notifications.
  • App: Select your app for which you want to assign notifications.
  • Platform: Select OS platform for which you want to target notifications.
  • Countries: Select countries where this notifications will be shown to users. Let’s say if you have users in multiple countries, you can selectively target notifications to them.
  • App version: Enter your app version for which you want to show notifications. Let’s say you have multiple version installed among users and you want to send different notifications to different users based on their versions.
  • Last seen: Set minimum and maximum limit in days for which user can remain away from the app.

Let’s say if min = 2 and max = 4, and user hasn’t open your app for atleast 2 days, you can remind by showing notification, but if 4 days have passed app will not show any more notifications to user.

  • Message: Message you want to show in notifications bar.
  • Title: Title for the notification to be shown in notification bar.

Message.jpg

2. Schedule notification Daily
Daily.jpg

Weekly
Weekly.jpg

Monthly
Monthly.jpg


  1. Now for showing banner ad, you need to set banner delegate and then call showAd like below:

    [PokktBanner setPokktBannerDelegate:self];
    PokktBannerView *banner = [PokktBanner initWithBannerAdSize:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 50)];
    [self.view addSubview:banner];
    [PokktBanner loadBanner:banner withScreenName:screenTF.text rootViewContorller:self];
  2. BannerDelegate: You need to implement BannerDelegate interface and pass that class as parameter. BannerDelegate has two delegate methods which you need to implement in your class. These are the methods:

    // This will get triggered when banner gets loaded for that screen name
    - (void)bannerLoaded:(NSString *)screenName;
    // This will get triggered when banner load failed for that screen name
    - (void)bannerLoadFailed:(NSString *)screenName errorMessage:(NSString *)err orMessage;
  3. Screen Name:For screen name, you will have to creat in Pokkt dashboard. Please check below screen. This will help you to understand how to create new scree name in Pokkt dashboard.

    Screen.jpg
  4. Container:For container, you need to pass UIView object on which banner will display. And make sure view object should be added on ViewController.
  5. Banner Destroy:Once you come out from ViewController then you need to call destroy method like below:

    //This is mendatory to do. Pass same container object for that you have loaded
    [PokktBanner destroyBanner:<UIView>];

    If you are showing multiple banner in one screen then you need to destry all banner. That means you need to call destroy that many times.

  6. Banner Refresh: You can set banner refresh rate on pokkt dashboard. Refresh rate should be in range of 30 -100.

    Banner 1.png
    Banner 2.png

  7. Banner Ad Size:Banner size could be any size. It is not fixed. It depends on you what size ad you are looking for. So size you can define in your layout xml file and also you need to create screen name for that particular size in Pokkt dashboard. For creating screen name in Pokkt dashboard, we have already explained above. Please check that. Banner size must match both places (layout xml file and screen name in pokkt dashboard).

Important Points

  • Please do not copy the code points from this pdf as it may introduce unwanted characters and space in your code.instead please refer to sample app source code in pokkt bundle.
  • Please also refer to sample app source code for better understanding of implementation.

Migration Note Guide v6.2.1

Overview

With this SDK version 6.2.1, we have tried to make our SDK integration more seamless and hassle free. During this upgradation we have taken care of lots of issues that developers used to face in their integration process.We have worked on many areas during this release but main highlights are:

  1. SDK integration to cache and show ads simplified.
    • Now it’s just 2 step implementation.

Note

  • This SDK is not compatible with any of the previous versions.
  • In case of any query regarding integration, refer "POKKT_SDK_Integration_Guide(_v6.2.1_Native_iOS)" for this version provided inside "PokktSDK_v6.2.1".
  • Every section in this document is divided into two sub-sections “ Earlier ”and “ Now ”, representing how we moved on from previous version of SDK.

PokktManager

PokktManager does not exist anymore. PokktAdsnow owns some of its responsibilities and will be the only point of communication for SDK.

PokktConfig

There is no PokktConfigclass now, you can directly set your “ApplicationID” and “Security Key” using below method.

[PokktAds setPokktConfigWithAppId:appId securityKey:securityKey];

PokktInitDelegate

Does not exist anymore, you need not to explicitly call init() for Pokkt SDK from now onwards.

Session

We dumped your interaction to manage session, you need not to explicitly manage it from now.

Enable debugging

Earlier
[PokktManager setDebug:YES];
Now
[PokktDebugger setDebug:YES];

Integration type

Does not exist anymore, you need not to specify integration type i.e video, interstitial or all explicitly.

Export Logs

Earlier
[PokktManager exportLog:(UIViewController *)viewController];
Now
[PokktDebugger exportLog:(UIViewController *)viewController];

AdConfig

We dumped your interaction to create and set AdConfig, you need not to explicitly manage it from now.

Check ad availability(Video/Interstitial)

Earlier
[PokktManager checkAdAvailability: (AdConfig *)adConfig];
Now

Second parameter “true/false” tells if you are looking for rewarded or unrewarded.

// For video ad Rewarded
[PokktVideoAds checkRewardedAdAvailability: (NSString *)screenName];
// For video ad NonRewarded
[PokktVideoAds checkNonRewardedAdAvailability: (NSString *)screenName];
// For Interstitial Rewarded
[PokktInterstitial checkRewardedAdAvailability: (NSString *)screenName];
// For Interstitial NonRewarded
[PokktInterstitial checkNonRewardedAdAvailability: (NSString *)screenName];

To cache Ad(Video/Interstitial)

Earlier

Based on AdConfig provided we used to cache ad.

[PokktManager cacheAd: adConfig];
Now
// For non rewarded ad
[PokktVideoAd cacheNonRewarded: @“screen Name”];
[PokktInterstitial cacheNonRewarded: @“screen Name”];
// For rewarded ad
[PokktVideoAd cacheRewarded: @“screen Name”];
[PokktInterstitial cacheRewarded: @“screen Name”];

To show Ad(Video/Interstitial)

Earlier

Based on AdConfig provided we used to show ad.

[PokktManager showAd: adConfig];
Now
// For non rewarded ad
[PokktVideoAd showNonRewarded: @“screen Name”];
[PokktInterstitial showNonRewarded: @“screen Name”];
// For rewarded ad
[PokktVideoAd showRewarded: @“screen Name”];
[PokktInterstitial showRewarded: @“screen Name”];

Set ad delegates(Video/Interstitial)

Earlier
[PokktManager setAdDelegate:adDelegate];
Now
[PokktVideoAd setPokktVideoAdsDelegate: (id <PokktVideoAdsDelegate>)videoDelegate];
[PokktInterstitial setPokktInterstitialDelegate:
(id<PokktInterstitialDelegate>)interstitialDelegate];

Earlier
// load banner
[PokktManager loadBanner:(NSString *)screenName bannerView:(UIView *)bannerContainer
withViewController:(UIViewController *)viewController];
// destory banner
[PokktManager destroyBanner:(UIView *)bannerContainer];
Now
// load banner
[PokktBanner loadBanner:(PokktBannerView *)bannerView
withScreenName:(NSString *)screenName
rootViewContorller:(UIViewController *)viewController];
// destory banner
PokktBanner.destroyContainer(pokktBannerView);

Earlier
[PokktManager setBannerAdDelegate: BannerDelegate];
Now
[PokktBanner setPokktBannerDelegate: (id <PokktBannerDelegate>)bannerDelegate];