權益是一種將驗證和內容授權提供給用戶的方法。當用戶登入之後,他們就可以存取先前無法檢視的內容。權益有兩個主要用途。

  • 根據登入帳戶提供不同的內容給不同的用戶。例如,潛水應用程式可能會提供一組系列給註冊參加某個課程的學生使用,並提供另一組系列給潛水教練使用。
  • 將數位訂閱繫結至紙本期刊訂閱。用戶可以透過商店 (例如 iTunes App Store) 購買或訂閱內容,也可以直接透過發行者登入。如果用戶的登入帳戶已註冊在發行者的權益資料庫內,登入的動作將會讓用戶能夠存取內容。

權益在所有平台上都受支援:iOS、Android、Windows 以及 Desktop Web Viewer。

若要使用權益,就需要實作 Direct Entitlement API v2 的權益服務:

 

 

下載

權益的運作方式

 

請注意下列事項:

  • 權益是在系列層級決定的。
  • 權益以系列相關聯的產品為基礎。隨選入口網站的「產品與訂閱」區段中會列出產品。
  • 已授權使用系列的用戶,可存取該系列中的所有文章。
  • 用戶不會自動被授權使用巢狀系列。
  • 如果系列的產品類型設定為「已授權」,每篇文章的「文章存取權」設定會決定用戶是否有權存取該篇文章。如果文章設定為「免費」,用戶就可以檢視它。如果文章設定為「受保護」,除非獲准,否則用戶無法檢視它。如果文章設定為「計量」,則會套用臨界值設定。文章設定為「計量」,主要用於商業應用程式,讓用戶在購買前預覽內容 (請參閱「AEM Mobile 應用程式中的付費牆和文章預覽」)。
  • 如果系列的產品設定為「受限制」,除非用戶登入並變為已授權,否則用戶看不到該系列 (請參閱「AEM Mobile 應用程式中的受限制系列」)。
  • 如果系列的產品設定為「免費」,該系列中的所有文章也會視為免費,即使「文章存取權」設定為「受保護」或「計量」亦然。
  • 根據預設,用戶點選「帳戶」或「登入」選項時,標準登入提示會出現在應用程式中。若要變更登入介面,您可設定自訂驗證。例如,您可以透過 Facebook 或 Google 等身分提供者啟用登入,並設定您的權益伺服器搭配該身分提供者運作 (請參閱「AEM Mobile 中的自訂驗證」)。

啟用權益

  1. 設定權益伺服器。

    Experience Manager Mobile 需要實作 Direct Entitlement API v2 的權益服務。如需有關設定權益伺服器的詳細資訊,請參閱下列文章:

    權益伺服器建議事項

    • 我們建議使用 HTTPS 網域而非 HTTP。如果您使用 HTTP,在建立 iOS 應用程式時,請務必選取「允許來自 HTTP 的內容」選項。
    • 使用 Java 8 JRE (或更新版本) 和 Apache HttpClient 資料庫來執行要求,藉以測試您的伺服器。我們建議使用 TLS 1.2。雖然 TLS 1.1 和 TLS 1.0 也受支援,但不符合 Apple ATS 方針。如果您使用 TLS 1.1 或 1.0,在建立 iOS 應用程式時,請選取「允許來自 HTTP 的內容」選項。SSL 3 已不再受支援,而且我們建議不要使用 TLS 1.0。
    • 請在您的伺服器憑證過期之前主動更新。否則,一旦憑證過期之後,與權益服務之間的通訊將完全停止運作。
    • 如需受支援的 SSL 憑證清單,請參閱「可接受的憑證 | 直接權益」。

     

  2. (主管理員) 建立要用於專案的權益服務。

    主管理員會使用「主版設定」中的「權益服務」索引標籤,針對帳戶中使用權益的所有專案建立權益服務。至少必須建立一個權益服務,才能在專案層級啟用權益。

    權益端點

    指定權益服務之權益端點的 URL。

    驗證端點

    指定權益服務之 SignInWithCredentials 端點的 URL (如果不同於權益端點)。

    權益快取

    指定您服務所授與之權益資訊可能被快取的時間長度 (以秒為單位)。快取期間到期後,可能會連上您的權益服務以取得更新的權益資訊。您可以指定 0 到 31546000 秒 (約為 1 年) 之間的值。如果沒有指定任何值,則不會快取權益回應,如同指定的值為 0。

    請注意,欠缺的權益也會依照相同的指定值進行快取,不過上限為一小時。因此,您可以放心允許快取權益超過一小時,因為新增權益最多仍然需要一小時,才能生效。缺點在於,移除權益可能需要更長的時間,才能生效。如果這點沒有問題,我們建議設定高快取值 (例如一個月)。高快取值可降低伺服器負載並且改善對於用戶的回應速度與穩定性。

    如果不考慮長時間快取,建議將「權益快取」的值設定為高於一般用戶工作階段的長度。指定較低的值 (例如一分鐘) 有助於改善載入時間和回應速度。

    驗證 Token 快取

    指定您服務提供的驗證 Token 可能被快取的時間長度 (以秒為單位)。快取期間到期後,可能會連上您的服務以更新驗證 Token。您可以指定 0 到 31546000 秒之間的值。如果沒有指定任何值,則會快取驗證 Token 3600 秒 (1 小時)。如果指定 0,則不會快取驗證 Token (不建議)。

    如果 RenewAuthToken API 所傳回的 authToken 總是與傳入的不同,「驗證 Token 快取」的值就不應該低於「權益快取」的值。

    連線逾時

    指定權益伺服器將等候以建立連線並取得回應的秒數 (介於 1 到 60 之間)。如果沒有指定任何值,連線逾時就會設定為 15 秒。

  3. 編輯您的專案設定,並按一下「存取權」索引標籤,然後指定以下選項:

    • 選擇「啟用權益」。至少必須在「主版設定」中建立一個權益服務,才能使用這個選項。
    • 選取已在「主版設定」中建立的權益服務。請務必針對專案選取正確的權益服務。
    • 指定用於權益服務的 Bundle ID。如果權益服務所需要的 Bundle ID 與您建立應用程式時所指定的 Bundle ID 不同,就必須在專案設定中指定 Bundle ID。桌面網頁檢視器權益也需要 Bundle ID。
    • 您可以視需要來指定「建立帳戶 URL」和「忘記密碼」選項。您的用戶可以點選這些按鈕來檢視您所指定的網頁。

     

  4. 發佈系列。

    發佈系列會新增產品 ID 到「產品與訂閱」中 (除非您事先建立了產品 ID 並在編輯系列時選取此 ID)。

  5. 在入口網站的「產品與訂閱」區段中,選取與每個系列相關聯的產品並加以編輯,讓它變成「已授權」或「受限制」。

    當您定義產品類型時,可以選擇「免費」、「已授權」或「受限制」。免費系列可供所有用戶使用。如果您希望用戶必須登入才能存取系列,請選擇「已授權」或「受限制」。所有應用程式用戶都可以看到已授權的系列,但是受保護的文章包含付費牆。除非用戶登入以獲得存取權,否則看不到受限制的系列。如需有關受限制系列的詳細資訊,請參閱「AEM Mobile 應用程式中的受限制系列」。

    指定產品類型
    指定產品類型

  6. 對於產品類型設定為「已授權」的系列,編輯文章屬性,以指定每篇文章設定為「免費」、「計量」或「受保護」。

    在「已授權」的系列中,所有用戶都可存取免費文章。受保護的文章上會出現付費牆,提示用戶登入。如果是計量的文章,則會套用臨界值設定。

    在「免費」或「受保護」的系列中,文章存取權設定其實並不重要。免費系列內的文章可供所有用戶使用,而受限制系列內的文章會處於隱藏狀態,直到用戶登入為止。

  7. 建立應用程式並測試登入功能。

    預備應用程式不支援權益功能。

權益服務效能

最理想的情況是,伺服器隨時都能快速服務權益要求。一般而言,權益服務的回應時間越短,每秒能夠支援的要求數就越多。

同時使用權益和推播通知時,請注意,系統可能會出現嚴重的流量高峰,端視登入的用戶百分比而定。我們建議在推播期間監控伺服器負載,並且視情況調節傳送的推播通知速率。

此産品由 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License 授權  Creative Commons 條款未涵蓋 Twitter™ 與 Facebook 文章。

法律說明   |   線上隱私權政策