요구 사항

사전 지식

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

요구 제품

  • AEM Mobile

소개

Adobe Experience Manager On-Demand Services API를 통해 서드 파티 개발자는 온디맨드 서비스와의 통합을 추진할 수 있습니다. 이들 서비스를 통해 다음과 같은 작업이 가능합니다.

  • 아티클 관리
  • 컬렉션 관리
  • 제품 관리
  • 푸시 알림 관리

On-Demand Services API(이전 명칭 “Content Producer Service API”)는 온디맨드 포털(https://aemmobile.adobe.com)에서 사용되는 API와 동일합니다.

Adobe Digital Publishing Solution Content Producer Service API

AEM 제작과 통합

AEM을 사용하여 AEM Mobile 앱용 콘텐츠를 제작할 수 있습니다. 자세한 내용은 Adobe 담당자에게 문의하십시오.

서드 파티 통합

아래의 편집 워크플로 시스템인 콘텐츠 관리 시스템(CMS) 및 웹 기반 제작 솔루션에 대해 Adobe 파트너로부터의 통합이 가능합니다.

CMS 시스템

웹 기반 제작
워크플로 시스템

CMS 비디오 튜토리얼

CMS와 통합: Drupal 및 WordPress

통합 비디오 개요

Klaasjan Tukker와 Mike Yang이 MAX 2015 컨퍼런스에서 고급 워크플로 가능성에 대해 다음의 프레젠테이션을 진행했습니다.

Adobe API를 사용한 고급 워크플로 가능성 (1:25:57)

다운로드

On-Demand Services API를 사용하여 작업을 시작하려면 아래에 첨부된 파일을 다운로드하십시오.

참고:

아래에 나열된 소프트웨어를 다운로드함으로써 AEM Mobile Services용 API 라이선스, Adobe.com 사용 약관 및 Adobe 온라인 개인정보 보호정책을 읽었으며 이에 동의함을 인지합니다.

다운로드

이 .zip 파일에는 다음 항목이 포함되어 있습니다.

  • API 설명서
  • JSON 스키마 정의
  • 코드 예제
  • InDesign 스크립팅 예제
  • API 키 요청 양식

 

API 설명서 사용 방법

API 설명서(Swagger로 제작)를 보려면 웹 서버(예: MAMP)의 폴더에서 파일을 압축 해제하십시오.

호스트 URL이 http://localhost:8888/aemmobile-swagger 문서를 불러오는 경우에는 다음 단계를 건너뛸 수 있습니다.

“service.json” 파일을 열고 55번 행을 수정하여 basePath를 자신의 문서에 액세스할 수 있는 호스트와 경로로 설정하십시오. 예:

#53     "contact": "wwds@adobe.com"
#54   },
#55   "basePath": "http://localhost:8888/your-custom-path"
#56 }

웹 브라우저를 열고 문서를 배포한 위치를 검색합니다. 이제 On-Demand Services API를 볼 수 있습니다.

 

프로젝트, 역할 및 사용자 설정

프로젝트를 설정하고, 역할을 만들고, 사용자에게 액세스 권한을 부여합니다. 자세한 내용은 아래의 도움말 항목을 참조하십시오.

“마스터 계정” 또는 “전체 프로젝트” 관리 권한이 부여된 ID와 동일한 Adobe ID를 사용하지 않는 것이 좋습니다. On-Demand Services API를 통해 진행할 수 있도록 허용하려는 작업에 대해서만 액세스 권한을 갖는 Adobe ID를 만드십시오.

참고:

여기서 제공되는 예제를 실행하려면 신규 프로젝트로 시작해야 합니다.

API 키

On-Demand Services API를 이용하고 서드 파티와 통합하려면 API 키가 필요합니다.

API 키 요청

On-Demand Services API에 액세스하려면 API 키를 요청해야 합니다. API 키를 요청하려면 PDF 양식을 작성하십시오. 작성한 양식을 Adobe 개발자 지원(wwds@adobe.com)으로 전송합니다.

다운로드

API 키가 필요한 경우 또는 기존 키를 사용해야 하는 경우에 대한 자세한 내용은 AEM Mobile API 키 사용을 참조하십시오.

device_id 및 device_token 생성

API 키를 수신하고 나면 device_id 및 device_token을 생성할 수 있습니다. https://aex.aemmobile.adobe.com으로 이동하여 다음 작업을 수행합니다.

  • API 키 입력
  • 요청 양식에서 화이트리스트에 요청한 Adobe ID로 로그인

모든 조건을 충족하면 device_id 및 device_token이 생성됩니다.

예제 파일 사용 방법

예제 파일의 압축을 풀고 자신의 계정과 API 키를 반영하도록 표준 값을 변경합니다. 그 전에 온디맨드 포털에서 프로젝트를 새로 만들고 API 예제와 통신하는 데 사용할 Adobe ID에 역할을 할당해야 합니다.

변경:

  • config/credentials.php

AEX 서비스에서 “client_id”(내 API 키), “client_secret”, “device_token”, “device_id”에 대한 값을 변경하거나 추가합니다.

“client_version”에 대한 값을 설정합니다. 이는 On-Demand Services API와의 통신 시 자신의 “system”을 식별하기 위한 것입니다. 예: “aemmobile-learn-api-doc-1.0”

실행:

  • demo/01_get_access_token.php

올바르게 설정되면 응답으로 “access_token”을 수신하게 됩니다. 이 access_token을 이후의 서비스 호출 시 사용하십시오.

변경:

  • config/credentials.php

“access_token”에 대한 값을 추가합니다.

실행:

  • demo/02_get_user_permissions.php

올바르게 설정되면 응답으로 device_id/device_token이 부여된 Adobe ID가 액세스한 프로젝트의 목록을 수신하게 됩니다.

작업하고자 하는 프로젝트를 선택하십시오. (이는 최근에 새로 제작된 프로젝트여야 합니다.) 프로젝트 ID는 “8dbeb5da-ca73-d0da-b0b0-885fb83e7ae8”과 같은 GUID입니다.

변경:

  • Config/parameters.php

위에서 입수한 내 프로젝트 ID를 사용하여 “publication_id”를 업데이트합니다.

실행:

  • demo/03_update_home_collection.php

올바르게 설정되면 최상위 수준의 컬렉션이 썸네일과 배경 이미지를 업로드하고, 제품 ID를 설정하고, 기본 레이아웃을 연계할 수 있는 게시 가능한 상태가 됩니다.

변경:

  • config/parameters.php

대상 프로젝트가 2차 최상위 수준의 컬렉션인 경우에는 태블릿에 대해 “collection_home_name”의 값을 “topLevelContent”에서 “topLevelTabletContent”(휴대폰의 경우에는 “topLevelPhoneContent”)로 업데이트하시기 바랍니다.

이제 예제의 나머지 부분을 실행할 준비가 되었습니다. 예제를 실행할 때 온디맨드 포털의 프로젝트에 대한 콘텐츠 및 레이아웃 섹션을 브라우저에 열어 두십시오. 예제를 실행하는 동안 발생하는 변경 사항들을 브라우저에서 실시간으로 확인할 수 있습니다.

 

아티클 제작

HTML이나 InDesign을 사용하여 아티클용 콘텐츠를 제작할 수 있습니다.

HTML 아티클

HTML로 제작한 아티클은 CSS/JS를 사용하여 콘텐츠를 시각적으로 스타일링할 수 있으며 반응형으로 만들 수 있습니다. 모든 HTML 콘텐츠는 동일한 폴더 내에 있어야 합니다(하위 폴더 허용됨). HTML 파일은 manifest.xml 파일을 통해 압축 파일로 패키징됩니다. manifest 파일은 어떤 아티클이 아티클 패키지에 들어 있으며 MD5 체크섬을 포함하는지 보여줍니다. (AEM Mobile용 HTML 아티클 제작을 참조하십시오.)

폴더에서 아티클 파일을 생성하려면 데스크탑 유틸리티를 사용하거나 ‘class/manifest.php’의 예제 패키저를 사용할 수 있습니다.

InDesign 아티클

Adobe InDesign CS6 이상 버전을 사용하여 고정 레이아웃 아티클 파일을 만들 수 있습니다. Digital Publishing 플러그인을 사용하여 InDesign 콘텐츠를 아티클 파일로 내보낼 수 있습니다. (InDesign에서 AEM Mobile 아티클 제작을 참조하십시오.)

“exportDpsArticle” 기능을 사용하여 내보내기 과정을 스크립트할 수 있습니다. 자세한 내용은 스크립팅을 사용하여 InDesign 기반의 아티클 제작을 참조하십시오.

질문 및 지원

이 문서에 관한 내용이나 On-Demand Services API 사용 방법에 대한 질문이 있는 경우 API / 통합 포럼에 게시하시기 바랍니다. 일대일 지원이 필요한 경우 Adobe 개발자 지원(wwds@adobe.com)으로 문의하십시오.

변경 로그

2017년 6월 20일

문서 업데이트:

  • 설명 부분의 오타가 수정되었습니다.

2017년 2월 7일

문서 업데이트:

  • Producer Services 전체에 걸쳐 동적 공유 콘텐츠에 대한 지원이 추가되었습니다.

JSON 스키마 업데이트:

  • 동적 공유 콘텐츠에 대한 JSON 스키마 신규 추가

API 예:

  • 동적 공유 콘텐츠에 대한 지원이 추가되었습니다.

2016년 11월 1일

문서 업데이트:

  • 엔티티 상태에 대한 일괄 반환이 추가되었습니다.
  • Producer 및 Ingestion Services 전반에 걸쳐 동적 배너에 대한 지원이 추가되었습니다.
  • Notification Service API를 통한 Android 푸시 알림에 대한 지원이 추가되었습니다.
  • 지정한 인덱스에서 컬렉션의 콘텐츠 요소 목록을 업데이트하는 기능이 추가되었습니다.

JSON 스키마 업데이트:

  • 동적 배너에 대한 JSON 스키마 신규 추가

업데이트된 API 예:

  • 컬렉션의 콘텐츠 요소 목록에 엔티티를 첨부하기 전 해당 엔티티가 이미 존재하는지 확인하기 위한 Collection::updateContentElements() 업데이트
  • 동적 배너에 대한 지원 추가
  • 데모 스크립트(#13–15)에 동적 배너 추가

2016년 7월 12일

문서 업데이트:

  • 업데이트된 제품 및 제품 번들

2016년 6월 30일

문서 업데이트:

  • 통합 서비스에 대한 PDF 업로드 관련 정보 추가

JSON 스키마 업데이트: 2016년 7월 12일

문서 업데이트:

  • 추가적인 메타데이터 필드 추가:
    • contentSize
    • availabilityDate (제품 및 제품 번들만 해당)
    • availabilityDateTimezone (제품 및 제품 번들만 해당)

업데이트된 API 예:

  • 데모: #05e 아티클 1로 PDF 파일 업로드
  • 데모: #05f 아티클 1로 PDF 파일 업로드 및 가로 스와이프 설정
  • 데모: #05g 아티클 1에 대한 통합 상태 확인
  • 자동 로더를 사용하도록 전환하여 PHP 스크립트별 필수 클래스 로드

2016년 5월 10일

문서 업데이트:

  • 통합 서비스가 application/pdf 헤더 수용
  • 알려진 게시/게시 취소 및 프리플라이트 작업 상태 추적
    • POST /job이 해당 작업에 대한 워크플로 ID 반환
    • GET /status/{publicationID}/publication/00000000-0000-0000-0000-000000000000이 현재 워크플로 ID 반환(가능한 경우)
    • 현재 워크플로 ID(가능한 경우)를 마지막으로 알려진 워크플로 ID와 비교
      • 현재 워크플로 ID === 마지막으로 알려진 워크플로 ID인 경우 마지막 작업이 여전히 진행 중임
      • 현재 워크플로 ID !== 마지막으로 알려진 워크플로 ID인 경우 마지막 작업이 완료되었으며 다른 작업이 진행 중임
      • 현재 워크플로 ID가 비어 있는 경우 마지막 작업이 완료되었으며 진행 중인 다른 작업이 없음

업데이트된 API 예:

  • 데모: #05d 업로드된 콘텐츠 파일 크기 확인
  • 데모: #08c 마지막으로 알려진 워크플로 상태 추적

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

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