Release: Playable Ad Space Shooter

I thought I would share our playable ad example. It’s a very short Galaga inspired space shooter to show our clients that they can have a bit of fun with this new type of advertisement, and we’re actively sending it out. The controls and instructions changed based on whether it detects a mobile device or not.

The tool that @yaustar made here:

and guide here:

were super useful to getting this prepared and convertible for multiple platforms. We even modified one version of the one-page output (Facebook) from the tool to pass all of google’s tests as well.

You can check out our finished ad HERE

We’d love to hear any tips or troubles others might have faced with playable ad platforms, as it seems like most of the ones not attached to app promotion are very difficult to run, or require brands with a lot of clout, so happy to hear any sage advice.

Please feel free to have a look and tell us your best scores!


Nice work!

Yeah, it’s difficult as many of these are meant to be linked directly to stores. I’ve thought about adding a shell app that just wraps around the main site just to have something to link to but not sure if that works in your case?

That’s cool! Do you think it could be added to the current repo as a PR for a different export option? I can add some documentation etc to refer to it as well

Thank you!

Of the big marketing examples of playable ads that circulate around blogs and industry news, it seems like the ads that are not linked to an app, either partner with an ad platform for a custom solution, or are absolutely enormous brands that can get exceptions with the bigger ad networks. We’ve been reaching out to different networks and checking if there are any running betas or pilot programs for playables that don’t promote only an app.

Absolutely! Google seems to be a bit more lenient with Playables than Facebook in some ways, but have stricter requirements in others.

They do allow for external libraries, if they’re on the approved list.

All code and assets must be referenced using a relative path to resources included in the .ZIP file.

No external references are allowed except references to:

Ultimately, all we had to do to pass Google’s tests were to ad three lines of code to the one-page generated file, using the settings from the Facebook file.

The first was to define the orientation of the ad:

<meta name="ad.orientation" content="portrait">

Next was the size (We just used the recommended size from the guide above:

<meta name="ad.size" content="width=320,height=480">

And finally, we included the ExitApi before the app

<script type="text/javascript" src=""></script>

Naturally, this required changing our button event to call ExitApi.exit(); //Custom locations are no longer allowed to trigger the CTA.

I’m traveling today, so my hands are a little full, but I can take a look tomorrow at submitting a PR. I suppose the questions that would remain would be whether it’s preferred to require the user to define the actual ad size, or just the orientation and then just default to Google’s recommendations based on the orientation provided. I would assume that selecting a google configuration would just automatically include the ExitApi as a requirement.

Not sure if size is needed as it seems to be optional after setting the orientation. Is this also unique to Google Ads?

Overall, I would be looking to ad two new parameters to the config google_cta and ad_orientation.

Or change snapchat_cta to be cta_option that can be set to google or snapchat as you won’t have both at the same time.

Let me know if you are up for doing that, if not I can add this to feature request to handle later :slight_smile:

I might be misremembering, and I’ll check as soon as I can, but I believe Google’s validator threw errors when the size was not specified. It seemed to be unique to Google.

I’m up for it! I’ll make sure to review the Playcanvas coding standards and take a crack at submitting a PR tomorrow

Hi @yaustar,

Sorry I got behind on this. I’m working on a possible PR now. I confirmed that leaving out ad.size will generate errors in Google’s validator:

The error caused me to investigate further, and I was mistaken. It’s actually ad.orientation that is not required while ad.size is a required property (at least in the validator). Would we want the user to specify a particular size in config.json, or just an orientation and use one of Google’s default recommended sized for orientation?

Strangely, the playable documentation provided by Google actually recommends just using ad.orientation and lists ad.size as ‘Also acceptable’:

It seems like we might just want to set the orientation in config.json as it’s the recommended setting from Google and then just fill a default size to please the validator.

What do you think?

1 Like

Yep, seems fine

Submitted the PR. I hope it’s at least a good starting point!

1 Like