<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "tvOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFoundation",
  "identifier" : "/documentation/AVFoundation/AVContentKeySession/supportsAdvisoryKeys",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "AVFoundation"
    ],
    "preciseIdentifier" : "c:objc(cs)AVContentKeySession(py)supportsAdvisoryKeys"
  },
  "title" : "supportsAdvisoryKeys"
}
-->

# supportsAdvisoryKeys

Boolean indicating whether advisory keys are enabled on the client.

```
var supportsAdvisoryKeys: Bool { get set }
```

## Discussion

Set to true to enable advisory key loading. False by default. Note that this is a one-way operation—once set to true, this property cannot be set back to false.

Advisory key loading allows applications to make use of content keys provided speculatively
by the key server. When enabled, FairPlay may cache these keys and return them immediately
on subsequent requests without requiring a round-trip to the key server.

The delegate must be prepared to handle advisory key requests by checking the `canBeFulfilledWithAdvisoryKey` property on
`AVContentKeyRequest` objects.

When an advisory key is already cached by FairPlay, `makeStreamingContentKeyRequestData`
will return nil for the key request data, and `canBeFulfilledWithAdvisoryKey` will return true. In this case,
no request to the key server is necessary.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)