요구 사항

사전 지식

  • AEM Mobile 이해
  • 온디맨드 포털을 통한 콘텐츠 제작 및 게시 관련 지식
  • JavaScript에 대한 지식

요구 제품

  • AEM Mobile

소개

Experience Manager Mobile 전용 Cordova 활성 플러그인은 애플리케이션과 현재 보고 있는 아티클에 관련된 특정 데이터에 대한 액세스를 제공하는 JavaScript API 세트입니다. AEM Mobile Cordova 플러그인을 활용하려면 온디맨드 서비스 포털에서 선택한 아티클 속성에서 “확장 기능 활성화” 옵션이 선택되어 있거나 아티클 엔티티 메타데이터의 isTrustedContent 매개 변수가 On-Demand Services API를 통해 true로 설정되어 있어야 합니다.

AEM Mobile 전용 Cordova 활성 플러그인은 다른 Cordova 제공 플러그인과의 충돌을 방지하기 위해 명칭 공간 cq.mobile을 사용합니다. API는 여러 모듈로 구성되어 있으며 각 모듈은 몇몇 메소드와 속성을 포함한 단일 항목입니다.

Core 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 다음 섹션에 설명된 대로 엔티티에는 다음과 같은 필드가 포함되어 있습니다. id, metadata, rootPath 및 type

속성 – 엔티티

이름 유형 비고
id 문자열  
metadata 오브젝트2 엔티티 유형에 특화된 메타데이터
rootPath 문자열 아티클 및 동적 배너에만 적용됩니다. 현재 컨텍스트에서 실행되는 엔티티의 루트 경로를 나타냅니다. 엔티티 내에 포함된 리소스에 대한 경로를 구축하기 위해 다른 플러그인에 대한 참조로서 사용될 수 있습니다. (iOS 및 Android만 해당)
type 문자열 가능한 값: “collection”, “article”, “banner”, “dynamicBanner”

2 Metadata 오브젝트는 다음 섹션에 설명된 대로 엔티티 유형에 따라 다른 세트의 필드를 포함합니다.

속성 – 메타데이터

이름 유형 엔티티에 대한 지원 비고
abstract
문자열 아티클, 컬렉션, 배너, 동적 배너  
accessState 문자열 아티클
가능한 값: “free”, “metered”, “protected”
adCategory 문자열 아티클, 동적 배너
 
adType 문자열 아티클, 동적 배너
가능한 값: “static”, “EFT”
allowDownload Boolean 컬렉션  
articleText 문자열 아티클
 
author 문자열 아티클
 
authorURL 문자열 아티클
 
availabilityDate 문자열 아티클, 컬렉션, 배너, 동적 배너  
advertiser 문자열 아티클, 동적 배너
 
category 문자열 아티클, 컬렉션, 배너, 동적 배너  
created 문자열 아티클, 컬렉션, 배너, 동적 배너  
department 문자열 아티클, 컬렉션, 배너, 동적 배너  
entityName 문자열 아티클, 컬렉션, 배너, 동적 배너  
hideFromBrowsePage Boolean 아티클
 
importance 문자열 아티클, 컬렉션, 배너, 동적 배너 가능한 값: “low”, “normal”, “high”
isAd Boolean 아티클, 동적 배너
 
isIssue Boolean 아티클
 
keywords 문자열 배열 아티클, 컬렉션, 배너, 동적 배너  
lateralNavigation Boolean 컬렉션  
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:
Boolean – “true”인 경우 항상 최신 버전에 대해 서버를 쿼리

success:
함수 – 성공 콜백

error:
함수 – 오류 콜백

성공 시: 엔티티 오브젝트

참고: 동적 배너에 대한 반환 값으로 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 또는 false
},
{
“entityName” : <entityName2>,
“isEntitled” : true 또는 false
},
]

실패 시: 채워진 코드 속성 포함 cq.mobile.contextError 오브젝트

컬렉션 지원

getEntitlementInfo()는 컬렉션에 대한 권한 정보만 반환합니다. 컬렉션이 아닌 엔티티 오브젝트가 전달되면 “잘못된 엔티티 유형” 오류가 반환됩니다.

EntityList 오브젝트가 전달되면 컬렉션 오브젝트에 대한 entitlementInfo만 반환됩니다. 컬렉션이 없으면 반환 배열은 비어 있게 됩니다.

1분 이내에 이 API로 전달되는 26번째 요청(및 이어지는 모든 요청)은 “네트워크 속도 한계 초과” 오류를 반환하게 됩니다.

디바이스가 오프라인 상태인 경우 캐시되는 모든 권한 정보가 반환됩니다.

디바이스가 온라인 상태이고 권한 부여 서비스에 연결할 수 없는 경우 네트워크 오류가 반환됩니다.

getEntityStatus
(entity, success, error)

entity: 컬렉션 다운로드 상태

success: 함수 - 성공 콜백

error: 함수 - 오류 콜백

성공 시:
{ "entityName" : "isSavable" : "progressPercent" : "downloadState" : }

실패 시: 채워진 코드 속성 포함 cq.mobile.contextError 오브젝트

컬렉션 지원

getEntityStatus()는 컬렉션 엔티티에 대한 다운로드 상태를 가져옵니다.

상태 정보:

"entityName": 컬렉션 엔티티의 이름입니다.

"isSavable": 컬렉션은 컬렉션 속성에서 허용된 다운로드(저장)로 표시되어야 하며 true를 반환하기에 충분한 권한을 가져야 합니다.

"progressPercent" : 현재까지 다운로드된 컬렉션의 양이며 0~100%로 표시됩니다. 참고: 메모리에서 정보가 지워진 경우 이 값은 정확하지 않을 수도 있습니다. 이 문서의 후반부에 있는 다운로드 상태를 참조하십시오.

오류: getEntityStatus()는 컬렉션에 대한 권한 상태 정보만 반환합니다. 컬렉션이 아닌 엔티티 오브젝트가 전달되면 “찾을 수 없음” 또는 “초기화되지 않음” 오류가 반환됩니다. 이 문서의 후반부에 있는 오류 목록을 참조하십시오.

saveEntity(entity, isSilent, success, error)

entity: 다운로드하고 저장할 컬렉션입니다.

isSilent: BOOL - (Android만 해당) true인 경우 엔티티는 알림 없이 백그라운드에서 저장됩니다.

success: 함수 - 성공 콜백.

error: 함수 - 오류 콜백.

성공 시: { "rawEntity" : "downloadPercent" : "downloadState" }

실패 시: 채워진 코드 속성 포함 오류

컬렉션 지원

saveEntity()는 주어진 컬렉션 엔티티를 다운로드하고 저장합니다. 이는 UI의 다운로드 버튼을 누르는 것과 동일한 결과를 가져옵니다.

성공 콜백: 성공 콜백은 저장되는 엔티티 오브젝트를 반환합니다. 아울러 성공 콜백은 다운로드에 대한 진행 업데이트가 있을 때마다 호출됩니다. 진행 상태는 "downloadPercent" 및 "downloadState" 반환 값을 통해 추적됩니다. 저장/다운로드가 초기화되면 컬렉션 다운로드는 현재 활성 다운로드가 됩니다. 다른 컬렉션 다운로드가 시작되면 해당 컬렉션은 활성 다운로드가 되며 첫 번째 컬렉션은 일시 정지됩니다. 두 번째 컬렉션의 다운로드가 끝나면 첫 번째 컬렉션의 다운로드가 재개되며 상태는 활성으로 바뀝니다.

오류: saveEntity()는 컬렉션만 다운로드합니다. 컬렉션이 아닌 엔티티 오브젝트가 전달되면 컬렉션을 찾을 수 없는 경우 또는 다운로드가 취소되는 경우 오류가 반환됩니다. 이 문서의 후반부에 있는 오류 목록을 참조하십시오.

archiveEntity(entity, success, error)

entity: 엔티티 오브젝트 - 보관할 엔티티 (저장 안 함)

success: 함수 - 성공 콜백

error: 함수 - 오류 콜백

성공 시: 엔티티 오브젝트

실패 시: 채워진 코드 속성을 포함하는 오류

컬렉션 지원

archiveEntity()는 주어진 컬렉션 엔티티를 보관(saveEntity()의 반대)합니다. 이는 UI의 선택 표시 버튼을 탭하는 것과 동일한 결과를 가져옵니다. 컬렉션이 완전히 다운로드되고 저장되면 archiveEntity는 해당 컬렉션을 “비-지속적”으로 표시하고 제거합니다. 컬렉션이 현재 다운로드 중이거나 다운로드 대기열에 있는 경우 해당 다운로드는 취소되고, 다운로드된 콘텐츠는 “제거 가능”으로 표시됩니다.

성공: 보관된 엔티티 오브젝트가 반환됩니다.

오류: archiveEntity()는 컬렉션만 보관합니다. 컬렉션이 아닌 엔티티 오브젝트가 전달되거나 컬렉션을 찾을 수 없는 경우 오류가 반환됩니다.

getSavedEntities(success, error)

success: 함수 - 성공 콜백

error: 함수 - 오류 콜백

성공 시: 엔티티 오브젝트의 배열

실패 시: 채워진 코드 속성 포함 오류

컬렉션 지원

getSavedEntities()는 완전히 다운로드되었거나 다운로드 대기열에 추가되었으며 저장될 엔티티 오브젝트의 배열을 반환합니다.

getBackgroundImage
(width, height, success, error)

width: 숫자 - 요청된 폭

width: 숫자 - 요청된 높이

success: 함수 - 성공 콜백

error: 함수 - 오류 콜백

성공 시: success 콜백의 인수로서의 배경 이미지에 대한 파일 URL

실패 시: 채워진 코드 속성 포함 cq.mobile.contextError 오브젝트

컬렉션 지원

Runtime 뷰어가 이미지의 크기를 조절하지 않고 대신에 지정된 크기에 가장 가까운 이미지 크기를 반환합니다.

이미지가 디바이스에 캐시되지 않으면 온디맨드 서비스에서 배경 이미지를 요청합니다. 대부분의 경우 이미지는 가까운 미래를 위해 캐시에 남아있을 것입니다.

컬렉션이 아닌 다른 유형의 엔티티에 호출을 시도하면 오류 콜백이 호출됩니다.

getThumbnailImage
(width, height, success, error)

width: 숫자 - 요청된 폭

width: 숫자 - 요청된 높이

success: 함수 - 성공 콜백

error: 함수 - 오류 콜백

성공 시: success 콜백의 인수로서의 썸네일 이미지에 대한 파일 URL

실패 시: 채워진 코드 속성 포함 cq.mobile.contextError 오브젝트

아티클, 배너, 컬렉션, 동적 배너 지원

Runtime 뷰어가 이미지의 크기를 조절하지 않고 대신에 지정된 크기에 가장 가까운 이미지 크기를 반환합니다.

이미지가 디바이스에 캐시되지 않으면 온디맨드 서비스에서 썸네일 이미지를 요청합니다. 대부분의 경우 이미지는 가까운 미래를 위해 캐시에 남아있을 것입니다.

 

getSocialSharingImage
(width, height, success, error)

width: 숫자 - 요청된 폭

width: 숫자 - 요청된 높이

success: 함수 - 성공 콜백

error: 함수 - 오류 콜백

성공 시: success 콜백의 인수로서의 소셜 공유에 대한 파일 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을 기준으로 하므로 아티클의 첫 페이지는 0이 됩니다. 이들 값은 아티클에 있는 콘텐츠의 물리적 위치를 반영합니다. HTML 아티클의 경우 totalPageCount는 1이고 pageNumber는 0이 됩니다.

이러한 메타데이터 속성에 대한 자세한 내용은 AEM Mobile과 서드 파티 시스템 통합을 참조하십시오.

속성 – EntityList

이름 유형 비고
entities 배열 엔티티의 목록입니다. 가능한 엔티티: “article”, “collection”, “banner”.
hasNextPage Boolean “true”인 경우 목록에 엔티티가 더 있습니다. getNextPage() 메소드를 사용하여 목록에서 엔티티의 다음 페이지를 검색하십시오.

메소드

이름 인수 응답 엔티티에 대한 지원 비고
getNextPage
(success, error)

success:
함수 – 성공 콜백

error:
함수 – 오류 콜백

성공 시: 엔티티 속성이 추가 Entity 항목을 포함하게 되며 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는 휴대폰이 지원되지 않기 때문에 태블릿만 반환합니다.)
cq.mobile.device.vendorId 문자열 아니요 iOS만 해당(iOS 개발자 가이드의 IdentifierForVendor 참조)

애플리케이션 API

가용성

이 플러그인은 전역 cq.mobile.application 오브젝트를 정의합니다. deviceready 이벤트 후에 사용할 수 있습니다.

속성 – 애플리케이션

이름 유형 휘발성 비고
cq.mobile.application.id 문자열 아니요 예: com.adobe.create
cq.mobile.application.pushNotificationToken 문자열 아니요 디바이스에 대한 푸시 알림 토큰(iOS의 디바이스 토큰, Android의 등록 ID, Windows 뷰어는 푸시 알림을 구현하지 않았기 때문에 그때까지 값은 “정의되지 않음”입니다.)
cq.mobile.application.runtimeVersion 문자열 아니요 예: 2015.5.1
cq.mobile.application.version 문자열 아니요 1.0.4와 같은 앱의 버전
cq.mobile.application.isAppSearchEnabled Boolean
검색 기능 활성화 여부 확인
cq.mobile.application.isSocialSharingEnabled Boolean 소셜 공유 기능 활성화 여부 확인

사용자 API

가용성

이 플러그인은 전역 cq.mobile.user 오브젝트를 정의합니다. deviceready 이벤트 후에 사용할 수 있습니다.

이벤트

이름 비고
isauthenticatedchanged 사용자가 인증 상태를 변경하면 이벤트가 트리거됩니다. 클라이언트는 최신 상태에 대한 사용자 오브젝트를 쿼리해야 합니다.
authtokenchanged 사용자 인증 토큰이 변경되면 이벤트가 트리거됩니다. 클라이언트는 최신 상태에 대한 사용자 오브젝트를 쿼리해야 합니다.

속성 – 애플리케이션

이름 유형 휘발성 비고
cq.mobile.user.authToken 문자열  
cq.mobile.user.isAuthenticated Boolean  

메소드

이름 인수 응답 비고
setAuthToken(authToken, success, error)

authToken: 문자열- authToken에 대한 요청 값

success: 함수 - 성공 콜백

error: 함수 - 오류 콜백

성공 시: 매개 변수 없이 성공 콜백 호출

실패 시: cq.mobile.userError 코드 세트로 오류 콜백 호출

이 호출은 일반 ID 공급자 설정을 갖거나 하나의 직접 권한 부여 공급자(ID 공급자 아님)만 갖는 프로젝트에서만 제대로 실행됩니다. 그 외의 경우에는 이 API가 호출되면 인증 지원 오류가 반환됩니다.

특별한 이유로(예: 502, 503 또는 504가 반환됨) setAuthToken 호출에 실패하는 경우 뷰어가 다시 한 번 시도하는 것이 정상입니다. 재시도가 실패하거나 실행되지 않으면 네트워크 오류가 반환됩니다.
이전 요청이 처리되고 있는 동안 이 API에 전달되는 모든 요청은 이전의 모든 요청이 성공 또는 실패를 반환하기 전까지 네트워크 속도 한계 초과 오류를 반환하게 됩니다.

1분 이내에 이 API로 전달되는 11번째 요청은 네트워크 속도 한계 초과 오류를 반환하며, 1분 이내에 전달되는 11번째 이후로 이어지는 요청은 1번째 요청 이후 모두 경과하게 됩니다.

launchSignInUX(error) error: 함수 - 오류 콜백 실패 시: cq.mobile.userError 코드 세트로 오류 콜백 호출

권한 서버를 통해 인증이 이루어지는 경우 기본 로그인 대화 상자가 표시됩니다.

ID 공급자를 통해 인증이 이루어지는 경우 디바이스 뷰어에서 인증 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 ID 공급자로 설정되어 있습니다. 이 API를 호출하면 해당 새로 고침 토큰을 사용하여 로그인 세션을 새로 고치게 됩니다.

두 가지 상황 모두에서 새로 고침이 실패할 수 있습니다. 이 경우 사용자는 로그아웃하게 됩니다.

새로 고침 기능을 지원하지 않는 SAML 또는 OAuth ID 공급자로 설정된 프로젝트에서 이 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

Entitlement API

가용성

이 플러그인은 권한 및 구매와 관련된 방식을 제공하는 전역 권한 오브젝트를 정의합니다. deviceready 이벤트 후에 사용할 수 있습니다.

속성 - 오퍼

이름 유형 비고
productId 문자열 포털의 제품 및 구독 섹션에 표시되는 제품/구독 ID입니다.
label 문자열 포털의 제품 및 구독 섹션에 표시되는 제품/구독 이름입니다. 사용자가 설정하지 않으면 null 값이 됩니다.
description 문자열 포털의 제품 및 구독 섹션에 표시되는 제품/구독 설명입니다. 사용자가 설정하지 않으면 null 값이 됩니다.
price 문자열 해당 스토어에서 반환되는 가격입니다. 제품이 무료인 경우 null입니다.
offerType 문자열 “구독” 또는 “제품”이 될 수 있습니다.

속성 - 구독 정보

이름 유형 비고
subscriptionOffers 배열 오퍼 오브젝트의 배열입니다. 사용자의 구독 상태가 활성이면 공란이 됩니다.
subscriptionState 오브젝트 subscriptionState 오브젝트입니다.

속성 - 구독 상태

이름 유형 비고
isSubscriber
Boolean 사용자가 한 번이라도 구독한 경험이 있으면 true입니다. subscriptionState.isSubscribersubscriptionState.store.isSubscribersubscriptionState.integrator.isSubscriber와 동일하다는 점을 참고하십시오.
isActiveSubscriber
Boolean 사용자의 구독 상태가 활성인 경우 true입니다.
store 오브젝트 제품 스토어에 대한 구독 상태를 포함하는 스토어 오브젝트입니다.
integrator 오브젝트 권한 통합자에 대한 구독 상태를 포함하는 통합자 오브젝트입니다.

속성 - 스토어

이름 유형 비고
isSubscriber
Boolean 사용자가 한 번이라도 구독한 경험이 있으면 true입니다.
isActiveSubscriber
Boolean 사용자의 구독 상태가 활성인 경우 true입니다.
expirationDate 숫자 만료일로부터 경과된 시간에 대한 밀리초 단위의 타임스탬프입니다. 스토어 또는 권한 통합자로부터의 구독에 만료일이 없는 경우 이 값은 null일 수 있습니다.
subscriptionType 문자열 "allAccess" 또는 "standard"일 수 있습니다. isSubscriber가 true인 경우에만 유효합니다.
id 문자열 스토어에서의 구독 제품에 대한 제품 ID입니다.

속성 - 통합자

이름 유형 비고
isSubscriber
Boolean 사용자가 한 번이라도 구독한 경험이 있으면 true입니다.
isActiveSubscriber
Boolean 사용자의 구독 상태가 활성인 경우 true입니다.
expirationDate 숫자 만료일로부터 경과된 시간에 대한 밀리초 단위의 타임스탬프입니다. 스토어 또는 권한 통합자로부터의 구독에 만료일이 없는 경우 이 값은 null일 수 있습니다.
customData 문자열 sibling isSubscriber가 false인 경우 customData는 설정되지 않습니다. isSubscriber가 true이면 설정되거나 설정되지 않을 수 있습니다. customData는 통합자에 의해 반환됩니다. 이는 Adobe에 대해 투명하고 해당 고객에게만 의미 있는 데이터를 포함하기 위함입니다.

메소드

이름 인수 응답 비고
getSubscriptionInfo(success, error)

success: 성공 콜백

error: 오류 콜백

성공 시: SubscriptionInfo 오브젝트

이 메소드는 현재 발행물 및 디바이스에 대한 구독 정보를 반환합니다. 1분 이내에 발생한 60번의 API 요청 이후 이 API에 이어지는 모든 요청은 첫 번째 요청 이후 1분이 경과하기 전까지는 오류를 반환하게 됩니다.

데스크탑 웹 뷰어는 이 API를 지원하지 않으며 항상 오류를 반환합니다.

getOffers(collectionName, success, error)

collectionName: 문자열 - 컬렉션의 이름

success: 함수 - 성공 콜백

error: 함수 - 오류 콜백

성공 시: 오퍼 오브젝트의 배열

실패 시: 채워진 코드 속성을 포함하는 오류

collectionName은 포털에서 검색된 이름과 일치해야 합니다.

요청한 엔티티를 찾을 수 없거나 엔티티가 제한되고 숨겨지는 경우 오류가 반환됩니다.

가능한 경우 요청한 엔티티에 대해 캐시된 오퍼가 반환됩니다. 그렇지 않으면 오퍼를 가져오기 위해 권한 부여 서비스에 대한 네트워크 요청이 발생합니다.

1분 이내에 권한 부여 서비스에 대해 발생한 60번의 네트워크 요청 이후 이 API에 이어지는 모든 요청은 첫 번째 요청 이후 1분이 경과하기 전까지는 오류를 반환합니다.

데스크탑 웹 뷰어는 이 API를 지원하지 않으며 항상 오류를 반환합니다.

purchaseOffer(productId, success, error)

productId: 문자열 - 구매에 대한 오퍼의 제품 ID

success: 함수 - 성공 콜백

error: 함수 - 오류 콜백

성공 시: 구매 요청 개시

실패 시: 오류 코드 호출

이 메소드는 구매 요청을 개시합니다.
restorePurchases(successCallback, errorCallback)

success: 함수 - 성공 콜백

error: 함수 - 오류 콜백

성공 시: 구입 복구 요청 개시

실패 시: 오류 코드 호출

이 메소드는 사용자에 대한 이전 구매의 복구를 개시합니다.

1분 내에 발생한 5번의 API 요청 이후 이 API에 이어지는 모든 요청은 첫 번째 요청 이후 1분이 경과하기 전까지는 오류를 반환하게 됩니다.

오류 - 권한

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()이 추가되었습니다(컨텍스트 탭 참조).
  • getChildren()으로 반환되는 목록에서 엔티티의 다음 페이지에 대한 요청에 getNextPage()가 추가되었습니다(컨텍스트 탭 참조).
  • cq.mobile.context 및 cq.mobile.user에서 사용되는 메소드에 대한 오류 코드 정의에 열거형 오브젝트가 추가되었습니다(컨텍스트 및 사용자 탭 참조).

 

이 작업에는 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License의 라이센스가 부여되었습니다.  Twitter™ 및 Facebook 게시물은 Creative Commons 약관을 적용받지 않습니다.

법적 고지 사항   |   온라인 개인 정보 보호 정책