---
title: GKTurnBasedEventListener
framework: gamekit
role: symbol
role_heading: Protocol
path: gamekit/gkturnbasedeventlistener
---

# GKTurnBasedEventListener

The protocol that handles turn-based and data-exchange events between participants in a match.

## Declaration

```swift
protocol GKTurnBasedEventListener
```

## Mentioned in

Exchanging data between players in turn-based games Starting turn-based matches and passing turns between players

## Overview

Overview To receive the GKTurnBasedEventListener call backs, register your game object with the local player object immediately after initialization. GKLocalPlayer.local.register(self) Adopt the GKLocalPlayerListener protocol to handle a variety of Game Center events instead of the individual GKChallengeListener, GKInviteEventListener, GKSavedGameListener, and GKTurnBasedEventListener protocols. Then implement the player(_:receivedTurnEventFor:didBecomeActive:) and other GKTurnBasedEventListener protocol methods to handle turn-based events that occur throughout a match.

## Topics

### Handling Match-Related Events

- [player(_:receivedTurnEventFor:didBecomeActive:)](gamekit/gkturnbasedeventlistener/player(_:receivedturneventfor:didbecomeactive:).md)
- [player(_:didRequestMatchWithOtherPlayers:)](gamekit/gkturnbasedeventlistener/player(_:didrequestmatchwithotherplayers:).md)
- [player(_:matchEnded:)](gamekit/gkturnbasedeventlistener/player(_:matchended:).md)
- [player(_:wantsToQuitMatch:)](gamekit/gkturnbasedeventlistener/player(_:wantstoquitmatch:).md)
- [player(_:didRequestMatchWithPlayers:)](gamekit/gkturnbasedeventlistener/player(_:didrequestmatchwithplayers:).md)

### Handling Data Exchanges

- [player(_:receivedExchangeRequest:for:)](gamekit/gkturnbasedeventlistener/player(_:receivedexchangerequest:for:).md)
- [player(_:receivedExchangeReplies:forCompletedExchange:for:)](gamekit/gkturnbasedeventlistener/player(_:receivedexchangereplies:forcompletedexchange:for:).md)
- [player(_:receivedExchangeCancellation:for:)](gamekit/gkturnbasedeventlistener/player(_:receivedexchangecancellation:for:).md)

## Relationships

### Inherited By

- [GKLocalPlayerListener](gamekit/gklocalplayerlistener.md)

## See Also

### Turn-based games

- [Creating turn-based games](gamekit/creating-turn-based-games.md)
- [Starting turn-based matches and passing turns between players](gamekit/starting-turn-based-matches-and-passing-turns-between-players.md)
- [Sending messages to players in turn-based games](gamekit/sending-messages-to-players-in-turn-based-games.md)
- [Exchanging data between players in turn-based games](gamekit/exchanging-data-between-players-in-turn-based-games.md)
- [GKTurnBasedMatchmakerViewController](gamekit/gkturnbasedmatchmakerviewcontroller.md)
- [GKTurnBasedMatch](gamekit/gkturnbasedmatch.md)
- [GKTurnBasedParticipant](gamekit/gkturnbasedparticipant.md)
- [GKTurnBasedExchange](gamekit/gkturnbasedexchange.md)
- [GKTurnBasedExchangeReply](gamekit/gkturnbasedexchangereply.md)
- [GKGameCenterBadgingDisabled](bundleresources/information-property-list/gkgamecenterbadgingdisabled.md)
