Third-Party SDKs are mostly used to get more information about your playerbase and how they interact with your product. In the mobile game industry, this has become the new norm. If you are not using data-driven-development, then your mobile game is destined to fail. In this article, we're gonna learn more about why games implement these SDKs, what they are and which ones are the most commonly used.
What are SDKs?
SDKs or Software Development Kits are pieces of software that you can plug into your engine or codebase in order to extend functionalities. Usually, this means that you are going to integrate a specific service into your project.
SDKs can do essentially anything but the most comon use cases are Analytics, Monetization and Backend/API integration. Steam for instance offers the Steamworks SDK which can be integrated into several engines such as Unreal Engine or Unity. By integrating their SDK, you can leverage platforms exclusive features such as leaderboards, achievements and user authentication.
Why should I integrate SDKs into my game?
Well, ultimately that's up to you to decide however, especially on the mobile market this is extremly necessary. For starters, you wont even be capable of showing advertisments and performing microtransactions inside your games without them. Like we mentioned previously, without SDKs, even premium Steam games suffer due to lack of social features.
At the end of the day, you should not be implementing SDKs without any reason, think about what it is that you would like to add to your project and then decide which ones to add. Keep in mind that in case you are working with a publisher, they might ask you to implement a specific SDK that they are already familiar with.
What are the best SDKs to add to my mobile game?
Since PC/Console games are more platform specific, we'll focus on mobile games for this section.
The following list does not necessarily represent the best ones, but rather the most used ones. When looking for tools to use, always think about which ones are easier to find online resources and capable developers for. Finding resources for a specific tool can be crucial in the long-term.
These are especially important for any mobile game. Understanding not only who your playerbase is but also how they interact with your game is crucial for a sucessfull launch. Here's an example of how it can be used: while testing one of our prototypes we found out that a lot of players were leaving the game on level 3. When we tested the game, we saw that on level 3, players were awarded a new special attack, one which was quite difficult to use and therefore caused players to die due to bad controls. After fixing the issue we were able to significantly increase the game's overall playtime. This would never have happened without a proper Analytics software. GameAnalytics is currently the most widely used but ByteBrew is a new emerging software that provides developers with realtime data as well as free service.
Most mobile games use advertising for their monetization strategy. These can be Banner, Interstitials, Rewarded or AppOpen ads. Ideally, look for a powerful and trustworthy ad mediation provider such as Unity Ads, Google Admob, AppLovin Max, CAS AI and Yandex. If you need help getting started with them, we can help you get connected with the right people.
If you need to run User Acquisition campaigns that you are likely going to need to use an Attribution software. The goal is to be able to connect data from the advertising network to your game so that the network can know if the campaigns are performing well or not. These are usually Facebook, Adjust, AppsFlyer and ByteBrew.
In App Purchases
Both Google Play and Apple App Store offer their own solutions for In App Purchases but if you are looking for an alternative billing method, maybe XSolla can be what you are looking for.
Social Features & Authentication
While adding tons of SDKs can be fun as a whole world of features opens up to you, there is also a dependency and conflict issue to think about. Sometimes different SDKs will require different dependencies and once you import both of them into the project it can become impossible to perform builds as there will be conflicts resulting in Graddle and Pod issues during different build phases.
Maintenance and Long Term Support
SDKs can degrade over time as new features are released and OSes such as Android and IOS continue to update. This means that from time to time, it is crucial for the integrated SDKs to be updated from time to time. Keep that in mind when defining which software stack you decide to go for.