Contract terms

July 29, 2026 · View on GitHub

简体中文 · Developer guide

TermWhat extension code uses it for
applicationIdOne of the stable identity values kept across updates.
Service classThe extension's TypedExtensionService implementation.
Signing certificateThe publisher identity kept across updates.
ExtensionIdThe stable ID supplied in ExtensionManifest.
ExtensionManifestDeclares the extension version, Hooks, capabilities, settings, and display metadata.
HookSpec<Request, Result>Supplies the request type, result type, Hook ID, and current schema version.
ExtensionHookDeclarationAdds an implemented HookSpec to ExtensionManifest.
CapabilityNames an operation a Hook needs. The Hook declares it, the manifest requests it, and the user approves it.
ExtensionCallContextSupplies the invocation ID, this Hook's effective capabilities, and saved extension settings for the current call.
ExtensionSettingsSnapshotContains ordinary setting values and credential handles for secret fields.
CredentialHandleAn opaque reference to a submitted or saved secret. It has no read API; an authorized Hook may pass it to the broker as a SecretReference.
Approved originAn exact HTTP or HTTPS origin that the current Hook may reach through the broker.
Network origin settingA text setting with networkOrigin = true. Saving it explicitly approves its current origin.
Broker scopeShort-lived authority for one extension, Hook, invocation, and set of origins. Some scopes also bind a provider account.
BrokerValueA literal or a scoped secret/context reference used in broker requests and provider playback headers.
ExtensionHostNetworkBrokerSends checked HTTP requests for supported Hooks. Discover is not one of them.
ProviderKindA stable lowercase ID for one provider variant.
PlaybackReferenceProvider-owned values saved by M3UAndroid and sent back when playback is requested.
ExtensionBackgroundTaskDeclarationDeclares one periodic task that M3UAndroid schedules through WorkManager while the extension is enabled and authorized.

For extension identity and version rules, see Prepare a release or update.