Chartboost Mobile Ads (Not Updated)

rob1221

  • *
  • Posts: 9461
Are you referring to the version I attached on page 6?  It works without spaces?

altobi

  • Posts: 86
No. The old one on the first page.

betofantasioso

  • Posts: 76
Thanks for your effort rob1221!

Chartboost started to offer video ads las March. Can I use this extension to display this kind of video ads as well?

Cheers!

rob1221

  • *
  • Posts: 9461
No.  I'll try again later today to see if I can get their new iOS SDK to work, but if not then someone else more experienced with Obj-C will have to figure it out.

betofantasioso

  • Posts: 76
No.  I'll try again later today to see if I can get their new iOS SDK to work, but if not then someone else more experienced with Obj-C will have to figure it out.

Cool!

Hopefully you can figure it out.

I'll stay tuned.

Thanks a lot!

rob1221

  • *
  • Posts: 9461
Nope, the new version still doesn't work, so it probably isn't a problem on Chartboost's side.  I'm testing this in a VM with Xcode 4 since I can't update (hard to find AMD compatibility), don't have a Mac, and Macincloud is slow and probably doesn't give me the permissions needed.  If someone with Xcode 5 can successfully build and run the extension, then I know the problem is on my end.

Extension link:


Here's the point where testing a game in the simulator fails.

[LOG]     /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk "-L/Users/Rob1221/stencylworks/games-generated/Chartboost Test/Export/ios/build/Release-iphonesimulator" "-L/Users/Rob1221/stencylworks/games-generated/Chartboost Test/Export/ios/Chartboost Test/lib/i386" "-F/Users/Rob1221/stencylworks/games-generated/Chartboost Test/Export/ios/build/Release-iphonesimulator" -filelist "/Users/Rob1221/stencylworks/games-generated/Chartboost Test/Export/ios/build/Chartboost Test.build/Release-iphonesimulator/Chartboost Test.build/Objects-normal/i386/Chartboost Test.LinkFileList" -Xlinker -objc_abi_version -Xlinker 2 -lstd -lregexp -lzlib -lcurl_ssl -lpng -ljpeg -lfreetype -logg -lvorbis -lnme -lstd -lregexp -lzlib -lcurl_ssl -lpng -ljpeg -lfreetype -logg -lvorbis -lnme -lads -lgamecenter -lpurchases -lnative -lmychartboost -lChartboost -lApplicationMain -stdlib=libc++ -Xlinker -no_implicit_dylibs -mios-simulator-version-min=5 -framework UIKit -framework OpenAL -framework OpenGLES -framework QuartzCore -framework CoreAudio -framework CoreGraphics -framework AudioToolbox -framework AVFoundation -framework Foundation -framework iAd -framework GameKit -framework StoreKit -framework SystemConfiguration -framework AdSupport -o "/Users/Rob1221/stencylworks/games-generated/Chartboost Test/Export/ios/build/Release-iphonesimulator/Chartboost Test.app/Chartboost Test"
[LOG] Undefined symbols for architecture i386:
[LOG]   "_CMTimeGetSeconds", referenced from:
[LOG]       -[CBNativeInterstitialView startPlayback:] in libChartboost.a(CBNativeInterstitialView.o)
[LOG]       -[CBNativeInterstitialView updateVideoProgress] in libChartboost.a(CBNativeInterstitialView.o)
[LOG] Finished building for iOS (or errored out): 1
[LOG]   "_NSSQLiteStoreType", referenced from:
[LOG]       -[CBStoryStorageManager persistentStoreCoordinator] in libChartboost.a(CBStoryStorageManager.o)
[LOG]   "_OBJC_CLASS_$_NSAttributeDescription", referenced from:
[LOG]       objc-class-ref in libChartboost.a(CBStoryStorageManager.o)
[LOG]   "_OBJC_CLASS_$_NSEntityDescription", referenced from:
[LOG]       objc-class-ref in libChartboost.a(CBStoryStorageManager.o)
[LOG]   "_OBJC_CLASS_$_NSFetchRequest", referenced from:
[LOG]       objc-class-ref in libChartboost.a(CBStoryStorageManager.o)
[LOG]   "_OBJC_CLASS_$_NSManagedObject", referenced from:
[LOG]       objc-class-ref in libChartboost.a(CBStoryStorageManager.o)
[LOG]   "_OBJC_CLASS_$_NSManagedObjectContext", referenced from:
[LOG]       objc-class-ref in libChartboost.a(CBStoryStorageManager.o)
[LOG]   "_OBJC_CLASS_$_NSManagedObjectModel", referenced from:
[LOG]       objc-class-ref in libChartboost.a(CBStoryStorageManager.o)
[LOG]   "_OBJC_CLASS_$_NSPersistentStoreCoordinator", referenced from:
[LOG]       objc-class-ref in libChartboost.a(CBStoryStorageManager.o)
[LOG]   "_SecCertificateCopyData", referenced from:
[LOG]       -[Chartboost_AFSecurityPolicy evaluateServerTrust:forDomain:] in libChartboost.a(AFSecurityPolicy.o)
[LOG]   "_SecCertificateCreateWithData", referenced from:
[LOG]       -[Chartboost_AFSecurityPolicy setPinnedCertificates:] in libChartboost.a(AFSecurityPolicy.o)
[LOG]       -[Chartboost_AFSecurityPolicy evaluateServerTrust:forDomain:] in libChartboost.a(AFSecurityPolicy.o)
[LOG]   "_SecPolicyCreateBasicX509", referenced from:
[LOG]       -[Chartboost_AFSecurityPolicy setPinnedCertificates:] in libChartboost.a(AFSecurityPolicy.o)
[LOG]       -[Chartboost_AFSecurityPolicy evaluateServerTrust:forDomain:] in libChartboost.a(AFSecurityPolicy.o)
[LOG]   "_SecPolicyCreateSSL", referenced from:
[LOG]       -[Chartboost_AFSecurityPolicy evaluateServerTrust:forDomain:] in libChartboost.a(AFSecurityPolicy.o)
[LOG]   "_SecTrustCopyPublicKey", referenced from:
[LOG]       -[Chartboost_AFSecurityPolicy setPinnedCertificates:] in libChartboost.a(AFSecurityPolicy.o)
[LOG]       -[Chartboost_AFSecurityPolicy evaluateServerTrust:forDomain:] in libChartboost.a(AFSecurityPolicy.o)
[LOG]   "_SecTrustCreateWithCertificates", referenced from:
[LOG]       -[Chartboost_AFSecurityPolicy setPinnedCertificates:] in libChartboost.a(AFSecurityPolicy.o)
[LOG]       -[Chartboost_AFSecurityPolicy evaluateServerTrust:forDomain:] in libChartboost.a(AFSecurityPolicy.o)
[LOG]   "_SecTrustEvaluate", referenced from:
[LOG]       -[Chartboost_AFSecurityPolicy setPinnedCertificates:] in libChartboost.a(AFSecurityPolicy.o)
[LOG]       -[Chartboost_AFSecurityPolicy evaluateServerTrust:forDomain:] in libChartboost.a(AFSecurityPolicy.o)
[LOG]       _AFServerTrustIsValid in libChartboost.a(AFSecurityPolicy.o)
[LOG]   "_SecTrustGetCertificateAtIndex", referenced from:
[LOG]       -[Chartboost_AFSecurityPolicy evaluateServerTrust:forDomain:] in libChartboost.a(AFSecurityPolicy.o)
[LOG]   "_SecTrustGetCertificateCount", referenced from:
[LOG]       -[Chartboost_AFSecurityPolicy evaluateServerTrust:forDomain:] in libChartboost.a(AFSecurityPolicy.o)
[LOG]   "_SecTrustSetAnchorCertificates", referenced from:
[LOG]       -[Chartboost_AFSecurityPolicy evaluateServerTrust:forDomain:] in libChartboost.a(AFSecurityPolicy.o)
[LOG]   "_SecTrustSetPolicies", referenced from:
[LOG]       -[Chartboost_AFSecurityPolicy evaluateServerTrust:forDomain:] in libChartboost.a(AFSecurityPolicy.o)
[LOG]   "_kCMTimeZero", referenced from:
[LOG]       -[CBNativeInterstitialView startPlayback:] in libChartboost.a(CBNativeInterstitialView.o)
[LOG] ld: symbol(s) not found for architecture i386
[LOG] clang: error: linker command failed with exit code 1 (use -v to see invocation)
[LOG] ** BUILD FAILED **
[LOG] The following build commands failed:
[LOG]    Ld "build/Release-iphonesimulator/Chartboost Test.app/Chartboost Test" normal i386
[LOG] (1 failure)

« Last Edit: August 04, 2014, 07:26:45 pm by rob1221 »

LePoulpe

  • Posts: 181
Hi Rob
Thank you for your useful extension.
Is it possible to add a boolean block to check if the ad did successfully/fail to load ?
If not, do you know how to achieve this via code ?

Thanks

rob1221

  • *
  • Posts: 9461
I haven't figured out how the delegates work, so I can't help with that, and I'm stuck with the iOS updating problem anyway.

LePoulpe

  • Posts: 181
Ok, Thanks for your reply, Rob.

GeorgeN

  • Posts: 859
Hi! Here it comes the fix.

rob1221

  • *
  • Posts: 9461
Thanks GeorgeN, that seems to have fixed the problem.  Now I'll take a look at video ads and see if I can get those working.

GeorgeN

  • Posts: 859
Thanks GeorgeN, that seems to have fixed the problem.  Now I'll take a look at video ads and see if I can get those working.

They are in closed beta anyway and you need to apply for access. I will also take a look maybe I can make some blocks for those delegates. It might be useful to know if an ad failed to load or when the player clicked an ad.

rob1221

  • *
  • Posts: 9461
Ah you're right, the video ads are still in beta, so I won't try to support them yet.

One of the problems I see with delegates is that you have to send information back to Haxe.  There is some information about the process on Stencylpedia but it's not something I've done yet.

Quote from: Stencylpedia
What if you do something on the Objective-C or Java side of things and want that code to send data or notifications back to Haxe? For example, if you complete a purchase, you want to inform the player about it. How is that achieved?

In a gist, it involves the following concepts on iOS.

    Setting a function pointer from Haxe to ExternalInterface.cpp to set up a function that will get called back, with the desired data passed in as a parameter. In other words, it's a just setting up a callback. Look for set_event_handle()
    Packaging up the data to send inside ExternalInterface.cpp, using a key-value store and then sending it. Look for send_purchase_event()

To reiterate, this is an advanced use case where it’s best to view the existing source for our Purchases extension. It sounds a lot more confusing than it really is, and there’s no better explanation than viewing the source for yourself.

« Last Edit: July 24, 2014, 03:08:10 pm by rob1221 »

GeorgeN

  • Posts: 859
Ah you're right, the video ads are still in beta, so I won't try to support them yet.

One of the problems I see with delegates is that you have to send information back to Haxe.  There is some information about the process on Stencylpedia but it's not something I've done yet.

Quote from: Stencylpedia
What if you do something on the Objective-C or Java side of things and want that code to send data or notifications back to Haxe? For example, if you complete a purchase, you want to inform the player about it. How is that achieved?

In a gist, it involves the following concepts on iOS.

    Setting a function pointer from Haxe to ExternalInterface.cpp to set up a function that will get called back, with the desired data passed in as a parameter. In other words, it's a just setting up a callback. Look for set_event_handle()
    Packaging up the data to send inside ExternalInterface.cpp, using a key-value store and then sending it. Look for send_purchase_event()

To reiterate, this is an advanced use case where it’s best to view the existing source for our Purchases extension. It sounds a lot more confusing than it really is, and there’s no better explanation than viewing the source for yourself.

Well Abi made those boolean blocks to check if an ad is available so we have just to take a small look at Admob extension ;)

Also another nice addition to Chartboost is this: https://help.chartboost.com/documentation/newsfeed

rob1221

  • *
  • Posts: 9461
That feature is in beta too.