CrossPromo – An alternative to pesky adverts!

One of the comments I get regularly about Asterun is that the advertising can be a bit irritating.

While I’m incredibly lucky that those who have played so far are understanding about the need for those adverts, as I expand my reach out to others, it’d be understandable for new players to become agitated at adverts appearing all of the time – especially low quality ones which are often downright annoying!

Here’s where CrossPromo comes into play! Let’s dump some adverts, and display our own stuff instead!

2017-05-29 22.47.15

What is ‘CrossPromo’?! How do I eat it?!

A nice compromise for advertising in game is to remove the very low-quality ultra-casual mobile game adverts, with an eCPM price floor (so that those adverts which didn’t even pay well to start with aren’t shown!), and start to present my own adverts instead! It’s far more beneficial for myself – especially when just starting out – to have a way of presenting my own work to those who are already engaged and to keep those people engaged by having a high quality product which they enjoy using! Why present an advert for something of incredibly low quality and get paid very little, when I can uphold my standards and present my own work instead! CrossPromo isn’t just limited to presenting other games, it could be used to showcase special offers within your portfolio, such as a game being free to download during a certain time period or the announcement of another game being released!

CrossPromo has been in development for the past few weeks, and allows for myself (and eventually other developers too!) to create native Cocos2d-x interstitial adverts based off of properties defined in a .JSON file. The .JSON file contains all of the information required for each ‘promotion’, such as:

  • Target platform (for those iOS or Android only games!)
  • Background details – as the gradient background is entirely customisable!
  • Object details – to know what to present on the screen, such as sprite filenames, label text / fonts, and button URLs. Each object is defined with a set of properties, which is then used to create each one at runtime.
  • References – so that analytics is able to be tracked efficiently to see what is engaged with the most.

This file is then read into the project at runtime when the game is first loaded, and used to construct data objects which we preserve throughout the lifecycle of the application. When a CrossPromo adverts is required, we simply pass the promotion’s data object as a parameter into a class, and an advert is created! This can then be shown, instead of a low quality third-party advert!

Sounds delicious cool! What else will be part of it?!

The CrossPromo object is due to continue over time and will constantly evolve. For the next few weeks, I will be using it solely within Asterun to test how it performs and how people react towards it, before extracting it out of Asterun and open-sourcing it!

Currently, CrossPromo only allows for static, silent adverts. Future work should allow there to be animations and actions, along with proper soundscaping and further polishing. Start and end dates are also due to be added, so that you can place a time-frame on when you wish a certain promotion to be visible. Far away in the future, CrossPromo may even be able to be served over the Internet; a promotion could be defined and saved on a server, which the game requests upon loading, allowing for promotions to be updated incredibly flexibly outside of typical App Store review processes.

If you wish to stay up to date with how CrossPromo turns out, please star the repository here: and check out my Twitter here too:!

~ fin ~