Vungle plugin failed during ios build

I thought I’d give Xcode 6.4 and Corona SDK 2719 a whirl. That doesn’t work either. Unsurprising seeing as my iPad is running iOS 9.1

I would urge you to check repeatedly that Vungle is working for you with live ads. 

I tried with live ads, and indeed, it doesn’t work on iOS 9.1. It still works on my iPhone 4 with iOS 7.1.2.

This is quite urgent for me. Vungle is the only way to have video ads in our apps, so not having it working on the latest iOS is really worrying.

So I just double checked two of my apps that use Vungle… Both are working fine with the video adverts. And I tested on my iPhone 6 with iOS 9.1.

Just checking but you guys are using:

ads.init(“vungle”, vungleID, AdListener)

You replaced the VungleID with your actual ID ( a number if I remember right) and using:

NSAppTransportSecurity =
{
NSAllowsArbitraryLoads = true,
},

In the build.settings ?

I’m back on Xcode 7.0 and Corona SDK 2731 iPad Mini 4 iOS 9.1.

Here’s my Vungle code and build settings.

settings = { orientation = { default = "portrait", supported = {"portrait"} }, iphone = { plist = { NSAppTransportSecurity = { NSAllowsArbitraryLoads = true, NSExceptionDomains = { ["fbcdn.net"] = { NSIncludesSubdomains = true, NSExceptionRequiresForwardSecrecy = false, }, ["facebook.com"] = { NSIncludesSubdomains = true, NSExceptionRequiresForwardSecrecy = false, }, ["akamaihd.net"] = { NSIncludesSubdomains = true, NSExceptionRequiresForwardSecrecy = false, }, }, }, LSApplicationQueriesSchemes = { "fb", "fbapi20130214", "fbapi20130410", "fbapi20140410", "fbapi20140116", "fbapi20150313", "fbapi20150629", "fbauth", "fbauth2", "fb-messenger-api20140430", }, FacebookAppID = "xxxxxxxxxxxxxxx", CFBundleURLTypes = { { CFBundleURLSchemes = { "fbxxxxxxxxxxxxxxx", } } }, UIAppFonts = { "Komikax.ttf" }, UILaunchStoryboardName = "BlackScreen", UIStatusBarHidden = true, UIPrerenderedIcon = true, -- Set to false for "shine" overlay. CFBundleDisplayName = "xxxxxxxxxxxxx", CFBundleIconFiles = { "Icon.png", "Icon@2x.png", "Icon-60.png", "Icon-60@2x.png", "Icon-60@3x.png", "Icon-72.png", "Icon-72@2x.png", "Icon-76.png", "Icon-76@2x.png", "Icon-Small.png", "Icon-Small@2x.png", "Icon-Small@3x.png", "Icon-Small-40.png", "Icon-Small-40@2x.png", "Icon-Small-40@3x.png", "Icon-Small-50.png", "Icon-Small-50@2x.png", }, }, }, plugins = { ["CoronaProvider.ads.iads"] = { publisherId = "com.coronalabs", }, ["CoronaProvider.ads.vungle"] = { publisherId = "com.vungle", }, ["CoronaProvider.native.popup.social"] = { publisherId = "com.coronalabs", }, ["CoronaProvider.native.popup.activity"] = { publisherId = "com.coronalabs", }, ["plugin.google.play.services"] = { publisherId = "com.coronalabs" }, ["plugin.adbuddiz"] = { publisherId = "com.adbuddiz" }, ["plugin.chartboost"] = { publisherId = "com.swipeware" }, }, }

local function AdListener(event) print("\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*") print("event.response = " .. tostring(event.response)) print("event.provider = " .. tostring(event.provider)) print("event.isError = " .. tostring(event.isError)) print("event.type = " .. tostring(event.type)) print("event.name = " .. tostring(event.name)) print("event.phase = " .. tostring(event.phase)) print("\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*") if event.type == "adStart" and event.isError then local function Callback() if audioOn == 1 then audio.play(click) end end native.showAlert("XXX", "Video failed to load. Please try again shortly.", {"OK"}, Callback) -- Video ad. displayed and then closed. elseif event.type == "adEnd" and not vungleAwarded then vungleAwarded = true -- Code to reward user. elseif event.type == "adView" and not vungleAwarded then -- Code to reward user. end end ads.init("iads", bundleID)--, AdListener) ads.init("vungle", vungleID, AdListener) ads.init("admob", adMobID)--, AdListener) ads:setCurrentProvider("admob") ads.load("interstitial", {appId = adMobID, testMode = adMobTestMode})

To quote my own previous post:

I would urge you to check repeatedly that Vungle is working for you with live ads. 

The trick here is to place some print statements in the listener as I have done. 

This worked for me for about 8 live ads or so:

NSAppTransportSecurity = { NSAllowsArbitraryLoads = true, },

But now it does not work at all. When it worked for the 8 or so live ads I received print statements in the Xcode console. I can’t recall exactly what the statements said but it was along the lines of “event.provider = Vungle” and other reassuring statements confirming that ads.init(“vungle”, vungleID, AdListener) succeeded.

You will know the difference between the Vungle plugin failing and a case of Vungle being out of inventory. When the plugin is working you will get some reassuring statements confirming that ads.init(“vungle”, vungleID, AdListener) succeeded. If you do not - you will never get any videos.

As a result, calling ads.showCacheFiles() in Corona SDK: https://docs.coronalabs.com/plugin/vungle/showCacheFiles.html results in (excerpted from the Xcode log):

“cache” : [

      ],
      “appId” : “xxxxxxxxx”,
      “ifa” : “xxxxxxxxx”,
      “version” : “3.2.0”
    } 

If there were ads successfully cached then there would be entries between the square brackets.

I have other ad networks that are also initialized and I started to wonder if that was the issue. I doubt it. As you can see I only use the listener for Vungle. It appears to be an ATS (Awfully Terribly Stymied!) problem. My video views per day are literally 1/10th of what they used to be these last 6 weeks or so. Ouch! :frowning:

Hopefully Vungle will chime in soon with a fix.

@henson802

I have ads.init(“vungle”, vungleID, AdListener) where vungleID is a string. vungleID is usually (but not always!) the iOS app ID.

Interesting… so these are live ads? Is your App live and published? I only ask cause I know if you are testing and not live- you need to explicitly use test on Vungle dashboard and possibly somewhere in code- or the adverts will stop after a few broadcasts.

Like I said- my app is working fine with Vungle and I am using iOS 9.1

Sorry can’t be much help, I’d try to use only Vungle (without other advertisers) if still nothing. Try to narrow down the issue- if it was a Vungle or corona issue- then my adverts wouldn’t work but I just checked and they are working fine.

I switched over to test ads - still nada. Perhaps I didn’t leave time for the live->test propagation. Still, I doubt it’s that. I still get no print from the listener that ads.init(“vungle”, vungleID, AdListener)  succeeded.

The app is live and published. I also tried another of my live apps - still nada. I know there is a problem as my Vungle video views reported in the Vungle dash have dropped significantly. I wonder if anyone else has experience this and is it a result of iOS 9 and ATS?

It’s puzzling that your app works fine. What to do…?

Perhaps I will try your suggestion of a minimal Vungle implementation with no other “distractions”.

Thanks!

I’ve managed to get Vungle videos working. I have used a different ID from the Vungle dash from an app I know to be serving Vungle ads.

Maybe I have an app with a corrupt Vungle ID? Not sure…

I’ll have to do more tests on Monday.

Has anyone managed to use Vungle in os9 without resorting to exception list?

Same problem here, can´t build if the Vungle Plugin is in.

Currently i’m using the Corona SDK version 2015.2722

Getting this same error. Daily build 2722.

It was working fine yesterday.

+1

Build 2722.

build.settings:

plugins = { ["CoronaProvider.ads.iads"] = { publisherId = "com.coronalabs", }, ["CoronaProvider.ads.vungle"] = { publisherId = "com.vungle", }, ["CoronaProvider.native.popup.social"] = { publisherId = "com.coronalabs", }, ["plugin.google.play.services"] = { publisherId = "com.coronalabs" }, ["plugin.adbuddiz"] = { publisherId = "com.adbuddiz" }, ["plugin.chartboost"] = { publisherId = "com.swipeware" }, }, 

Xcode 7.0

Log attached. CoronaSDK.png

I have contacted Vungle and await their response.

The checked in a new version of the plugin yesterday. The will have to fix it. Given its Sunday this may not get resolved immediately and they will have to fix it.

This error ““Undefined symbols” and “linker command failed” error” has been identified. The plug-in configuration was missing reference to WebKit framework, which has now been adjusted, submitted, and verified, 6am PST. Chris//Vungle

Vungle pushed out a fix. Give it a try and see if it worked for you.

Actually vungle plugin build correctly but do not works on iOS (no video appears) any idea??? i use corona build 2722

Android works fine and the videos appear!

You will need to show us your code including build.settings and config.lua.

Rob

config.lua

application =  {   content =    { width  = 320, height = 480,  scale  = "zoomStretch", fps    = 60,     -- imageSuffix = { ["@2x"] = 2, }    },   -- Push notifications   -- notification = { iphone = { types =  { "badge", "sound", "alert", "newsstand" } } }  }

and build.settings

settings = { -- General parameters orientation = { default = "portrait", supported = { "portrait" } }, -- iOS parameters iphone = { plist = { UIStatusBarHidden = false, UIPrerenderedIcon = true, -- Set to false for "shine" overlay --UIApplicationExitsOnSuspend = true, -- Uncomment to quit app on suspend CFBundleShortVersionString = "1.0.7", UIAppFonts = { "data/fonts/fonts.ttf" }, --[[-- iOS app URL schemes: CFBundleURLTypes = { { CFBundleURLSchemes = { "fbXXXXXXXXXXXXXX", -- Example scheme for facebook "coronasdkapp", -- Example second scheme } } } --]] } }, -- Android parameters android = { googlePlayGamesAppId = "xxxxxxx", -- Google Play Game Services AppID usesPermissions = { "android.permission.INTERNET", "android.permission.WRITE\_EXTERNAL\_STORAGE", -- For vungle "android.permission.ACCESS\_NETWORK\_STATE", -- For vungle "com.android.vending.BILLING", -- For Google In App Purchase --"com.samsung.android.providers.context.permission.WRITE\_USE\_APP\_FEATURE\_SURVEY", -- Used for Samsung app store }, }, -- Exclude some files for different targets excludeFiles = { iphone = { "Icon-xxhdpi.png", "Icon-xhdpi.png", "Icon-hdpi.png", "Icon-mdpi.png", "Icon-ldpi.png", "data/sounds/fx/\*.ogg", "data/sounds/music/\*.ogg" }, android = { "Icon.png", "Icon@2x.png", "Icon-Small-40.png", "Icon-Small-40@2x.png", "Icon-60.png", "Icon-60@2x.png", "Icon-72.png", "Icon-72@2x.png", "Icon-76.png", "Icon-76@2x.png", "Icon-Small-50.png", "Icon-Small-50@2x.png", "Icon-Small.png", "Icon-Small@2x.png", "Default-568h@2x.png", "data/sounds/fx/\*.aac", "data/sounds/music/\*.aac" } }, plugins = { -- Enable Vungle plugin ["CoronaProvider.ads.vungle"] = { publisherId = "com.vungle" }, -- Enable Admob plugin ["plugin.google.play.services"] = { publisherId = "com.coronalabs" }, -- Enable Google game network plugin ["CoronaProvider.gameNetwork.google"] = { publisherId = "com.coronalabs", supportedPlatforms = { android = true }, }, -- Enable Apple game network plugin ["CoronaProvider.gameNetwork.apple"] = { publisherId = "com.coronalabs", supportedPlatforms = { iphone = true, ["iphone-sim"] = true }, }, -- Enable Google In App Purchase ["plugin.google.iap.v3"] = { publisherId = "com.coronalabs", supportedPlatforms = { android = true } }, -- Enable Social plugin (iOS and Android) ["CoronaProvider.native.popup.social"] = { publisherId = "com.coronalabs" }, }, }

I have only update my app with the same vungle code of older version but in the update (on iOS) no videos appear