This is about tools and 3rd parties.
There’s a lot of tools, third parties and support companies you need to worry about when building your game. Here’s a brief explanation of who they are and what they do. Unfortunately, a lot of them come with their own SDKs (Software Development Kits) that you need to put into your game.
Let’s start with the platform SDKs. iOS, Android, Windows, Steam and the others will, of course, have their own ways to do lots of things. There are Game Centers of various sorts for social features, billing systems for In App Purchases, and ways to access their unique hardware features such as Apple’s 3D touch on iPhone. A lot of these things are mandatory, and some are just good ideas if you want to be friends with the platform owner – which you likely do.
Next up are Ad Networks. There’s quite a number of these, and they can be used both for advertising your game, as well as advertising other things in your game. That is, you need to integrate the Ad Networks both when you want to spend money on ads and when you want to make money on ads. In both cases, you will want to have several competing Ad Networks integrated.
The problem of multiple Ad Networks has led to two more SDKs that you need. When you are spending money on ads, you want to be able to track how much traffic you are getting through which Ad Network, and how those customers behave once they start playing. For this you need tracking SDKs such as Fiksu, AppsFlyer or Adjust.
If, on the other hand, you want to make money from ads, you have a related problem. Which Ad Network will pay you the most – and be able to fill all ad requests your game can make. For this, you should have a so called “waterfall” through a mediator. You first ask the highest bidder for an ad. If they do not have one, you ask the second highest bidder, then the third, etc. down the line. Who is the highest bidder will vary constantly and depending on what country the player is in. It will really pay off to have someone optimize this for you. Some of the Ad Networks, such as Heyzap and Google, will offer this mediation service in addition to their ads.
Next up, you want to know how your players behave in the game. For this, there are a number of analytics solutions such as Game Analytics, Omniata and DeltaDNA. You can find an overview of them here:
Some testing tools, such as the fabulous PlayTestCloud, also have their own SDKs.
Then you will need to integrate towards social networks to get players to invite their friends and thus help make your game more viral. Facebook, Twitter, Instagram and others are in this category. Some also allow your players to record in-game video and post that for others to see. Unity Ads is one of these services. And last, if you find that there are too many social networks to integrate, you might use GetSocial to integrate them all in one bundle.
Some recent addition to the SDK world are the various innovative ways to earn money other than straight IAPs or ads. There are SDKs to let kids ask their parents (or grandparents) for gifts of in-game money. And there are SDKs that let players earn real-world prizes for in-game achievements. There is Creel that links you in-game money to real-world loyalty points (airlines, etc). And there are SDKs that let people bet real money on who is better at mobile games (Gumbler, Skillz, CashPlay, etc.)
Last, you might want to use a publisher to market your game. They also often come with their own SDKs. They might use them for cross promoting between games in their portfolio or for some multiplayer features.
I’m sure I’ve forgotten about some really crucial SDKs here. And rest assured that there are a number of startups inventing new ones as you read this. Just try to think through which ones are really necessary for you, and which you can safely leave out. If you integrate all of them, your game is bloated by all these 3rd party SDKs. You need to constantly upgrade the game just because of changes to SDKs, and your package size might go over the limit of what the App Store allows without demanding a WiFi connection. And if you leave out too many, you might be missing the crucial features that can make your game successful and profitable.