認証済みサービスの確認
接続中のデバイスから authorizedServices を読み取ります。
API Reference
- Swift
- Objective-C
/// The protocol for device service authentication API.
protocol DeviceServiceAuthAPI: DeviceAPI {
/// A collection of currently authorized services.
var authorizedServices: AIBudsAuthorizedServices { get }
}/// The protocol for device service authentication API.
@protocol AIBudsDeviceServiceAuthAPI <AIBudsDeviceAPI>
/// A collection of currently authorized services.
@property(nonatomic, readonly) AIBudsAuthorizedServices authorizedServices;
@endAIBudsAuthorizedServices オプションセットでは、現在次の値が定義されています。
| フラグ | 意味 |
|---|---|
AIBudsAuthorizedServicesNone | 対象サービスはいずれも認証されていません。 |
AIBudsAuthorizedServicesStarBurst | StarBurst AI が認証済みです。 |
AIBudsAuthorizedServicesOnDeviceVoiceAssistant | オンデバイス音声アシスタントが認証済みです。 |
使用例
- Swift
- Objective-C
guard let device = device as? DeviceServiceAuthAPI else { return }
let services = device.authorizedServices
let starBurstAuthorized = services.contains(.starBurst)
let voiceAssistantAuthorized = services.contains(.onDeviceVoiceAssistant)id<AIBudsDeviceServiceAuthAPI> device = (id<AIBudsDeviceServiceAuthAPI>)self.device;
if ([device conformsToProtocol:@protocol(AIBudsDeviceServiceAuthAPI)]) {
AIBudsAuthorizedServices services = device.authorizedServices;
BOOL starBurstAuthorized = (services & AIBudsAuthorizedServicesStarBurst) != 0;
BOOL voiceAssistantAuthorized =
(services & AIBudsAuthorizedServicesOnDeviceVoiceAssistant) != 0;
}将来追加される未知のビットは前方互換データとして扱い、ビットマスク全体を無効として拒否しないでください。