Development and testing
Point a sideload at a different SDK
Keep the pinned production URL in your committed config, and override it only in the manifest you sideload. The reference channel's Makefile does this with SDK_URL, which appends an ov_sdk_library_url line to the staged manifest:
# against the latest release
make install ROKU_IP=<tv> ROKU_PASS=<pw> SDK_URL=https://sdk.open.video/roku/latest/OpenVideoRokuSDK.zip
Sideloaded channels may load the library over plain HTTP, which is handy for testing an SDK build from your own machine.
Before you submit
-
sdkLibraryUrlpins a version (/roku/vX.Y.Z/), notlatest. - The manifest has
bs_libs_required=roku_ads_lib. - A cold launch with no network shows your retry path, not a crash.
- Preroll, a midroll (let content run past the first break) and resume after the break all work on a real device.
-
backduring an ad break and during content returns to your UI. - The channel is registered in the Ezoic dashboard and app-ads.txt is live.
Roku static analysis
The Channel Store's static analysis only scans your channel package, not the component library loaded at runtime. Because the SDK owns the RAF calls, the report can say RAF beacons, the RAF constructor or the RAF library import are missing even though ads render. If certification asks, explain that RAF runs inside the Open Video component library your channel loads at startup.