Latest 1.0.2
License MIT
Platforms ios 8.0

ZFRewardVideoManager is an integration of all mainstream reward video platforms. You can monetize your app by reward video with simple API and dispatch reward videos by priority. And you can also integrate/delete certain RV platform just by adding/deleting one line code in Podfile without changing any code in your project.

Supported RV Platforms

  • Vungle
  • Appnext
  • Adcolony
  • Unity


  • Integrate multiple RV platforms.
  • Customize platform priority in order to adjust video play order.
  • You can set cap for each platform during one app life cycle to limit play counts for single user.
  • Integrate/Delete certain RV platform by just one line code without any code modification in your project.


pod 'ZFRewardVideoManager/Vungle'
pod 'ZFRewardVideoManager/Appnext'
pod 'ZFRewardVideoManager/Adcolony'
pod 'ZFRewardVideoManager/Unity'

You can delete certain line if you don’t need to play the videos from that platform.



Initialize and start to load videos. Usually use when user enters the homepage of your app.

[ZFRewardVideoManager sharedInstance].delegate = self;
[[ZFRewardVideoManager sharedInstance] configVungleAppId:{vungle_appId}];
[[ZFRewardVideoManager sharedInstance] configAppnextPlacementId:{appnext_placementId}];
[[ZFRewardVideoManager sharedInstance] configAdcolonyAppId:{adcolony_appId} zoneId:{adcolony_zoneId}];
[[ZFRewardVideoManager sharedInstance] configUnityGameId:{unity_gameId} placementId:{unity_placementId}];
[[ZFRewardVideoManager sharedInstance] setPriority:@[@(ZFRewardVideoTypeAdcolony),
[[ZFRewardVideoManager sharedInstance] setCap:2 platform:ZFRewardVideoTypeAppNext];
[[ZFRewardVideoManager sharedInstance] setCap:1 platform:ZFRewardVideoTypeAdcolony];
[[ZFRewardVideoManager sharedInstance] start];
  • Notice1 : You must set priority for a platform if you want to play videos from it.
  • Notice2 : Default cap will be set 5 if you don’t set cap for a platform. Set -1 for cap will block loading video from corresponding platform.

Play Video

Call this function to start playing video(If any video has been loaded).

[[ZFRewardVideoManager sharedInstance] play];

Status Change

ZFRewardVideoManagerDelegate indicates the status for the reward videos.
Usually implemented for UI changes.


To avoid namespace duplication. This project changes CTMediator file name.

CTMediator by casa :

Latest podspec

    "name": "ZFRewardVideoManager",
    "version": "1.0.2",
    "summary": "ZFRewardVideoManager integrates and dispatches mainstream leading reward video platform videos.",
    "homepage": "",
    "license": "MIT",
    "authors": {
        "ruozi": "[email protected]"
    "platforms": {
        "ios": "8.0"
    "source": {
        "git": "",
        "tag": "1.0.2"
    "default_subspecs": "Core",
    "subspecs": [
            "name": "Core",
            "source_files": [
            "public_header_files": "ZFRewardVideoManager/*.h",
            "requires_arc": "ZFRewardVideoManager/*.m"
            "name": "Vungle",
            "dependencies": {
                "ZFRewardVideoManager/Core": [],
                "VungleSDK-iOS": [
                    "~> 4.0.9"
            "source_files": [
            "name": "Appnext",
            "dependencies": {
                "ZFRewardVideoManager/Core": []
            "source_files": [
            "vendored_libraries": [
            "frameworks": [
            "name": "Adcolony",
            "dependencies": {
                "ZFRewardVideoManager/Core": [],
                "AdColony": [
                    "~> 3.0.6"
            "source_files": [
            "name": "Unity",
            "dependencies": {
                "ZFRewardVideoManager/Core": []
            "source_files": [
            "vendored_frameworks": "ZFRewardVideoManager/Platforms/Unity/UnitySDK/UnityAds.framework"

Pin It on Pinterest

Share This