GNSStrategy 类
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
此类继承 NSObject。
+ (instancetype) strategy |
|
|
|
返回自定义策略。您可以在 paramsBlock
中设置任何可选属性。
- (GNSDiscoveryMode) discoveryMode |
|
readnonatomicassign |
对于附近的设备发现,一台设备必须广播配对码,另一台设备必须扫描配对码。
由于无法事先进行协商,因此默认设置是让所有设备同时进行广播和扫描。
您可以使用此属性自定义此行为,限制您的应用只进行广播或扫描。以一款与机顶盒通信的移动应用为例。如果机顶盒已编程为广播配对码,则可将该移动应用设为仅扫描,以缩短延迟时间。
默认值为 kGNSDiscoveryModeDefault
。
- (GNSDiscoveryMediums) discoveryMediums |
|
readnonatomicassign |
控制在发现附近的设备时,使用哪种媒介来广播和扫描配对码。
如需详细了解设备发现,请参阅 discoveryMode
。
默认值为 kGNSDiscoveryMediumsDefault
。
- (BOOL) allowInBackground |
|
readnonatomicassign |
当应用在后台运行时,尝试使用发现策略。
请注意,并非所有策略都可以在后台运行。您可以在此处请求此操作,并且可能会允许此策略在后台继续执行,具体取决于其他设置和情况。目前仅支持 BLE 扫描/广播。
默认值为 NO
。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-13。
[null,null,["最后更新时间 (UTC):2025-08-13。"],[[["\u003cp\u003eThe \u003ccode\u003eGNSStrategy\u003c/code\u003e class defines the approach for discovering nearby devices, encompassing discovery mode, mediums, and background operation.\u003c/p\u003e\n"],["\u003cp\u003eYou can obtain a default strategy with preset configurations or customize a strategy by specifying properties using a params block.\u003c/p\u003e\n"],["\u003cp\u003eFor device discovery, one device broadcasts a pairing code, and the other scans; you can customize this behavior by setting the \u003ccode\u003ediscoveryMode\u003c/code\u003e property.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ediscoveryMediums\u003c/code\u003e property allows controlling the communication channels (e.g., Bluetooth, ultrasound) used for discovering nearby devices.\u003c/p\u003e\n"],["\u003cp\u003eWhile the default setting disallows background operation, you can request background execution for the discovery strategy using \u003ccode\u003eallowInBackground\u003c/code\u003e, although it's not always guaranteed.\u003c/p\u003e\n"]]],[],null,["# GNSStrategy Class\n\n[Class Methods](#pub-static-methods) \\| [Properties](#properties) \nGNSStrategy Class Reference \n\nOverview\n--------\n\nThe strategy to use to detect nearby devices.\n\nInherits NSObject.\n\n|----------------|---------------------------------------------------------------------------------------------------------------------------------------|\n| Class Method Summary -------------------- ||\n| (instancetype) | + [strategy](/nearby/messages/ios/reference/interface_g_n_s_strategy#afc67e9c07852a35945a13998bac050ed) |\n| | Returns the default strategy, which uses the default values for all properties. [More...](#afc67e9c07852a35945a13998bac050ed) |\n| ||\n| (instancetype) | + [strategyWithParamsBlock:](/nearby/messages/ios/reference/interface_g_n_s_strategy#af97d06481398cf1e5d7f2f8b54026966) |\n| | Returns a custom strategy. You can set any of the optional properties in `paramsBlock`. [More...](#af97d06481398cf1e5d7f2f8b54026966) |\n| ||\n\n|---------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Property Summary ---------------- ||\n| GNSDiscoveryMode | [discoveryMode](/nearby/messages/ios/reference/interface_g_n_s_strategy#ad10088af20c44daa2d29f9099b9d6422) |\n| | For nearby device discovery, one device must broadcast a pairing code and the other device must scan for pairing codes. [More...](#ad10088af20c44daa2d29f9099b9d6422) |\n| ||\n| GNSDiscoveryMediums | [discoveryMediums](/nearby/messages/ios/reference/interface_g_n_s_strategy#ad9b6ae317c7ba8ba3ca9da28f831ae0a) |\n| | Controls which mediums to use to broadcast and scan pairing codes when discovering nearby devices. [More...](#ad9b6ae317c7ba8ba3ca9da28f831ae0a) |\n| ||\n| BOOL | [allowInBackground](/nearby/messages/ios/reference/interface_g_n_s_strategy#a4794a869b9225cca308c30e40905f39c) |\n| | Try to use the discovery strategy when the app is in the background. [More...](#a4794a869b9225cca308c30e40905f39c) |\n| ||\n\nMethod Detail\n-------------\n\n|---------------------------|---|---|---|\n| + (instancetype) strategy | | | |\n\nReturns the default strategy, which uses the default values for all properties. \n\n|-------------------------------------------|---|----------------------------------------------------------------------------------------------------|---------------|---|\n| + (instancetype) strategyWithParamsBlock: | | (void(\\^)([GNSStrategyParams](/nearby/messages/ios/reference/interface_g_n_s_strategy_params) \\*)) | *paramsBlock* | |\n\nReturns a custom strategy. You can set any of the optional properties in `paramsBlock`.\n\nProperty Detail\n---------------\n\n|-------------------------------------------------------------------------------|---------------------|\n| |------------------------------------| | - (GNSDiscoveryMode) discoveryMode | | readnonatomicassign |\n\nFor nearby device discovery, one device must broadcast a pairing code and the other device must scan for pairing codes.\n\nBecause there is no way to negotiate beforehand, the default is for all devices to both broadcast and scan.\n\nThis property lets you customize this behavior, restricting your app to either broadcast or scan. For example, consider a mobile app that communicates with a set-top box. If the set-top box is programmed to broadcast a pairing code, the mobile app could be set to scan only, to improve latency.\n\nThe default is `kGNSDiscoveryModeDefault`. \n\n|-------------------------------------------------------------------------------------------|---------------------|\n| |------------------------------------------| | - (GNSDiscoveryMediums) discoveryMediums | | readnonatomicassign |\n\nControls which mediums to use to broadcast and scan pairing codes when discovering nearby devices.\n\nSee `discoveryMode` for more details about device discovery.\n\nThe default is `kGNSDiscoveryMediumsDefault`. \n\n|---------------------------------------------------------------|---------------------|\n| |----------------------------| | - (BOOL) allowInBackground | | readnonatomicassign |\n\nTry to use the discovery strategy when the app is in the background.\n\nNote that not all strategies will be permitted to run in the background. You can request this here, and depending on other settings and circumstances, the strategy might be allowed to continue in the background. Currently only BLE scans/broadcasts are supported.\n\nThe default is `NO`."]]