We run a backend-as-a-service built exclusively for games. We’re the fastest, most cost effective path to a trouble-free launch—and profitable day-to-day operations, once you're up and running.
Rapid development for any device. Our API is easy to use from any device. We provide libraries and samples to get you started.
Write once, integrate anywhere. Simplify integration with platforms like Steam, GameCenter, Google Play, Facebook, Amazon, and more.
Services you need, ready to go. User accounts, virtual items, direct marketing and matchmaking, we've got you covered. We even host and manage your custom game servers!
Dead simple multiplayer operations. PlayFab has partnered with Exit Games to make the powerful suite of Photon Multiplayer Game Servers available to PlayFab customers at no additional charge. Turn-based and real-time functionality are ready out of the box, or you can use the Photon Server framework to build a sophisticated custom online game server hosted by PlayFab's worldwide network.
All of the PlayFab services are accessed via a set of RESTful Web APIs. That’s the most basic and powerful way to interact with PlayFab. We maintain 3 different API sets for your use:
Our RESTful API can be used from any game platform, so it’s the most flexible way to access our services. For your convenience, however, we also provide a variety of SDKs that make it easier to access our API from certain popular game platforms. These SDKs include:
Store an account profile for each of your players, handing authentication, player profile storage, and more.
Authentication. Identifying your player is the most basic piece of operating a backend store. PlayFab supports a wide range of authentication mechanisms, including:
Account Linkage. We can link together accounts from multiple platforms so you have a single view of your player no matter which platform they’re using. Platforms we support include:
Player Banning. Games can let players report other players for bad behaviors such as cheating, foul language, etc. These reports are tracked for each player, and each day your account managers can review reports to decide whether to ban players or not.
Storing your game’s data out in the cloud so it can be adjusted on the fly is one of the most basic features you need from your backend. We provide a variety of mechanisms to support this.
Player Data. Your game can store arbitrary data for each player using several mechanisms. These include:
Game Data. In general you want to store as much data about your game on the server, where it can be modified at any time, than built into your game client, where it’s much harder to change. PlayFab makes it easy to store any number of key/value pairs for your game title. This is useful for storing information such as game configuration data, map configuration data, game events, and more.
Social features, such as leaderboards, or player-vs-player matchmaking, are one of the simplest ways to boost game acquisition, retention, and monetization. In fact, the desire to add social features is the most common reason why game developers start looking at a backend service like PlayFab in the first place. PlayFab offers several social features:
Friends Lists. PlayFab manages a list of friends for every player in our system. Our system is one-way, like Twitter. A player can friend anyone else, but they are not necessarily a friend back. Your game can let players manually add or remove friends, or you can “find friends” from Steam or Facebook. When a player wants to “find friends” from Steam or Facebook we look for friends who are already in the PlayFab system, then create a friend relationship with them.
Leaderboards. Games can create a real-time leaderboard at any time simply by storing a per-player stat, such as “score” or “Shotgun proficiency”. Coming soon: leaderboards filtered to just a player’s friends list.
Player Chat. PlayFab hosts an XMPP chat cluster that games can use to provide in-game chat between players using the standard XMPP chat protocol. Games can also use XMPP for player presence (is this friend playing right now, or not?).
To boost engagement and monetization, you need to be able to market to your players just as you might do on a website or in a retail store. Examples might include highlighting an in-store promotion, or promoting an upcoming event or game update.
In-game messaging. Your product marketers can create news updates in the game manager tool, or using the admin API. Updates can be any arbitrary text -- your game can interpret the text however it wants. It could be plaintext, it could be HTML, or it could even be a URL to an image to be displayed in game. Your game client can retrieve the messages and display them in-game wherever you want -- as an interstitial before a level, in your game launcher, or in your in-game store.
Push notifications. Push notifications are a great way to engage or re-engage with users. Currently we allow game clients to send notifications to other game clients (e.g., I just attacked your base!). Soon we will allow you to manually send push notifications from the Game Manager to a particular group of users (e.g., a segment), or to allow a user to send a notification to his or her clan.
Managing the sales and use of in-game virtual items is at the heart of any free-to-play game, and increasingly important even in premium games. PlayFab provides a robust set of services to create, manage, and sell in-game virtual items.
Virtual Currencies. The first set in setting up any title for in-game item sales is to define your virtual currencies. PlayFab lets you define as many virtual currencies as you want, and define a starting balance for each (the amount of that currency which new players receive automatically). Most free-to-play games have at least two currencies: a “soft” currency which can be earned, and a “hard” currency which can only be purchased for real money. Each player’s currency balance is stored on the server, and any changes are logged to provide an audit trail.
Players can obtain virtual currencies in several ways:
Items in the catalog can be priced in one or more virtual currencies, or in a real-world currency. Items can also be assigned one or more custom properties, which can be used by the game code to customize the item at run-time. This allows the product manager to create a new item in the game, with unique properties, without having to update the game code. For example, you should have an item class of “gun”, and then in the catalog define custom properties such as range, rate-of-fire, attack power, etc.
The catalog is stored as a JSON data file. The file can be uploaded manually via the Game Manager, or automatically during your game build process. Later versions of the Game Manager will allow for direct real-time editing of the catalog.
Real-money Purchasing. Virtual items can have real-money prices in addition to virtual currency prices. When a player purchases an in-game item for real money, PlayFab’s purchase APIs validate the receipt to ensure that the purchase is legitimate. Not only does this help prevent receipt fraud, but it also gives customer service representatives a unique transaction ID along with the validated receipt from the purchase provider, invaluable for addressing player concerns and hunting down issues.
Many games, especially PC games, maintain a website where players of the game can go to learn more about the game, download the game, or interact with the game community. PlayFab has been used by games like Planetary Annihilation to power many of the features on their website. These features are not yet fully documented, however, so contact us if you want to discuss implementation.
Game forum integration. The most common website feature is a game forum where players can post comments and discuss the game. By requiring users to login to the forum with their PlayFab stored username/password you can create a link between the player’s in-game profile and their presence in the forum. This can be used to display a special icon in the forum next to the posting from an especially high-level player, or alert your administrator staff when one of your high-value customers posts to the forum.
Deep leaderboards. Games can also tap into our analytics system to generate leaderboards based on any data stored in the analytics system. Because of the lag involved in doing an analytics query, these are best implemented as reports which are refreshed periodically, such as every 30 minutes. These can be quite deep, however, showing the top 10 players with each weapon, say, or the fastest times to complete each level.