Game Requests is a unified system for sending requests from a user in your game, to other users in the game, or to people who aren't playing the game yet, and for handling received requests when the receiver is playing or starts playing the game.
Game Requests can for example be used in turn-based games for notifying the other player that it's his turn, or starting a new game. It can be used in social games to implement gifting of items, or requesting help from friends. And it can be used by any game to implement invitations, since users can send Game Requests over email or messenger or any other communication channel to their friends.
Each Request Type needs to be created in the Control Panel, and you need to supply an icon and a description. The platform then uses this data when surfacing Requests in other places, for example emails or instant messages.
When you create each type you can specify a max number of recipients. This is useful for requests sent externally, because it allows you to easily create functionality where the first X friends of your user that responds to the request get a large bonus.
Working with the Client Libraries
When you implement Game Requests in your game, we recommend that you refresh waiting requests as soon as it makes sense to do so, for example after a user finishes a round or goes to a menu in the game, or simply periodically. At the very least, your game should check when the game starts.
We also recommend that you handle all waiting requests as soon as possible to clear out the queue. What this means is of course dependent on your game, it could be handing out the gifted items or bonuses, updating a list of active games, notifying the player of the event, asking the player to respond to a help request, or rewarding the inviter if it was an invite request.
These code examples in C# show how you can use the API.
If you have integrated with the Yahoo Games Canvas, you can open a dialog that lets the user send a Request to their friends through email or instant messenger.