需求

必備知識

  • 了解 AEM Mobile
  • 透過隨選入口網站建立及發佈內容的知識
  • JavaScript 相關知識

必要產品

  • AEM Mobile

簡介

Experience Manager Mobile 專用的 Cordova 增效模組是一組 JavaScript API,可讓您存取與應用程式及目前檢視中文章相關的特定資料。若要運用 AEM Mobile Cordova 增效模組,您必須在隨選服務入口網站的文章屬性中選取「啟用擴充性功能」選項,或是透過 On-Demand Services API,在文章實體中繼資料中將 isTrustedContent 參數設定為 true。

AEM Mobile 專用的 Cordova 增效模組會使用命名空間 cq.mobile 以避免與其他 Cordova 支援的增效模組發生衝突。此 API 包含許多模組,而且每個模組都是具有一些方法和屬性的獨立模組。

如需有關使用核心 Cordova API 的詳細資訊,請參閱「在 AEM Mobile 中使用 Cordova 增效模組」。

Cordova 增效模組分成內容、裝置、應用程式和用戶。

 

Cordova 範例

GetEntity API 影片

GetEntity API 影片

內容 API

屬性 – 內容

內容模組可讓您存取指定內容中的實體資訊。

可用性

這個增效模組會定義全域 cq.mobile.context 物件。該物件要等到 deviceready 事件之後才能使用。

名稱 類型 動態 注釋
cq.mobile.context.collection 實體1 如果目前內容是孤立的內容,就可能為空白 (null)。
cq.mobile.context.entity 實體1

傳回範圍內的實體。

範圍:

  • 內容 WebView – 顯示在網頁檢視中的內容。
  • 覆蓋 WebView – 覆蓋所屬的內容。
  • 動態橫幅 WebView – 網頁檢視所屬的動態橫幅。
cq.mobile.context.nextEntity 實體1

如果這是最後一個實體,就可能為空白 (null)。

附註︰動態橫幅的下一個實體就是瀏覽檢視中緊接在動態橫幅之後的實體,此實體可能與父系列元素陣列中的下一個實體不同。這與從文章中呼叫 nextEntity 時將會發生的情況不同 (將會從父系列的子元素陣列中傳回其順序)。

cq.mobile.context.previousEntity 實體1

如果這是第一個實體,就可能為空白 (null)。

對於動態橫幅,請參考上方 nextEntity 的附註。

cq.mobile.context.type 字串 可能的值:「article」、「overlay」、「dynamicBanner」

1 實體包含下列欄位,如下一節所述:idmetadatarootPath 和 type

屬性 – 實體

名稱 類型 注釋
id 字串  
metadata 物件2 實體類型特有的中繼資料
rootPath 字串 僅適用於文章和動態橫幅。代表在目前內容中執行之實體的根路徑。可當做其他增效模組的參照使用,以便建立實體內所包含資源的路徑(僅適用於 iOS 和 Android)。
type 字串 可能的值:「collection」、「article」、「banner」、「dynamicBanner」

2 Metadata 物件會根據實體類型包含一組不同的欄位,如下一節所述。

屬性 – 中繼資料

名稱 類型 支援的實體 注釋
abstract
字串 文章、系列、橫幅、動態橫幅  
accessState 字串 文章
可能的值:「free」、「metered」、「protected」
adCategory 字串 文章、動態橫幅
 
adType 字串 文章、動態橫幅
可能的值:「static」、「EFT」
allowDownload 布林值 系列  
articleText 字串 文章
 
author 字串 文章
 
authorURL 字串 文章
 
availabilityDate 字串 文章、系列、橫幅、動態橫幅  
advertiser 字串 文章、動態橫幅
 
category 字串 文章、系列、橫幅、動態橫幅  
created 字串 文章、系列、橫幅、動態橫幅  
department 字串 文章、系列、橫幅、動態橫幅  
entityName 字串 文章、系列、橫幅、動態橫幅  
hideFromBrowsePage 布林值 文章
 
importance 字串 文章、系列、橫幅、動態橫幅 可能的值:「low」、「normal」、「high」
isAd 布林值 文章、動態橫幅
 
isIssue 布林值 文章
 
keywords 字串陣列 文章、系列、橫幅、動態橫幅  
lateralNavigation 布林值 系列  
modified 字串 文章、系列、橫幅、動態橫幅  
openTo 字串 系列 可能的值:「browsePage」、「contentView」
productIds 字串陣列 系列  
published 字串 文章、系列、橫幅、動態橫幅  
readingPosition 字串 系列 可能的值:「reset」、「retain」
shortAbstract 字串 文章、系列、橫幅、動態橫幅  
shortTitle 字串 文章、系列、橫幅、動態橫幅  
socialShareUrl 字串 文章、系列、橫幅、動態橫幅  
tapAction 字串 橫幅  
title 字串 文章、系列、橫幅、動態橫幅  
url 字串 文章、系列、橫幅、動態橫幅  
version 字串 文章、系列、橫幅、動態橫幅  

方法

名稱 引數 回應 注釋
getEntity
(entityName,
entityType, forceUpdate,
success, error)

entityName:
字串 – 實體的名稱

entityType:
字串 – 實體的類型

forceUpdate:
布林值 – 若為「true」,則永遠都會查詢伺服器是否有最新版本

success:
函數 – 成功回呼

error:
函數 – 錯誤回呼

成功時:Entity 物件

附註︰對於動態橫幅而言,null 是允許的傳回值 (因為對於此實體類型而言,這並非必要的屬性)

失敗時:cq.mobile.contextError 物件,已填入程式碼屬性

支援文章、橫幅、系列、動態橫幅

entityName 必須符合隨選服務中所找到的名稱 (不是標題)。

entityType 必須符合 Entity.type 中找到的值

如果 forceUpdate 為 false 且快取實體,就會傳回該實體。它可能不是該實體的最新版本。

如果 forceUpdate 為 true 但無法連線到伺服器,則會傳回現有的實體 (如果有在快取中)。如果快取中沒有任何項目,則會傳回網路錯誤。

如果無法連線到伺服器但是找不到要求的實體 (或是它受到限制,而且用戶未獲得授權),則會傳回「找不到實體」錯誤。

getEntitlementInfo
(entityOrEntityList,
success, error)

entityOrEntityList:
Entity 或 EntityList 物件 – 要擷取權益資訊的實體

success:
函數 – 成功回呼

error:
函數 – 錯誤回呼

成功時:

[
{
“entityName” : <entityName1>,
“isEntitled” : true or false
},
{
“entityName” : <entityName2>,
“isEntitled” : true or false
},
]

失敗時:cq.mobile.contextError 物件,已填入程式碼屬性

支援系列

getEntitlementInfo() 只會傳回系列的權益資訊。如果傳遞非系列的 Entity 物件,則會傳回「錯誤實體類型」錯誤。

如果傳遞 EntityList 物件,則只會傳回系列物件的 entitlementInfo。如果沒有任何系列,傳回的陣列將會是空的。

在一分鐘內對此 API 的第 26 個要求 (及任何後續的要求) 將會傳回「已超出網路速限」錯誤。

如果裝置已離線,則會傳回任何快取的權益資訊。

如果裝置已連線但是無法聯繫權益服務,則會傳回網路錯誤。

getEntityStatus
(entity, success, error)

entity︰系列下載狀態。

success:函數 - 成功回呼

error:函數 - 錯誤回呼

成功時:
{ "entityName" : "isSavable" : "progressPercent" : "downloadState" : }

失敗時:cq.mobile.contextError 物件,已填入程式碼屬性

支援系列

getEntityStatus() 將會擷取系列實體的下載狀態資訊。

狀態資訊︰

"entityName":系列實體的名稱。

"isSavable":此系列必須標示為系列屬性中所允許的下載 (儲存),而且必須擁有足夠的權益才能傳回 true。

"progressPercent":目前下載的系列數量 (從 0 到 100%)。注意︰如果該資訊已從記憶體中清除,這個值可能不會總是正確。請參閱本文稍後的下載狀態。

錯誤:getEntityStatus() 將只會傳回系列的權益狀態資訊。如果傳遞、找不到或尚未初始化非系列的 Entity 物件,則會傳回錯誤。請參閱本文稍後的錯誤清單。

saveEntity(entity, isSilent, success, error)

entity︰要下載及儲存的系列。

isSilent:布林值 - (僅限 Android) 若為 true,則實體會儲存在背景中,而且沒有通知。

success:函數 - 成功回呼。

error:函數 - 錯誤回呼。

成功時:{ "rawEntity" : "downloadPercent" : "downloadState" }

失敗時:錯誤,並已填入程式碼屬性

支援系列

saveEntity() 將會下載和儲存指定的系列實體,相當於在用戶介面中點擊「下載」按鈕。

成功回呼︰成功回呼會傳回所儲存的 Entity 物件。此外,每當有下載的進度更新時,都會呼叫成功回呼。進度可以透過 "downloadPercent" 和 "downloadState" 傳回值來加以追蹤。當開始儲存/下載時,系列下載應該會變成目前的作用中下載。如果開始另一個系列下載,該系列會變成作用中下載,而第一個系列則會暫停。當第二個系列下載完畢時,第一個系列應該會繼續下載,而狀態會變成作用中。

錯誤︰saveEntity() 只會下載系列。如果傳遞非系列的 Entity 物件、找不到系列或是下載已取消,則會傳回錯誤。請參閱本文稍後的錯誤清單。

archiveEntity(entity, success, error)

entity︰Entity 物件 - 要封存 (不儲存) 的實體

success:函數 - 成功回呼

error:函數 - 錯誤回呼

成功時:Entity 物件

失敗時:錯誤,並已填入程式碼屬性

支援系列

archiveEntity() 將會封存 (與 saveEntity() 相反) 指定的系列實體,相當於在用戶介面中點選核取按鈕。如果系列已完整下載及儲存,archiveEntity 會將系列標示為非持續,並且可以清除。如果系列仍在下載中或是已排入下載佇列,則下載作業將會取消,而且已下載的內容將會標示為可清除。

成功︰傳回已封存的 Entity 物件。

錯誤︰archiveEntity() 將只會封存系列。如果傳遞非系列的 Entity 物件或是找不到系列,則會傳回錯誤。

getSavedEntities(success, error)

success:函數 - 成功回呼

error:函數 - 錯誤回呼

成功時:Entity 物件的陣列

失敗時:錯誤,並已填入程式碼屬性

支援系列

getSavedEntities() 將傳回 Entity 物件的陣列,這些物件已完全下載或是已排入下載佇列,並且將會加以儲存。

getBackgroundImage
(width, height, success, error)

width:數字 - 要求的寬度

height:數字 - 要求的高度

success:函數 - 成功回呼

error:函數 - 錯誤回呼

成功時:背景影像的檔案 URL,做為成功回呼的引數

失敗時:cq.mobile.contextError 物件,已填入程式碼屬性

支援系列

Runtime 檢視器不會縮放影像,但是它會傳回最接近指定大小的影像大小。

如果未在裝置上快取背景影像,將會向隨選服務要求影像。在大多數情況下,影像會保留在快取中一段時間。

如果嘗試針對系列以外類型的實體進行呼叫,就會呼叫錯誤回呼。

getThumbnailImage
(width, height, success, error)

width:數字 - 要求的寬度

height:數字 - 要求的高度

success:函數 - 成功回呼

error:函數 - 錯誤回呼

成功時:縮圖影像的檔案 URL,做為成功回呼的引數

失敗時:cq.mobile.contextError 物件,已填入程式碼屬性

支援文章、橫幅、系列、動態橫幅

Runtime 檢視器不會縮放影像,但是它會傳回最接近指定大小的影像大小。

如果未在裝置上快取縮圖影像,將會向隨選服務要求影像。在大多數情況下,影像會保留在快取中一段時間。

 

getSocialSharingImage
(width, height, success, error)

width:數字 - 要求的寬度

height:數字 - 要求的高度

success:函數 - 成功回呼

error:函數 - 錯誤回呼

成功時:社交分享影像的檔案 URL,做為成功回呼的引數

失敗時:cq.mobile.contextError 物件,已填入程式碼屬性

支援文章

Runtime 檢視器不會縮放影像,但是它會傳回最接近指定大小的影像大小。

如果未在裝置上快取社交分享影像,將會向隨選服務要求影像。在大多數情況下,影像會保留在快取中一段時間。

如果嘗試針對系列以外類型的實體進行呼叫,就會呼叫錯誤回呼。

getChildren(success, error)

success:
函數 - 成功回呼

error:
函數 - 錯誤回呼

成功時:EntityList 物件

失敗時:cq.mobile.contextError 物件,已填入程式碼屬性

支援系列

EntityList 將會包含這個系列中位於快取內的所有未受限制的子實體。如果沒有任何項目,則會嘗試下載子項的第一個伺服器頁面。

getContentLocation(success, error)

success:函數 - 成功回呼

error:函數 - 錯誤回呼

成功時:傳回 ContentLocation 物件

支援文章

ContentLocation 物件包含 pageNumber 和 totalPageCount。
pageNumber 是以零起始的,因此 0 是文章的第一頁。這些值會反映文章中內容的實際位置。對於 HTML 文章而言,totalPageCount 是 1,而 pageNumber 將會是 0。

如需有關這些中繼資料屬性的其他詳細資訊,請參閱「整合協力廠商系統與 AEM Mobile」。

屬性 – EntityList

名稱 類型 注釋
entities 陣列 實體清單。可能的實體:「article」、「collection」、「banner」。
hasNextPage 布林值 如果為「true」,則表示清單中有更多實體。使用 getNextPage() 方法可擷取清單中的下一頁實體。

方法

名稱 引數 回應 支援的實體 注釋
getNextPage
(success, error)

success:
函數 – 成功回呼

error:
函數 – 錯誤回呼

成功時︰實體屬性將會包含額外的實體項目,並且將會更新 hasNextPage 屬性

失敗時:cq.mobile.contextError 物件,已填入程式碼屬性

系列

如果在 hasNextPage 為 false 時呼叫 getNextPage(),則會傳回「沒有其他實體頁面」錯誤。

傳回的實體將不受限制。自從上次呼叫 getNextPage() 以來,受限制的資訊可能已變更。如果是這個情況,將會傳回「實體頁面已過期」錯誤。您必須針對系列呼叫 getEntity() 來提取更新的系列,然後使用這個更新的系列呼叫 getChildren()。

屬性 - 內容錯誤

cq.mobile.contextError 是列舉物件,會針對內容方法定義所有支援的錯誤碼。

名稱
cq.mobile.contextError.UNKNOWN_ERROR
0
cq.mobile.contextError.INVALID_ARGUMENT_ERROR
10
cq.mobile.contextError.ENTITY_IMAGE_TYPE_NOT_SUPPORTED_FOR_ENTITY_ERROR
11
cq.mobile.contextError.NETWORK_ERROR
20
cq.mobile.contextError.NETWORK_RATE_LIMIT_EXCEEDED_ERROR
21
cq.mobile.contextError.ENTITY_IMAGE_ENTITY_NOT_FOUND_ERROR
40
cq.mobile.contextError.ENTITY_IMAGE_NETWORK_ERROR
41
cq.mobile.contextError.ENTITY_IMAGE_NOT_FOUND_ERROR
50
cq.mobile.contextError.ENTITY_NOT_FOUND_ERROR
61
cq.mobile.contextError.WRONG_ENTITY_TYPE_ERROR
71
cq.mobile.contextError.NO_MORE_ENTITY_PAGES_ERROR
72
cq.mobile.contextError.ENTITY_PAGE_OUT_OF_DATE_ERROR
73
cq.mobile.contextError.ENTITY_OUT_OF_DATE_ERROR 74
cq.mobile.contextError.ENTITY_SAVE_FAILURE 80
cq.mobile.contextError.ENTITY_SAVE_CANCELLED 80

 

屬性 - 下載狀態

cq.mobile.downloadState 是列舉物件,會針對系列下載方法定義所有支援的錯誤碼。

名稱
cq.mobile.downloadState.NONE
0
cq.mobile.downloadState.DOWNLOAD_PAUSED
1
cq.mobile.downloadState.DOWNLOAD_ACTIVE
2
cq.mobile.downloadState.DOWNLOAD_COMPLETE
3

 

裝置 API

裝置模組會提供來自原生程式碼的值。請注意,這些屬性所在的命名空間與 Cordova 裝置增效模組不同 (window.cq.mobile.devicewindow.device)。

可用性

除了 Cordova 裝置增效模組以外,還會新增下列屬性。

屬性 – 裝置

名稱 類型 動態
注釋
cq.mobile.device.class 字串 可能的值:Phone、Tablet (Windows 只會傳回 Tablet,因為不支援手機)
cq.mobile.device.vendorId 字串 僅限 iOS (請參閱 iOS 開發人員指南中的 IdentifierForVendor)

應用程式 API

可用性

這個增效模組會定義全域 cq.mobile.application 物件。該物件要等到 deviceready 事件之後才能使用。

屬性 – 應用程式

名稱 類型 動態 注釋
cq.mobile.application.id 字串 範例:com.adobe.create
cq.mobile.application.pushNotificationToken 字串 裝置的推播通知 Token (iOS 上的裝置 Token、Android 上的註冊 ID;Windows 檢視器尚未實作推播通知,因此在實作之前,其值都是處於「未定義」狀態)
cq.mobile.application.runtimeVersion 字串 範例:2015.5.1
cq.mobile.application.version 字串 應用程式的版本控制方式,例如 1.0.4
cq.mobile.application.isAppSearchEnabled 布林值
檢查搜尋是否已啟用
cq.mobile.application.isSocialSharingEnabled 布林值 檢查社交分享是否已啟用

用戶 API

可用性

這個增效模組會定義全域 cq.mobile.user 物件。該物件要等到 deviceready 事件之後才能使用。

事件

名稱 注釋
isauthenticatedchanged 用戶變更驗證狀態時會觸發事件。用戶端應該查詢用戶物件以取得最新狀態。
authtokenchanged 用戶驗證 Token 變更時會觸發事件。用戶端應該查詢用戶物件以取得最新狀態。

屬性 – 應用程式

名稱 類型 動態 注釋
cq.mobile.user.authToken 字串  
cq.mobile.user.isAuthenticated 布林值  

方法

名稱 引數 回應 注釋
setAuthToken(authToken, success, error)

authToken:字串 - authToken 的要求值

success:函數 - 成功回呼

error:函數 - 錯誤回呼

成功時:在沒有參數下呼叫成功回呼

失敗時:以 cq.mobile.userError 代碼集呼叫錯誤回呼

這個呼叫只有在下列專案上才能成功執行:擁有一般身分提供者設定的專案,或只擁有直接權益提供者 (無身分提供者) 的專案。否則,當呼叫此 API 時,便會傳回驗證支援錯誤。

如果 setAuthToken 呼叫因某些原因而失敗 (傳回 502、503 或 504),理想的情況是,檢視器將會重試一次。如果重試失敗或未執行重試,則會傳回網路錯誤。
當前一個要求仍在進行時,對此 API 所做的任何要求都將傳回已超出網路速限錯誤,直到先前的任何要求傳回成功或失敗為止。

在一分鐘的時間內,對此 API 所做的第 11 個要求將會傳回已超出網路速限錯誤,同時自第 1 個要求開始後的一分鐘過去之前,第 11 個要求之後的每個要求也都會傳回此錯誤。

launchSignInUX(error) error:函數 - 錯誤回呼 失敗時:以 cq.mobile.userError 代碼集呼叫錯誤回呼

若驗證是透過權益伺服器產生,就會顯示原生登入對話框。

若驗證是透過身分提供者產生,則會在裝置檢視器的網頁檢視中顯示驗證 URL,或是重新導向至桌面網頁檢視器上的驗證 URL。

若未在專案中指定驗證,呼叫此 API 將傳回「驗證支援」錯誤。

若用戶已經通過驗證,就會傳回「無效驗證狀態」錯誤。

若網頁檢視器無法擷取驗證設定,就會傳回網路錯誤。

用戶仍能在離線時登出裝置檢視器。

signOut(error) error:函數 - 錯誤回呼 失敗時:以 cq.mobile.userError 代碼集呼叫錯誤回呼

登出用戶,並重新整理已登出狀態以便反映在 UI 中。

若未在專案中指定驗證,呼叫此 API 將傳回「驗證支援」錯誤。

若用戶已經通過驗證,就會傳回「無效驗證狀態」錯誤。

若網頁檢視器無法登出,就會傳回網路錯誤。

若無法擷取驗證設定,裝置檢視器會使用已快取的驗證設定。

refreshSignIn(success, error)

success:函數 - 成功回呼

error:函數 - 錯誤回呼

成功時:在沒有參數下呼叫成功回呼

失敗時:以 cq.mobile.userError 代碼集呼叫錯誤回呼

只有判斷目前的工作階段已不再有效時,才使用此 API 嘗試重新整理用戶的登入。只有在兩種情況下,此 API 才會重新整理登入:

1) 專案有設定權益服務,但沒有自訂驗證。呼叫此 API 將導致在權益服務上進行 renewAuthToken 呼叫。

2) 專案有設定 OAuth 身分提供者,其可提供重新整理 Token。呼叫此 API 將嘗試使用該重新整理 Token,在工作階段中重新整理登入。

在這兩種情況下,重新整理有可能不會成功;若不成功,會將用戶登出。

在其他所有情況下,包括在有設定不支援重新整理的 SAML 或 OAuth 身分提供者的專案中,呼叫此 API,此重新整理作業將失敗,並將用戶登出而回到用戶首頁。

若未在專案中指定驗證,呼叫此 API 將傳回「驗證支援」錯誤。

若用戶未通過驗證,就會傳回「無效驗證狀態」錯誤。

若檢視器已離線而無法重新整理登入,就會傳回網路錯誤。

若無法擷取驗證設定,裝置檢視器會使用已快取的驗證設定。

註解:

這些 API 呼叫中若有任何呼叫發生非預期的錯誤,就會在錯誤回呼中傳回「UNKNOWN_ERROR」代碼。

 

屬性 - 用戶錯誤

cq.mobile.userError 是列舉物件,會針對用戶方法定義所有支援的錯誤碼。

名稱
cq.mobile.userError.UNKNOWN_ERROR
0
cq.mobile.userError.INVALID_ARGUMENT_ERROR
10
cq.mobile.userError.AUTHENTICATION_SUPPORT_ERROR
11
cq.mobile.userError.INVALID_AUTHENTICATION_STATE
12
cq.mobile.userError.NETWORK_ERROR
41
cq.mobile.userError.NETWORK_RATE_LIMIT_EXCEEDED_ERROR
42
cq.mobile.userError.UNAUTHORIZED
43

權益 API

可用性

這個增效模組會定義全域權益物件,以提供與權益和購買相關的方法。該物件要等到 deviceready 事件之後才能使用。

屬性 - 選件

名稱 類型 注釋
productId 字串 顯示在入口網站的「產品與訂閱」區段中的產品/訂閱 ID。
label 字串 顯示在入口網站的「產品與訂閱」區段中的產品/訂閱名稱。如果不是由用戶所設定,它將會是 null。
description 字串 顯示在入口網站的「產品與訂閱」區段中的產品/訂閱描述。如果不是由用戶所設定,它將會是 null。
price 字串 從對應的商店所傳回的價格。如果是免費產品,則為 null。
offerType 字串 可能是「訂閱」或「產品」。

屬性 - 訂閱資訊

名稱 類型 注釋
subscriptionOffers 陣列 Offer 物件的陣列。如果用戶有作用中的訂閱,則為空白。
subscriptionState 物件 subscriptionState 物件。

屬性 - 訂閱狀態

名稱 類型 注釋
isSubscriber
布林值 如果用戶在任何時間點已經是訂閱者,則為 true。請注意,subscriptionState.isSubscriber 等同於 subscriptionState.store.isSubscribersubscriptionState.integrator.isSubscriber
isActiveSubscriber
布林值 如果用戶有作用中的訂閱,則為 true。
store 物件 Store 物件,包含產品商店的訂閱狀態。
integrator 物件 Integrator 物件,包含權益整合器的訂閱狀態。

屬性 - 商店

名稱 類型 注釋
isSubscriber
布林值 如果用戶在任何時間點已經是訂閱者,則為 true。
isActiveSubscriber
布林值 如果用戶有作用中的訂閱,則為 true。
expirationDate 數字 自到期日以來的時間戳記 (以毫秒為單位)。如果訂閱 (來自商店或權益整合器) 沒有到期日,這個值可能會是 null。
subscriptionType 字串 可能是 "allAccess" 或 "standard"。只有當 isSubscriber 為 true 時才有效。
id 字串 訂閱產品在商店中的產品 ID。

屬性 - 整合器

名稱 類型 注釋
isSubscriber
布林值 如果用戶在任何時間點已經是訂閱者,則為 true。
isActiveSubscriber
布林值 如果用戶有作用中的訂閱,則為 true。
expirationDate 數字 自到期日以來的時間戳記 (以毫秒為單位)。如果訂閱 (來自商店或權益整合器) 沒有到期日,這個值可能會是 null。
customData 字串 如果同層級 isSubscriber 為 false,將不會設定 customData。如果 isSubscriber 為 true,則不一定會設定。整合器可傳回 customData,其目的是為了包含對 Adobe 透明且只對客戶有意義的資料。

方法

名稱 引數 回應 注釋
getSubscriptionInfo(success, error)

success:成功回呼

error:錯誤回呼

成功時:SubscriptionInfo 物件。

這個方法會傳回目前出版物和裝置的訂閱資訊。在一分鐘內發出 60 個 API 要求之後,自第一個要求算起的一分鐘內,對此 API 所做的任何後續要求都將傳回錯誤。

桌面網頁檢視器不支援此 API,且一定會傳回錯誤。

getOffers(collectionName, success, error)

collectionName:字串 - 系列的名稱

success:函數 - 成功回呼

error:函數 - 錯誤回呼

成功時:Offer 物件的陣列

失敗時:錯誤,並已填入程式碼屬性

collectionName 必須符合在入口網站中找到的名稱。

如果要求的實體找不到或是受限制而看不見,則會傳回錯誤。

傳回所要求之實體的快取選件 (如果有的話)。否則,將會進行權益服務的網路要求來擷取選件。

在一分鐘內發出 60 個權益服務的網路要求之後,自第一個要求算起的一分鐘內,對此 API 所做的任何後續要求都將傳回錯誤。

桌面網頁檢視器不支援此 API,且一定會傳回錯誤。

purchaseOffer(productId, success, error)

productId:字串 - 要購買之選件的產品 ID

success:函數 - 成功回呼

error:函數 - 錯誤回呼

成功時:起始購買要求

失敗時︰呼叫錯誤碼

這個方法會起始購買要求。
restorePurchases(successCallback, errorCallback)

success:函數 - 成功回呼

error:函數 - 錯誤回呼

成功時:起始復原購買要求

失敗時︰呼叫錯誤碼

這個方法會針對用戶之前的購買起始復原要求。

在一分鐘內發出 5 個 API 要求之後,自第一個要求算起的一分鐘內,對此 API 所做的任何後續要求都將傳回錯誤。

錯誤 - 權益

cq.mobile.entitlementError 是列舉物件,會針對權益方法定義所有支援的錯誤碼。

名稱
cq.mobile.entitlementError.UNKNOWN_ERROR 0
cq.mobile.entitlementError.INVALID_ARGUMENT_ERROR
10
cq.mobile.entitlementError.ENTITY_IMAGE_TYPE_NOT_SUPPORTED_FOR_ENTITY_ERROR 11
cq.mobile.entitlementError.INVALID_AUTHENTICATION_STATE 12
cq.mobile.entitlementError.NETWORK_ERROR 20
cq.mobile.entitlementError.NETWORK_RATE_LIMIT_EXCEEDED_ERROR 21
cq.mobile.entitlementError.ENTITY_IMAGE_ENTITY_NOT_FOUND_ERROR
40
cq.mobile.entitlementError.ENTITY_IMAGE_NETWORK_ERROR 41
cq.mobile.entitlementError.ENTITY_IMAGE_NOT_FOUND_ERROR 50
cq.mobile.entitlementError.ENTITY_NOT_FOUND_ERROR 61
cq.mobile.entitlementError.WRONG_ENTITY_TYPE_ERROR 71
cq.mobile.entitlementError.NO_MORE_ENTITY_PAGES_ERROR 72
cq.mobile.entitlementError.ENTITY_PAGE_OUT_OF_DATE_ERROR 73
cq.mobile.entitlementError.ENTITY_OUT_OF_DATE_ERROR 74
cq.mobile.entitlementError.ENTITY_SAVE_FAILURE 80
cq.mobile.entitlementError.ENTITY_SAVE_CANCELLED 81

變更記錄

2017 年 3 月 16 日

已新增用來下載系列實體的 API 資訊。

已新增購買與權益的 API 資訊。

2017 年 1 月 10 日

新增 cq.mobile.application.isAppSearchEnabled 和 cq.mobile.application.isSocialSharingEnabled (請參閱「應用程式」區段)

2016 年 8 月 9 日

新增 getLocationContent (請參閱「內容」區段)

2016 年 6 月 30 日

新增 setAuthToken (請參閱「用戶」區段)

2016 年 6 月 23 日

新增周遊隨選服務系列結構的能力:

  • 更新實體中繼資料並支援橫幅 (請參閱「內容」索引標籤)。
  • 已新增 getEntity() 來要求文章/橫幅/系列實體 (請參閱「內容」索引標籤)。
  • 已新增 getEntitlementInfo() 來要求系列的權益資訊 (請參閱「內容」索引標籤)。
  • 已新增 getChildren() 來要求系列的直屬子項實體清單 (請參閱「內容」索引標籤)。
  • 已新增 getNextPage() 來從 getChildren() 傳回的清單中要求下一頁的實體 (請參閱「內容」索引標籤)。
  • 已新增列舉物件來為 cq.mobile.context 和 cq.mobile.user 中使用的方法定義錯誤碼 (請參閱「內容」和「用戶」索引標籤)。

 

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

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