您可以使用TVSDK在Cookie標題中傳送任意資料,以進行作業管理、閘道存取等。
以下是向密鑰伺服器發出請求時具有某種類型驗證的示例:
若要使用Cookie:
建立cookieManager
,並將URI的Cookie新增至cookieStore
。
例如:
啟用302重新導向後,廣告請求可重新導向至與Cookie所屬網域不同的網域。
CookieManager cookieManager= new CookieManager();
CookieHandler.setDefault(cookieManager);
HttpCookie cookie=new HttpCookie("lang","fr");
cookie.setDomain("twitter.com");
cookie.setPath("/");
cookie.setVersion(0);
cookieManager.getCookieStore().add(newURI("https://twitter.com/"),cookie);
TVSDK會在執行時期查詢此cookieManager,檢查是否有任何與URL相關的cookie,並自動使用這些cookie。
另一個選項是使用NetworkConfiguration
中的cookieHeaders
來設定要用於請求的任意Cookie標題字串。 依預設,此Cookie標題只會與關鍵要求一起傳送。 若要傳送包含所有請求的Cookie標題,請使用NetworkConfiguration
方法setUseCookieHeadersForAllRequests
:
NetworkConfiguration networkConfiguration = new NetworkConfiguration();
Metadata cookie = new MetadataNode();
cookie.setValue("reqPayload", “1234567”);
networkConfiguration.setCookieHeaders(cookie);
networkConfiguration.setUseCookieHeadersForAllRequests( true );
// Set NetworkConfiguration as Metadata:
MetadataNode resourceMetadata = new MetadataNode();
resourceMetadata.setNode(DefaultMetadataKeys.NETWORK_CONFIGURATION.getValue(),
networkConfiguration);
// Call MediaResource.createFromURL to set the metadata:
MediaResource resource = MediaResource.createFromURL(url, resourceMetadata);
// Load the resource
mediaPlayer.replaceCurrentItem(resource);