Swiftpack.co - Package - kwizzad/kwizzad-ios

Kwizzad SDK for iOS

Pod version Carthage compatible Github Release




  • You already have your own KWIZZAD API KEY and PLACEMENT ID. If not, please contact TVSMILES per E-Mail and we will register your APP.
  • Apps integrating KWIZZAD SDK require at least iOS 8.0.
  • A fully working examples (objective-c and swift) can be found at: Examples


Migration guide from versions < 2.x.x


How to integrate KwizzadSDK Kwizzad supports Swift and ObjectiveC, and provides packages for CocoaPods and Carthage.


Carthage is a dependency manager for Cocoa. To install Carthage, please consult the documentation.

To load the Kwizzad SDK over Carthage:

  • Put a Cartfile into your project. Contents:

    github "kwizzad/kwizzad-ios" "master"

    You can replace master by a specific version number you want to stick to, for example 2.0.0.

  • Run carthage checkout


CocoaPods is also a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

To load the Kwizzad SDK over CocoaPods:

  • Integrate KwizzadSDK into your Xcode project using CocoaPods by specifying this in your Podfile:
    source 'https://github.com/CocoaPods/Specs.git'
    target '<Your Target Name>' do
        pod 'KwizzadSDK'
        # Alternatively, if you want to stick to a specific Kwizzad SDK version:
        # pod 'KwizzadSDK', '<version number goes here>'
  • Run the following command in your terminal, in the root directory of your project:
    $ pod install


step 1 : Initializing the SDK

  • with swift
     KwizzadSDK.setup(apiKey: "YOUR_API_TOKEN_HERE"")```
  • with objective-c
    [KwizzadSDK setupWithApiKey:@"YOUR_API_TOKEN_HERE"];

step 2 : Assigning Kwizzad Delegate protocol

  • with swift

    import KwizzadSDK
    class ViewController: UIViewController, KwizzadSDKDelegate {
       override func viewDidLoad() {
          KwizzadSDK.instance.delegate = self
  • with objective-c

    @interface ViewController () <KwizzadSDKDelegate>
    @implementation ViewController
    - (void)viewDidLoad {
     KwizzadSDK.instance.delegate = self;

step 3 : Requesting Ad

  • with swift

    KwizzadSDK.instance.requestAd(placementId: YOUR_PLACEMENT)
  • with objective-c

    [KwizzadSDK.instance requestAdWithPlacementId:YOUR_PLACEMENT onAdAvailable:nil];

step 4 : Implement the delegate functions

Please have a look at the KwizzadExample app project. There are two build schemes, one for Swift, one for objective-c, to implement the delegate functions.

 using the delegate pattern

    Mandatory callbacks :

    - kwizzadDidRequestAd:placementId
    - kwizzadOnAdAvailable:placementId:potentialRewards:adResponse
    - kwizzadOnAdReady:placementId
    - kwizzadDidShowAd:placementId
    - kwizzadGotOpenTransactions:openTransactions
    - kwizzadDidDismissAd:placementId
    - kwizzadOnNoFill:placementId

    Optionals Callbacks :

    - kwizzadOnErrorOccured:placementId:reason
    - kwizzadWillPresentAd:placementId
    - kwizzadOnGoalReached:placementId
    - kwizzadCallToActionClicked:placementId

For better targeting, please set your user data :

let userData = kwizzad.userDataModel;
userData.userId = "12345" 
userData.gender = Gender.Female
userData.userName = "Francesca Rossi" 
userData.facebookUserId = "1234abc"


Stars: 1


Used By

Total: 0


- 2017-09-19 07:30:40

[FIXED] crash happened sometimes when close dialog is shown

- 2017-09-13 15:52:02

[NEW] kwizzad supports French language, now [NEW] campaign meta info default values are available whenever a campaign meta info is missing (image, headline, description text)

[FIXED] show close dialog if you click on the close icon also on quiz pages [FIXED] kwizzad close icon was visible in some edge cases within publisher app [FIXED] prevent multiple ad requests when state changed from requesting to dismissed [FIXED] null pointer exception when no campaign image was available

2.3.0 - 2017-08-16 13:55:24

This release contains minor fixes – we recommend you update your app to use this SDK version.

  • Increases RTA fill rates by supplying better targeting parameters
  • Example app now shows how to use automatic ad preloading
  • Simplified API for getting open transaction rewards
  • Fixes an edge case that led to a duplicated ad request
  • Fixes an issue with ad expiration when phone date is set incorrectly

- 2017-07-27 13:45:05

This release adds RTA/video support to Kwizzad’ SDK. This means you can use Kwizzad to monetize video impressions in your web app! Kwizzad allows you to mix videos, questionnaires, and quizzes in innovative, appealing ad formats.

- 2017-06-29 11:27:43

CHANGED: We moved the RxSwift code we use directly into our SDK. This way, the Kwizzad iOS SDK has no external RxSwift framework dependency anymore.

- 2017-06-26 16:01:26

[CHANGED] SDK compatible with RXSwift version 3.0 +

- 2017-05-22 07:29:12

UPDATED: Apps integrating KWIZZAD SDK require iOS 8 or higher to run; if less than iOS 8 no ad requests will be sent out to us

NEW: Set any custom parameter you want: like transactionId, aff_sub, tracking token, ... These will be available later on in callbacks to identify the originating ad session.

- 2017-05-10 13:15:23


With version 2.0.1, we overhauled Kwizzad's SDK, cleaned up some API endpoints and added many new features.

If you used to integrate Kwizzad SDK in a version prior to 2.x.x, there are some necessary and some optional changes:

  • Necessary changes:
    • Prior versions used the Observable/Signal pattern for handling events. We simplified this with a delegate pattern. This means that you have to adapt the KwizzadSDKDelegate protocol in the code that presents Kwizzad ads.
  • New features:
    • The 'ad ready' callback is now called with more detailled reward information, as well as a string building toolkit for incentivizing strings like Earn 2000 coins by playing a quiz. See incentiveTextForRewards in Reward.swift and the new example app to learn how to use this.
    • Your code now gets full campaign metadata to customize the ad button: a campaign image, headline, teaser text, and a brand name. Have a look at the example app and learn how your app can make use of this.
    • The new example app provides a styled, layouted ad button that you can copy into your app code (fully customizable)

- 2017-03-14 13:40:29

FIXED: endless loading animation while requesting an ad

- 2017-03-13 10:43:22

FIXED Crash while requesting specific ads (only Obj-C/Carthage affected)

NEW Loading animation shown to show the user something is happening, while:

  • requesting/starting an ad
  • redirecting to external offer page (after last quiz)

- 2017-02-17 17:29:46

CHANGED: reward type is now accessible with Obj-C CHANGED: enable logging to Syslog

- 2017-02-16 14:33:12

CHANGED: reward amount and reward name can be shown separated in your publisher app; both are public now

- 2017-02-08 17:09:27

  • NEW: provide function to show the amount of a KWIZZAD after the adResponse
  • FIX: close icon not shown in some cases
  • FIX: redirect to iTunes store (after the quiz) not working in some cases
  • FIX: several potential nullPointerExceptions

Bugfix Release 0.7.5 - 2016-12-14 11:39:10

  • FIX Improved Passback/ Nofill handling
  • Added localization for DE and EN

Bugfix Release v0.7.2 - 2016-11-29 16:38:52

This release contains several improvements and bugfixes for both Swift and Objective-C integrations.

Initial Public Release - 2016-11-22 23:45:53

This is the first public KWIZZAD IOS Release for Objective-C and Swift.