Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more

Tech

New Extension System For 3rd Party API Support

Posted by Mark Alexander on 7 August 2015

In the coming Early Access update support for the following 3rd party API's will be getting removed from the GameMaker: Studio runner and added to the Marketplace as extensions, across all platforms that support them (Android and iOS currently):

  • Facebook
  • Google Play (achievements, highscores)
  • Google APK Expansions
  • Google Licensing
  • Amazon
  • Moga

Note too that with this change the way that you add ads and analytics to your game has also been updated. Here we explain what this means for you and how to use the new system.

Why The Change?

These changes were made to enable faster updating of the core APIs and SDKs as the companies that produce them add new features and change how they work. The current method of having them integrated within the GameMaker: Studio IDE means that when one has been changed, you would have to wait for a full update to GameMaker to get the fix, which can sometimes be several weeks. Now, however, with this change to an extension based system, these updates can be pushed out far quicker for you to download and integrate into your game,  and you can get examples of use direct from the Marketplace.

Another benefit of this change is that you can now add your own custom functions to the extensions. For example, if there is a part of the Facebook API that the GameMaker functions do not cover then you can open the folder where the extension is kept (right click on the extension then select "Open in explorer") and edit it to add your own extended functionality.

NOTE: Adding extra functionality should be done with care as future updates to the API may overwrite those changes you make, so keep a backup!

Do I Need To Change My Code?

While you will be required to perform a couple of extra steps to get Facebook, et-al functionality into your projects, you do not need to worry about changing your code. The extensions do not have any functions associated with them, and they simply hook into the existing GameMaker function calls. So, if you have a call to facebook_status() in your game, it will still work as long as you have added the extension to the project. The same is true for the Google Play/Amazon achievements and high scores, as well as for gamepad support via Moga - all the built in functions will "just work" as long as the extension is installed correctly and the appropriate target platform set.

Getting The Extensions

Getting the extensions requires you to have created your YoYo Account, as they are now hosted from the GameMaker: Marketplace. If you do not have a YoYo Account yet, please see the articles on how to set one up here: YoYo Account FAQ

To actually get the extension, you must first activate the service required from the Android Global Game Settings by checking the appropriate box. For example, to get Moga support, you would open the Android GGS and go to the "General" tab and then click the "Moga Gamepad Support" check-box. This will then prompt you to download the extension required from the Marketplace.

 

Clicking "Yes" will then open your library and automatically filter the appropriate asset to be added. If you have not used the extension previously, then you will need to download it to be stored locally on your machine, and then click on the "Add To Project" button for the extension to be added.

You can then close the library window as well as the Global Game settings and continue to work on your game as before.

Ads And Analytics

Ads and analytics have also been updated to this new system to provide you with a better workflow when using them. This means that you can now activate ads and analytics on the supported platforms (currently iOS and Android) as before, ie: from the Global Game Settings. Doing this will (like for the other above mentioned API's) open the Marketplace window and create a Marketplace filter showing you the required extension. You can then download this and install it in your project.

It is worth noting that it is only the extension itself which is downloaded, with no extra files or demos of how to use it. To get a demo - which contains example code as well as setup instructions - you can click the link next to the advertiser in the Global Game Settings and it will take you to the specific Marketplace listing where you can download them. It is recommended that you do this first if you have never used ads to get an idea of how they work, and the rest of this article will explain a bit more about these demos.

You can find more information on these changes to the ads and analytics extensions from the following Knowledge Base articles:

 

Back to Top