ManifestSource
The manifest fetch + poll boundary. The portable :ads-sdk-core ManifestService only parses + validates a decoded manifest (so its validation stays conformance-locked across platforms); the actual network fetch and the polling timer are platform concerns and live behind this interface. HttpManifestSource is the default implementation (OkHttp + coroutine poll loop); tests and the conformance driver supply a fake.
This mirrors the additional responsibilities the web ManifestService carries on top of parsing (setManifestUrl / fetchManifest / startPolling / setActive / reset), keeping the orchestrator's call sites identical to the TS reference.
Inheritors
Properties
Functions
Fetch + parse the manifest once; suspends until it resolves. Throws on fetch/parse failure.
Provide the customer manifest-response interceptor (and a diagnostic sink for when it throws). The SDK forwards OptiViewAdsConfig.interceptManifestResponse here at construction; sources apply it after parsing, on the initial fetch and every poll. Default no-op so custom sources need not support it.
Provide the customer manifest-request interceptor (and a diagnostic sink for when it throws). The SDK forwards OptiViewAdsConfig.interceptManifestRequest here at construction; sources apply it before the network fetch, on the initial fetch and every poll. Default no-op so custom sources need not support it.
Set the manifest URL for the current session (call before fetchManifest/startPolling).
Evidence for the most recent failed read, consumed by the caller raising DA-MANIFEST-FETCH-FAILED. Defaults to null so a custom source keeps working without implementing it — it loses the evidence, not the diagnostic.