GCKGameManagerChannel 類別

GCKGameManagerChannel 類別參考資料

總覽

用於遊戲控製作業的 GCKCastChannel 子類別。

如要瞭解委派通訊協定,請參閱 GCKGameManagerChannelDelegate

Deprecated:
我們不再支援 Game Manager API,將在日後推出的版本中移除。

其沿用 GCKCastChannel

執行個體方法摘要

(instancetype) - initWithSessionID:
 指定初始化器。更多...
 
(instancetype) - init
 無法使用預設初始化器。更多...
 
(NSInteger) - sendPlayerAvailableRequest:
 傳送要求給接收器,將這位上次使用的玩家加入 GCKPlayerStateAvailable 狀態。更多...
 
(NSInteger) - sendPlayerAvailableRequest:playerID:
 傳送要求給接收器,讓玩家進入 GCKPlayerStateAvailable 狀態。更多...
 
(NSInteger) - sendPlayerReadyRequest:
 傳送要求給接收器,將這位上次使用的玩家加入 GCKPlayerStateReady 狀態。更多...
 
(NSInteger) - sendPlayerReadyRequest:playerID:
 傳送要求給接收器,讓玩家進入 GCKPlayerStateReady 狀態。更多...
 
(NSInteger) - sendPlayerPlayingRequest:
 傳送要求給接收器,將這位上次使用的玩家加入 GCKPlayerStatePlaying 狀態。更多...
 
(NSInteger) - sendPlayerPlayingRequest:playerID:
 傳送要求給接收器,讓玩家進入 GCKPlayerStatePlaying 狀態。更多...
 
(NSInteger) - sendPlayerIdleRequest:
 傳送要求給接收器,將這位上次使用的玩家加入 GCKPlayerStateIdle 狀態。更多...
 
(NSInteger) - sendPlayerIdleRequest:playerID:
 傳送要求給接收器,讓玩家進入 GCKPlayerStateIdle 狀態。更多...
 
(NSInteger) - sendPlayerQuitRequest:
 傳送要求給接收器,將這位上次使用的玩家加入 GCKPlayerStateQuit 狀態。更多...
 
(NSInteger) - sendPlayerQuitRequest:playerID:
 傳送要求給接收器,讓玩家進入 GCKPlayerStateQuit 狀態。更多...
 
(NSInteger) - sendGameRequest:
 將遊戲專屬訊息傳送給接收端。更多...
 
(NSInteger) - sendGameRequest:playerID:
 將遊戲專屬訊息傳送給接收端。更多...
 
(void) - sendGameMessage:
 將遊戲專屬訊息傳送給接收端。更多...
 
(void) - sendGameMessage:playerID:
 將遊戲專屬訊息傳送給接收端。更多...
 
(instancetype) - initWithNamespace:
 指定初始化器。更多...
 
(void) - didReceiveTextMessage:
 收到這個頻道的簡訊時呼叫。更多...
 
(BOOL) - sendTextMessage:
 在這個頻道傳送訊息。更多...
 
(BOOL) - sendTextMessage:error:
 在這個頻道傳送訊息。更多...
 
(NSInteger) - generateRequestID
 產生新訊息的要求 ID。更多...
 
(NSNumber *__nullable) - generateRequestNumber
 generateRequestID 的結果納入 NSNumber 的便利方法。更多...
 
(void) - didConnect
 連上這個通道後呼叫,表示現在可以透過此管道與 Cast 裝置交換訊息。更多...
 
(void) - didDisconnect
 在這個管道中斷連線後傳送,表示訊息無法再透過此管道與 Cast 裝置交換。更多...
 

屬性摘要

id< GCKGameManagerChannelDelegatedelegate
 接收 GCKGameManagerChannel 通知的委派項目。更多...
 
GCKGameManagerStatecurrentState
 遊戲管理員的目前狀態。更多...
 
NSString * lastUsedPlayerID
 本次工作階段使用的可控製播放器 ID。更多...
 
BOOL isInitialConnectionEstablished
 這個頻道是否與接收器的遊戲經理建立連結,我們隨時可與該頻道互動。更多...
 
NSString * protocolNamespace
 頻道的命名空間。更多...
 
BOOL isConnected
 此標記指出此頻道是否已連結。更多...
 
GCKDeviceManagerdeviceManager
 註冊這個頻道的裝置管理員 (如果有的話)。更多...
 

方法說明

- (instancetype) initWithSessionID: (NSString *)  castSessionID

指定初始化器。

自動連線至接收端的遊戲管理員。

Parameters
castSessionIDThe Session ID corresponding to the currently connected Game Manager.
- (instancetype) init

無法使用預設初始化器。

實作 GCKCastChannel

- (NSInteger) sendPlayerAvailableRequest: (id __nullable)  extraData

傳送要求給接收器,將這位上次使用的玩家加入 GCKPlayerStateAvailable 狀態。

如果這並非有效的玩家轉換,則會在 GCKGameManagerChannelDelegate 中觸發錯誤。如果沒有最後使用過的玩家,系統會在接收者回應此要求時,註冊新的玩家,並將玩家 ID 設為上次使用的玩家 ID。必須先在 gameManagerChannelDidConnect: (GCKGameManagerChannelDelegate-p) 委派回呼訊息之後,才能呼叫這個方法。如果 GCKGameManagerChannel 尚未連線至接收器的遊戲管理員,系統會發送 gameManagerChannel:requestDidFailWithID:error: (GCKGameManagerChannelDelegate-p) 委派回呼訊息。

另請參閱
lastUsedPlayerID
Parameters
extraDataCustom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using NSJSONSerialization, or nil.
傳回
要求 ID;如果無法傳送請求,則為 kGCKInvalidRequestID
- (NSInteger) sendPlayerAvailableRequest: (id __nullable)  extraData
playerID: (NSString *)  playerID 

傳送要求給接收器,讓玩家進入 GCKPlayerStateAvailable 狀態。

如果這並非有效的玩家轉換,則會在 GCKGameManagerChannelDelegate 中觸發錯誤。如果玩家 ID 為 nil,系統則會在新的玩家註冊此要求時註冊新的玩家 ID,並將玩家 ID 設為上次使用的玩家 ID。必須先在 gameManagerChannelDidConnect: (GCKGameManagerChannelDelegate-p) 委派回呼訊息之後,才能呼叫這個方法。如果 GCKGameManagerChannel 尚未連線至接收器的遊戲管理員,系統會發送 gameManagerChannel:requestDidFailWithID:error: (GCKGameManagerChannelDelegate-p) 委派回呼訊息。

Parameters
extraDataCustom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using NSJSONSerialization, or nil.
playerIDThe player ID of the player whose state is to be changed.
傳回
要求 ID;如果無法傳送請求,則為 kGCKInvalidRequestID
- (NSInteger) sendPlayerReadyRequest: (id __nullable)  extraData

傳送要求給接收器,將這位上次使用的玩家加入 GCKPlayerStateReady 狀態。

如果這不是有效的玩家轉換,或者沒有上次使用的玩家 ID,則會在 GCKGameManagerChannelDelegate 中觸發錯誤。必須先在 gameManagerChannelDidConnect: (GCKGameManagerChannelDelegate-p) 委派回呼訊息之後,才能呼叫這個方法。如果 GCKGameManagerChannel 尚未連線至接收器的遊戲管理員,系統會發送 gameManagerChannel:requestDidFailWithID:error: (GCKGameManagerChannelDelegate-p) 委派回呼訊息。

另請參閱
lastUsedPlayerID
Parameters
extraDataCustom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using NSJSONSerialization, or nil.
傳回
要求 ID;如果無法傳送請求,則為 kGCKInvalidRequestID
- (NSInteger) sendPlayerReadyRequest: (id __nullable)  extraData
playerID: (NSString *)  playerID 

傳送要求給接收器,讓玩家進入 GCKPlayerStateReady 狀態。

如果這不是有效的玩家轉換,或者沒有上次使用的玩家 ID,則會在 GCKGameManagerChannelDelegate 中觸發錯誤。必須先在 gameManagerChannelDidConnect: (GCKGameManagerChannelDelegate-p) 委派回呼訊息之後,才能呼叫這個方法。如果 GCKGameManagerChannel 尚未連線至接收器的遊戲管理員,系統會發送 gameManagerChannel:requestDidFailWithID:error: (GCKGameManagerChannelDelegate-p) 委派回呼訊息。

Parameters
extraDataCustom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using NSJSONSerialization, or nil.
playerIDThe player ID of the player to change the state.
傳回
要求 ID;如果無法傳送請求,則為 kGCKInvalidRequestID
- (NSInteger) sendPlayerPlayingRequest: (id __nullable)  extraData

傳送要求給接收器,將這位上次使用的玩家加入 GCKPlayerStatePlaying 狀態。

如果這不是有效的玩家轉換,或者沒有上次使用的玩家 ID,則會在 GCKGameManagerChannelDelegate 中觸發錯誤。必須先在 gameManagerChannelDidConnect: (GCKGameManagerChannelDelegate-p) 委派回呼訊息之後,才能呼叫這個方法。如果 GCKGameManagerChannel 尚未連線至接收器的遊戲管理員,系統會發送 gameManagerChannel:requestDidFailWithID:error: (GCKGameManagerChannelDelegate-p) 委派回呼訊息。

另請參閱
lastUsedPlayerID
Parameters
extraDataCustom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using NSJSONSerialization, or nil.
傳回
要求 ID;如果無法傳送請求,則為 kGCKInvalidRequestID
- (NSInteger) sendPlayerPlayingRequest: (id __nullable)  extraData
playerID: (NSString *)  playerID 

傳送要求給接收器,讓玩家進入 GCKPlayerStatePlaying 狀態。

如果這不是有效的玩家轉換,或者沒有上次使用的玩家 ID,則會在 GCKGameManagerChannelDelegate 中觸發錯誤。必須先在 gameManagerChannelDidConnect: (GCKGameManagerChannelDelegate-p) 委派回呼訊息之後,才能呼叫這個方法。如果 GCKGameManagerChannel 尚未連線至接收器的遊戲管理員,系統會發送 gameManagerChannel:requestDidFailWithID:error: (GCKGameManagerChannelDelegate-p) 委派回呼訊息。

Parameters
extraDataCustom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using NSJSONSerialization, or nil.
playerIDThe player ID of the player to change the state.
傳回
要求 ID;如果無法傳送請求,則為 kGCKInvalidRequestID
- (NSInteger) sendPlayerIdleRequest: (id __nullable)  extraData

傳送要求給接收器,將這位上次使用的玩家加入 GCKPlayerStateIdle 狀態。

如果這不是有效的玩家轉換,或者沒有上次使用的玩家 ID,則會在 GCKGameManagerChannelDelegate 中觸發錯誤。必須先發送 gameManagerChannelDidConnect: (GCKGameManagerChannelDelegate-p) 委派回呼,才能呼叫這個方法。將 GCKGameManagerChannel::gameManagerChannel:requestdoesFailWithID:error:如果 GCKGameManagerChannel 尚未連線至接收器的遊戲管理員,就可以委派回呼。

另請參閱
lastUsedPlayerID
Parameters
extraDataCustom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using NSJSONSerialization, or nil.
傳回
要求 ID;如果無法傳送請求,則為 kGCKInvalidRequestID
- (NSInteger) sendPlayerIdleRequest: (id __nullable)  extraData
playerID: (NSString *)  playerID 

傳送要求給接收器,讓玩家進入 GCKPlayerStateIdle 狀態。

如果這不是有效的玩家轉換,或者沒有上次使用的玩家 ID,則會在 GCKGameManagerChannelDelegate 中觸發錯誤。必須先在 gameManagerChannelDidConnect: (GCKGameManagerChannelDelegate-p) 委派回呼訊息之後,才能呼叫這個方法。如果 GCKGameManagerChannel 尚未連線至接收器的遊戲管理員,系統會發送 gameManagerChannel:requestDidFailWithID:error: (GCKGameManagerChannelDelegate-p) 委派回呼訊息。

Parameters
extraDataCustom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using NSJSONSerialization, or nil.
playerIDThe player ID of the player to change the state.
傳回
要求 ID;如果無法傳送請求,則為 kGCKInvalidRequestID
- (NSInteger) sendPlayerQuitRequest: (id __nullable)  extraData

傳送要求給接收器,將這位上次使用的玩家加入 GCKPlayerStateQuit 狀態。

如果這不是有效的玩家轉換,或者沒有上次使用的玩家 ID,則會在 GCKGameManagerChannelDelegate 中觸發錯誤。必須先在 gameManagerChannelDidConnect: (GCKGameManagerChannelDelegate-p) 委派回呼訊息之後,才能呼叫這個方法。如果 GCKGameManagerChannel 尚未連線至接收器的遊戲管理員,系統會發送 gameManagerChannel:requestDidFailWithID:error: (GCKGameManagerChannelDelegate-p) 委派回呼訊息。

另請參閱
lastUsedPlayerID
Parameters
extraDataCustom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using NSJSONSerialization, or nil.
傳回
要求 ID;如果無法傳送請求,則為 kGCKInvalidRequestID
- (NSInteger) sendPlayerQuitRequest: (id __nullable)  extraData
playerID: (NSString *)  playerID 

傳送要求給接收器,讓玩家進入 GCKPlayerStateQuit 狀態。

如果這不是有效的玩家轉換,或者沒有上次使用的玩家 ID,則會在 GCKGameManagerChannelDelegate 中觸發錯誤。必須先在 gameManagerChannelDidConnect: (GCKGameManagerChannelDelegate-p) 委派回呼訊息之後,才能呼叫這個方法。如果 GCKGameManagerChannel 尚未連線至接收器的遊戲管理員,系統會發送 gameManagerChannel:requestDidFailWithID:error: (GCKGameManagerChannelDelegate-p) 委派回呼訊息。

Parameters
extraDataCustom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using NSJSONSerialization, or nil.
playerIDThe player ID of the player to change the state.
傳回
要求 ID;如果無法傳送請求,則為 kGCKInvalidRequestID
- (NSInteger) sendGameRequest: (id __nullable)  extraData

將遊戲專屬訊息傳送給接收端。

郵件內容完全由應用程式決定。訊息來自lastUsedPlayerID。接收方會透過 GCKGameManagerChannelDelegate 將回應傳回給寄件者。必須先在 gameManagerChannelDidConnect: (GCKGameManagerChannelDelegate-p) 委派回呼訊息之後,才能呼叫這個方法。如果 GCKGameManagerChannel 尚未連線至接收器 GameManager,系統會發送 gameManagerChannel:requestDidFailWithID:error: (GCKGameManagerChannelDelegate-p) 委派回呼訊息。

Parameters
extraDataCustom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using NSJSONSerialization, or nil.
傳回
要求 ID;如果無法傳送請求,則為 kGCKInvalidRequestID
- (NSInteger) sendGameRequest: (id __nullable)  extraData
playerID: (NSString *)  playerID 

將遊戲專屬訊息傳送給接收端。

郵件內容完全由應用程式決定。訊息來自playerID。如果 playerIDnil,系統會使用 lastUsedPlayerID。接收方會透過 GCKGameManagerChannelDelegate 將回應傳回給寄件者。必須先在 gameManagerChannelDidConnect: (GCKGameManagerChannelDelegate-p) 委派回呼訊息之後,才能呼叫這個方法。如果 GCKGameManagerChannel 尚未連線至接收器的遊戲管理員,系統會發送 gameManagerChannel:requestDidFailWithID:error: (GCKGameManagerChannelDelegate-p) 委派回呼訊息。

Parameters
extraDataCustom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using NSJSONSerialization, or nil.
playerIDThe id of the controllable player sending this message.
傳回
要求 ID;如果無法傳送請求,則為 kGCKInvalidRequestID
- (void) sendGameMessage: (id __nullable)  extraData

將遊戲專屬訊息傳送給接收端。

郵件內容完全由應用程式決定。訊息來自lastUsedPlayerID。這是一種火警清除方法,無法保證訊息已送出,且接收端不會將回應傳回給這個寄件者。必須先在 gameManagerChannelDidConnect: (GCKGameManagerChannelDelegate-p) 委派回呼訊息之後,才能呼叫這個方法。如果 GCKGameManagerChannel 尚未連線至接收器的遊戲管理員,系統會發送 gameManagerChannel:requestDidFailWithID:error: (GCKGameManagerChannelDelegate-p) 委派回呼訊息。

Parameters
extraDataCustom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using NSJSONSerialization, or nil.
- (void) sendGameMessage: (id __nullable)  extraData
playerID: (NSString *)  playerID 

將遊戲專屬訊息傳送給接收端。

而訊息內容則完全由應用程式決定。這則訊息會來自指定的本機播放器 ID。這是一種火災和清除方法,無法保證一定會寄出郵件,而接收端就不會將回應傳回給該寄件者。必須先在 gameManagerChannelDidConnect: (GCKGameManagerChannelDelegate-p) 委派回呼訊息之後,才能呼叫這個方法。如果 GCKGameManagerChannel 尚未連線至接收器的遊戲管理員,系統會發送 gameManagerChannel:requestDidFailWithID:error: (GCKGameManagerChannelDelegate-p) 委派回呼訊息。

Parameters
extraDataCustom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using NSJSONSerialization, or nil.
playerIDThe ID of the controllable player sending this message.
- (instancetype) initWithNamespace: (NSString *)  protocolNamespace

指定初始化器。

使用指定的命名空間建構新的 GCKCastChannel

Parameters
protocolNamespaceThe namespace.

已在 GCKGenericChannel 中實作。

- (void) didReceiveTextMessage: (NSString *)  message

收到這個頻道的簡訊時呼叫。

預設實作為免人工管理。

Parameters
messageThe message.
- (BOOL) sendTextMessage: (NSString *)  message

在這個頻道傳送訊息。

Parameters
messageThe message.
傳回
YES 代表成功,如果無法傳送訊息,則為 NO (因為頻道未連線,或是傳送緩衝區過短)。
Deprecated:
使用 sendTextMessage:error:,提供詳細的錯誤資訊。
- (BOOL) sendTextMessage: (NSString *)  message
error: (GCKError *__nullable *__nullable)  error 

在這個頻道傳送訊息。

Parameters
messageThe message.
errorA pointer at which to store the error result. May be nil.
傳回
YES:成功。如果無法傳送訊息,請NO
- (NSInteger) generateRequestID

產生新訊息的要求 ID。

傳回
產生的 ID;如果目前未連結頻道,則為 kGCKInvalidRequestID
- (NSNumber * __nullable) generateRequestNumber

generateRequestID 的結果納入 NSNumber 的便利方法。

傳回
產生的 ID;如果目前未連結頻道,則為 nil
- (void) didConnect

連上這個通道後呼叫,表示現在可以透過此管道與 Cast 裝置交換訊息。

預設實作為免人工管理。

- (void) didDisconnect

在這個管道中斷連線後傳送,表示訊息無法再透過此管道與 Cast 裝置交換。

預設實作為免人工管理。

資源詳細資料

- (id<GCKGameManagerChannelDelegate>) delegate
readwritenonatomicweak

接收 GCKGameManagerChannel 通知的委派項目。

- (GCKGameManagerState*) currentState
readnonatomicstrong

遊戲管理員的目前狀態。

- (NSString*) lastUsedPlayerID
readnonatomiccopy

本次工作階段使用的可控製播放器 ID。

如果沒有為接收器設定可控制的播放器,則可設為 nil

另請參閱
- sendPlayerAvailableRequest:
- (BOOL) isInitialConnectionEstablished
readnonatomicassign

這個頻道是否與接收器的遊戲經理建立連結,我們隨時可與該頻道互動。

這個方法會傳回此管道建立之後的 NO

傳回
YES:如果這個頻道已連結至接收者的遊戲經理,且可與對方進行互動,否則為 NO
- (NSString*) protocolNamespace
readnonatomiccopyinherited

頻道的命名空間。

- (BOOL) isConnected
readnonatomicassigninherited

此標記指出此頻道是否已連結。

- (GCKDeviceManager*) deviceManager
readnonatomicweakinherited

註冊這個頻道的裝置管理員 (如果有的話)。

Deprecated:
如果這個管道並未註冊已淘汰的 GCKDeviceManager 類別,就會是 nil