GCKDeviceProvider 類別

GCKDeviceProvider 類別參考資料

總覽

執行裝置探索及工作階段建構的抽象基本類別。

擴充這個類別即可新增對其他裝置類型的支援。如需用於子類別的輔助方法清單,請參閱 GCKDeviceProvider(Protected) 類別。新的裝置供應商已使用 registerDeviceProvider: (GCKCastContext) 向架構註冊。

開始時間
3.0

繼承 NSObject。

執行個體方法摘要

(instancetype) - initWithDeviceCategory:
 指定初始化器。更多...
 
(void) - startDiscovery
 啟動新的探索掃描。更多...
 
(void) - stopDiscovery
 停止探索掃描作業。更多...
 
(GCKSession *) - createSessionForDevice:sessionID:sessionOptions:
 為指定裝置建構新的工作階段,並視需要建構現有的工作階段 ID。更多...
 
(GCKSession *) - createSessionForDevice:sessionID:
 為指定裝置建構新的工作階段,並視需要建構現有的工作階段 ID。更多...
 
(void) - notifyDidStartDiscovery
 通知探索管理員已開始探索。更多...
 
(void) - notifyDidPublishDevice:
 通知探索管理員有新裝置已發布。更多...
 
(void) - notifyDidUnpublishDevice:
 通知探索管理員先前發布的裝置已經無法使用,因此已取消發布。更多...
 
(void) - notifyDidUpdateDevice:
 通知探索管理員先前發布的裝置顯示屬性 (例如友善名稱或圖示) 已變更。更多...
 
(GCKDevice *) - createDeviceWithID:ipAddress:servicePort:
 
(GCKDevice *) - createDeviceWithID:networkAddress:servicePort:
 建構新 GCKDevice 執行個體的工廠方法。更多...
 

資源摘要

NSString * deviceCategory
 字串,專門用於識別這個供應商將找到的裝置類型。更多...
 
BOOL passiveScan
 掃描是否為被動掃描。更多...
 
NSArray< GCKDevice * > * devices
 所發現裝置的陣列。更多...
 

方法詳細資料

- (instancetype) initWithDeviceCategory: (NSString *)  deviceCategory

指定初始化器。

為指定類型的裝置建構新的 GCKDeviceProvider

Parameters
deviceCategoryA string that uniquely identifies the type of device that is managed by by this provider.
- (void) startDiscovery

啟動新的探索掃描。

此為 (通常) 非同步作業。如果先前掃描作業找到的任何裝置已失效,供應者應現在取消發布這些裝置。必須由子類別覆寫。

供應商必須呼叫 notifyDidStartDiscovery (GCKDeviceProvider(Protected)) 開始掃描 (以及所有過時的裝置未發布) 通知探索管理員。如果這個方法的特定實作在啟動掃描時沒有需要執行的非同步工作,它可以在傳回之前直接呼叫通知方法。

- (void) stopDiscovery

停止探索掃描作業。

必須由子類別覆寫。

- (GCKSession *) createSessionForDevice: (GCKDevice *)  device
sessionID: (nullable NSString *)  sessionID
sessionOptions: (nullable GCKSessionOptions *)  sessionOptions 

為指定裝置建構新的工作階段,並視需要建構現有的工作階段 ID。

必須由子類別覆寫。

Parameters
deviceThe device to connect to.
sessionIDThe ID of the session to resume; or nil to start a new session.
sessionOptionsThe session options, if any; otherwise nil.
開始時間
4.0
- (GCKSession *) createSessionForDevice: (GCKDevice *)  device
sessionID: (nullable NSString *)  sessionID 

為指定裝置建構新的工作階段,並視需要建構現有的工作階段 ID。

Parameters
deviceThe device to connect to.
sessionIDThe ID of the session to resume; or nil to start a new session.
Deprecated:
子類別應改為呼叫 createSessionForDevice:sessionID:sessionOptions。
- (void) notifyDidStartDiscovery

通知探索管理員已開始探索。

由「GCKDeviceProvider(Protected)」類別提供。

- (void) notifyDidPublishDevice: (GCKDevice *)  device

通知探索管理員有新裝置已發布。

由「GCKDeviceProvider(Protected)」類別提供。

- (void) notifyDidUnpublishDevice: (GCKDevice *)  device

通知探索管理員先前發布的裝置已經無法使用,因此已取消發布。

由「GCKDeviceProvider(Protected)」類別提供。

- (void) notifyDidUpdateDevice: (GCKDevice *)  device

通知探索管理員先前發布的裝置顯示屬性 (例如友善名稱或圖示) 已變更。

由「GCKDeviceProvider(Protected)」類別提供。

- (GCKDevice *) createDeviceWithID: (NSString *)  deviceID
ipAddress: (NSString *)  ipAddress
servicePort: (uint16_t)  servicePort 
Deprecated:
使用 createDeviceWithID:networkAddress:servicePort:適用於 IPv4 和 IPv6

建構新 GCKDevice 執行個體的工廠方法。參數會對應 GCKDevice 的不可變動屬性。

Parameters
deviceIDThe unique ID identifying this device. This value must be unique among all GCKDevice objects that are created by this provider.
ipAddressThe IP address of the device, in numeric form (for example, @"10.0.0.10"). May not be nil. Supports IPv4 only.
servicePortThe service port on which connections should be made to this device. May be 0 if a service port is not applicable.

由「GCKDeviceProvider(Protected)」類別提供。

- (GCKDevice *) createDeviceWithID: (NSString *)  deviceID
networkAddress: (GCKNetworkAddress *)  networkAddress
servicePort: (uint16_t)  servicePort 

建構新 GCKDevice 執行個體的工廠方法。

參數會對應 GCKDevice 的不可變動屬性。

Parameters
deviceIDThe unique ID identifying this device. This value must be unique among all GCKDevice objects that are created by this provider.
networkAddressThe IP address of the device, either IPv4 or IPv6
servicePortThe service port on which connections should be made to this device. May be 0 if a service port is not applicable.
開始時間
4.2

由「GCKDeviceProvider(Protected)」類別提供。

資源詳情

- (NSString*) deviceCategory
readnonatomiccopy

字串,專門用於識別這個供應商將找到的裝置類型。

- (BOOL) passiveScan
readwritenonatomicassign

掃描是否為被動掃描。

被動掃描的傳送頻率較低,因此效率更高,但結果不會即時更新。當使用者未主動選取投放目標時,建議您執行被動掃描。並非所有導入方式都適用這個屬性。

- (NSArray<GCKDevice *>*) devices
readnonatomiccopy

所發現裝置的陣列。