使用Cookie

您可以使用TVSDK在Cookie標題中傳送任意資料,以進行作業管理、閘道存取等。

以下是向密鑰伺服器發出請求時具有某種類型驗證的示例:

  1. 您的客戶使用瀏覽器登入您的網站,而他們的登入顯示他們可以檢視內容。
  2. 您的應用程式會根據授權伺服器的需求產生驗證Token。 將該值傳遞至TVSDK。
  3. TVSDK會在Cookie標題中設定該值。
  4. 當TVSDK向金鑰伺服器要求取得解密內容的金鑰時,該要求會包含Cookie標題中的驗證值,因此金鑰伺服器會知道該要求有效。

若要使用Cookie:

  1. 建立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);

本頁內容