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 Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-08-13 UTC。
[null,null,["最終更新日 2025-08-13 UTC。"],[[["\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`."]]