Stencyl 3.4.0 is now out. Get it now!

[IOS/Android] Heyzap advertising (Interstitial & Rewarded Video) 2.9.1

robinschaafsma

  • *
  • Posts: 627
Heyzap advertising (Interstitial & Video & Rewarded Video)
Works on iOS & Android

For Stencyl 3.4 and above

Stencyl extension for "Heyzap" (https://www.heyzap.com/) for iOS & Android. This extension allows you to easily integrate Heyzap ads in your Stencyl game / application. (http://www.stencyl.com)

IMPORTANT
This Extension Required the Toolset Extension Manager http://byrobin.nl/store/product/byrobintoolsetextension/


Features
- Works on IOS & Android
- Interstitial/Video Support.
- Rewarded Video Support.
- Banner Support
- Included SDK's: Heyzap SDK,
- Enable the extension to support the SDK's for Networks: Facebook ads, AppLovin,  Unityads, Vungle,

Supported Networks byRobin     OS SDK version     Android SDK version     Notes
AdMob7.10.09.4Enable Admob in Stencyl Mobile settings
AppLovinSee extensionSee extensionEnable Applovin extension version 0.0.4 in Stencyl
Facebook AdsSee extensionSee extensionEnable Facebook Ads version 1.6 extension in Stencyl
Heyzap9.10.1 9.10.1 Enable Heyzap extension in Stencyl
LeadboltSee extensionSee extensionEnable Leadbolt version 1.4 extension in Stencyl
UnityAdsSee extensionSee extensionEnable UnityAds extension version 0.0.9  in Stencyl
VungleSee extensionSee extensionEnable Vungle extension version 0.0.4 in Stencyl

IMPORTANT
- For AppLovin add your SDKKEY in the include file as described in the Extension.


Unsupported Networks byRobin     Notes
AdColonyAdColony extension need an update or on request.
ChartboostChartboost extension need an update or on request.
InMobiOn request.
MdotMOn request.
HyprMXOn request.
DomobOn request.

How to download this extension
Go to: http://byrobin.nl/store/product/heyzap-advertising-for-ios-android-stencylopenfl
Add the extension to the cart en proceed with checkout. After you successfully placed the order, you will get an e-mail with the download link or go to “My Account” section where you can also find the download link.

Install the zip file: Go to : http://community.stencyl.com/index.php/topic,30432.0.html

How to install this extension
Go to: https://github.com/byrobingames/heyzap/blob/master/README.md#how-to-install

Blocks

See also: https://github.com/byrobingames/heyzap/wiki

- Initialize Heyzap session with Publisher ID []
- Fetch/Show Heyzap Interstitial
- Fetch/Show Heyzap Rewarded Video
- Show/Hide Banner
- Move banner to bottom or top
- Callbacks for Interstitial
- Callbacks for Rewarded Video
- Callbacks for Banner
- Test if SDK is Present and test if ads are working (Debug only)

iOS Error on Compiling
iOS only:
The Heyzap SDK is not linked any more after you download the extensions, don't know why.
So you have to manually download the  Heyzap SDK and replace it with the old one in the frameworks folder of the Heyzap Extension.
See Wiki page how to do this: https://github.com/byrobingames/heyzap/wiki/4.-Error-on-Compiling
Code: [Select]
[openfl] Undefined symbols for architecture arm64:
[openfl]     _OBJC_CLASS_$_HZShowOptions", referenced from:
[openfl]        objc-class-ref in libheyzap.a(054f34a9_HeyzapEx.o)
[openfl]   "_OBJC_CLASS_$_HZInterstitialAd", referenced from:
[openfl]        objc-class-ref in libheyzap.a(054f34a9_HeyzapEx.o)
[openfl]    "_OBJC_CLASS_$_HeyzapAds", referenced from:
[openfl]      objc-class-ref in libheyzap.a(054f34a9_HeyzapEx.o)
[openfl]  ld: symbol(s) not found for architecture arm64
[openfl] clang: error: linker command failed with exit code 1 (use -v to see invocation)

Version History
-1.8 (2015-11-08) release
-1.9 (2015-11-20) major update (added blocks and SDK's see github for all updates
-2.1 (2016-01-28) update Heyzap SDK for both iOS and Android (9.3.7)
-2.2 (2016-03-28) update Heyzap SDK for both iOS and Android (9.4.4), remove UnityAds, AppLovin, and Vungle SDK's. There are now own extensions
-2.3 (2016-04-15) update Heyzap SDK for both iOS and Android (9.5.5), this has fix the crash when click an a Network in Debug.
-2.4 (2016-05-02) Android: set InMobi activity in comments, this will fix the crash on Android.
-2.5 (2016-05-11) iOS Fix: Freeze after dismiss ad when using single touch. Now single touch is working
-2.6 (2016-09-25)SDK Update for iOS and Android to 9.6.8
-2.7 (2016-11-18) Updated to SDK 10.
-2.8 (2016-11-25) Added Banner Support and Android Admob support
-2.9 (2017-03-19)
           - SDK 10 not in develop by Heyzap anymore, back to SDK 9.7.1
           - Android Gradle support for openfl4 update
           - byRobin extension manager 0.1.2 is needed for iOS.
-2.9.1(2017-05-16) Update SDK to iOS: 9.10.1 Android: 9.10.1, Tested for Stencyl 3.5, Required byRobin Toolset Extension Manager


« Last Edit: May 16, 2017, 03:19:08 pm by robinschaafsma »
byRobinGames.com


I'am not always on the forum, you can mail me if you have an question. info@byrobin.nl



robinschaafsma

  • *
  • Posts: 627
I made this extension for someone else, i like to share this....
byRobinGames.com


I'am not always on the forum, you can mail me if you have an question. info@byrobin.nl



luismp

  • *
  • Posts: 217
thanks for this extension robin!!
a couple questions, how do we check if a rewarded video ad is available? ...in my game over scene i have a "watch video" button that only is created if a chartboost rewarded video ad is loaded, i want to also create that button if a heyzap rewarded video ad is ready to be shown, is it possible?

« Last Edit: November 09, 2015, 12:07:40 pm by luismp »

robinschaafsma

  • *
  • Posts: 627
You can use also the Heyzap interstitial ad is load block. I need to rename that block.
You can use that block for interstitial, video and rewarded video.
byRobinGames.com


I'am not always on the forum, you can mail me if you have an question. info@byrobin.nl



dtrungle

  • *
  • Posts: 1938
A question, so whenever you show an ad, heyzap chooses a random provider from your list that is available and shows their ad, correct? And after you display enough ads, you can then customize priority?

It's so much more easier to work with one extension rather than using multiple extensions for each provider. The debug  tester is also the best thing ever, seriously. :)

I ran into the compile error and followed your guide and it worked.

Thanks a bunch, greatly appreciated.

robinschaafsma

  • *
  • Posts: 627
Yes thats correct, but the SDK for each provider has to be installed.

You can use existing extension like Leadbolt, Adcolony, Admob, charboost and just only enable the extension, in this way the SDK will be installed amd you can use the Heyzap blocks. (Not the blocks of each extension) this make it easy to use.
You can use the debug tester to test it..
byRobinGames.com


I'am not always on the forum, you can mail me if you have an question. info@byrobin.nl



luismp

  • *
  • Posts: 217
You can use also the Heyzap interstitial ad is load block. I need to rename that block.
You can use that block for interstitial, video and rewarded video.
i know it detects both interestitials,video ads and rewarded but if i put that block to check if a rewarded video ad is available it can throw a "false" true because an interstitial ad can be available when what i want to use is a rewarded video... am i wrong?

and about what dtrungle said, so i can use only the heyzap blocks if i have more than one ad extension? do we have to add in the heyzap dashboard which ad networks are we using so they can pick up ads from all those networks and in stencyl do we have to enable all ad extensions or what do we have to do to have multiple ad providers for heyzap ads, i'm not understading how it works.... ?

« Last Edit: November 09, 2015, 02:12:01 pm by luismp »

robinschaafsma

  • *
  • Posts: 627
Yes you right,  i don't know if i can chance that because all ads using the same delegate callbacks.
I can make a extra block to fetch a interstitial ad before you can show a interstitial ad, this way you can play with different fetch and show blocks.
Give me same time to make this.

Second, Yes just enable the networks in the dashboard and fill in the id's of the network. Then  Only  Enable the extension in stencyl and use the Heyzap blocks.

See also the wiki page i made, hope that explanes some more.
byRobinGames.com


I'am not always on the forum, you can mail me if you have an question. info@byrobin.nl



luismp

  • *
  • Posts: 217
Yes you right,  i don't know if i can chance that because all ads using the same delegate callbacks.
I can make a extra block to fetch a interstitial ad before you can show a interstitial ad, this way you can play with different fetch and show blocks.
Give me same time to make this.

Second, Yes just enable the networks in the dashboard and fill in the id's of the network. Then  Only  Enable the extension in stencyl and use the Heyzap blocks.

See also the wiki page i made, hope that explanes some more.

yes it would be great if you could add one block that checks wether and interstitials or rewarded ad is available so we can detect both of them separately :)

i have read your wiki page now but still have some questions xD, i saw that with heyzap we can use even unity ads, vungle, applovin ..and much more..but in stencyl we have extensions for only some of those networks, i assume that we can only use the ones that we have extensions for them ? so the steps are installing all those extensions, and enabling only heyzap in the extensions setting of my game in stencyl? or do i need to enable all of them before using only the heyzap blocks? .... im confused because i read your previous answer to dtrungle and you said that we have to have each sdk installed and i dont know if i download the sdk of unityads and copy that in the extension folder will the heyzap extension recognize it?

thanks again for your work and for answering my questions xD

robinschaafsma

  • *
  • Posts: 627
I have to look first if its possible to create extra blocks to check separately availability.

Second:
- Yes you can only use the one that we have extensions for.(IOS) (Android not sure)
- You have to install all extensions and enable them all not only Heyzap. Because you enable them all Stencyl will automaticly install the SDK's of the networks you enabled. Then you only need to use the Heyzap blocks.

IOS:
- You cannot download IOS SDK's from Networks where no extension of exists.
Like UnityAds, and copy that in the extension folder, the heyzap extension will not recognize it. There has to be some recode first to get that to work.

Android:
- But for Android you can i think, just download Android SDK of UnityAds and copy it to "engine-extensions/heyzap-master/dependecies/heyzap/libs" enable it in Heyzap dashboard and fill in you App ID. I think this will work, but not tested yet.

Hope this answers you questions.
byRobinGames.com


I'am not always on the forum, you can mail me if you have an question. info@byrobin.nl



luismp

  • *
  • Posts: 217
yes robin, thank you very  much, you are awesome !!  ;) ;)

Max Finch

  • *
  • Posts: 2180
So is this mediation or just hey zap advertising?

Max Finch

  • *
  • Posts: 2180
I've got the extensions enabled in Stencyl but they're not showing up in game and the dashboard is showing red for Adcolony and Chartboost and yellow for admob

dtrungle

  • *
  • Posts: 1938
If you haven't already, click the individual network, enable them and provide the IDs/Keys, and then hit the save button. The circle to the left of the network should be green.

I haven't tested tested this much but I know I got the heyzap ad to show.  What I tried was the debug block for chartboost.

I believe at this point heyzap randomly chooses a network, and if the network has no ad to serve heyzap will do nothing aside from logging in console.

luismp

  • *
  • Posts: 217
you have to enable each ad network both in stencyl and on heyzap dashboard. in the other hand just for testing purposes i downloaded the unity ads and vungle sdk and both were detected by heyzap using the debug block, but for using them more things are needed like activities and manifests...i just write it so everyone knows.  I didnt test chartboost but i succesfully enabled admob and facebook audience network and i was able to show ads using the debug block.

As i read in other forums (and dtrungle said) heyzap will choose a random ad provider and after some amount of impressions their algorithm will learn which ad network is performing better for each user/country and use that ad network for that user to optimise your ecpm... a lot of people is recommending it, specially for android some people are having 1.5-4 global ecpm (notice i said Global)...