可以使用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。
另一個選項是 cookieHeaders
在 NetworkConfiguration
設定用於請求的任意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);