Requisitos

Conhecimento necessário

  • Noções básicas sobre o AEM Mobile
  • Conhecimento sobre criação e publicação de conteúdo por meio do portal sob demanda padrão

Produtos necessários

  • AEM Mobile

Introdução

As On-Demand Services APIs do Adobe Experience Manager permitem que um desenvolvedor terceirizado se integre com os Serviços sob demanda. Esses serviços lhe permitem:

  • Gerenciar artigos
  • Gerenciar coleções
  • Gerenciar produtos
  • Gerenciar notificações por push

As On-Demand Services APIs (anteriormente denominadas “Content Producer Service APIs”) são as mesmas APIs usadas pelo portal sob demanda (https://aemmobile.adobe.com)).

Content Producer Service APIs da Adobe Digital Publishing Solution

Integração com a criação no AEM

Você pode usar o AEM para produzir conteúdo para aplicativos do AEM Mobile. Fale com um representante da Adobe para obter mais informações.

Integrações com terceiros

Há integrações disponíveis (de parceiros da Adobe) com os seguintes sistemas de fluxo de trabalho editorial, sistemas de gerenciamento de conteúdo (CMS) e soluções de criação baseadas na Web:

Sistemas CMS

  • Wordpress (desenvolvido por Studio Mercury)
  • Drupal (desenvolvido por DPCI)
Criação baseada na web
Sistemas de fluxo de trabalho

Tutorial em vídeo de CMS

Integração com CMS: Drupal e WordPress

Visão geral sobre integração em vídeo

Klaasjan Tukker e Mike Yang realizaram esta apresentação sobre possibilidades de fluxo de trabalho avançado na conferência MAX 2015:

Advanced Workflow Possibilities with the Adobe APIs (Possibilidades de fluxo de trabalho avançado com as APIs Adobe) (1:25:57)

Downloads

Para começar a trabalhar com a On-Demand Services API, baixe os arquivos relacionados abaixo.

Observação:

Ao baixar o software relacionado abaixo, eu reconheço que li e concordo com os termos da licença para APIs do AEM Mobile Services, os Termos de uso em Adobe.com e a política de privacidade online da Adobe.

Download

Esse arquivo .zip contém os seguintes itens:

  • Documentação da API
  • Definições do JSON schema
  • Exemplos de código
  • Exemplos de script do InDesign
  • Formulário de solicitação da chave de API

 

Como usar a documentação da API

Para exibir a documentação da API (criada com o Swagger), descompacte os arquivos em uma pasta no seu servidor Web (por exemplo, MAMP).

Se o URL hospedado para a documentação do swagger for http://localhost:8888/aemmobile-swagger, você poderá ignorar a etapa a seguir.

Abra o arquivo “service.json” e modifique a linha 55 para definir o basePath para a hospedagem+caminho onde a documentação pode ser acessada. Por exemplo:

#53     "contact": "wwds@adobe.com"
#54   },
#55   "basePath": "http://localhost:8888/seu-caminho-personalizado"
#56 }

Abra o navegador da Web e navegue até o local onde você implantou a documentação. A On-Demand Services API deve estar visível.

 

Configuração de projetos, funções e usuários

Configure um projeto, crie funções e conceda acesso aos usuários. Para obter mais informações, consulte os seguintes artigos de ajuda:

Uma boa prática é evitar usar a mesma Adobe ID de alguém que recebeu direitos de administração de “conta mestre” ou de “projeto total”. Crie uma Adobe ID que tenha acesso somente às operações que você deseja permitir por meio da On-Demand Services API.

Observação:

Para executar os exemplos abaixo, comece com um novo projeto.

Chaves de API

Para acessar a On-Demand Services API e fazer integração com sistemas de terceiros, você precisa de uma chave de API.

Solicitação de uma chave de API

Para acessar a On-Demand Services API, é necessário solicitar uma chave de API. Para solicitar a chave de API, preencha o formulário PDF. Envie o formulário preenchido ao suporte do Adobe Developer: wwds@adobe.com

Download

Para obter mais informações sobre quando uma chave de API é necessária ou quando usar uma existente, consulte Uso da chave de API do AEM Mobile.

Geração de device_id e device_token

Depois de receber sua chave da API, você poderá gerar a device_id e o device_token. Vá para https://aex.aemmobile.adobe.com e faça o seguinte:

  • Forneça a chave da API
  • Faça logon com a Adobe ID solicitada para a lista de permissões (no formulário de solicitação)

Se todas as condições forem atendidas, uma device_id e um device_token serão gerados.

Como usar os arquivos de exemplo

Descompacte os exemplos e altere os valores padrão para refletir sua conta e as chaves da API. Verifique se você criou um projeto novo no portal sob demanda e atribuiu uma função para a Adobe ID que será usada para a comunicação nos exemplos de API.

Alterar:

  • config/credentials.php

Altere/adicione os valores para “client_id” (sua chave da API), “client_secret”, “device_token” e “device_id” (do serviço AEX).

Defina o valor de “client_version”; isso serve para identificar o “system” na comunicação com a On-Demand Services API. Por exemplo, “aemmobile-learn-api-doc -1.0”

Executar:

  • demo/01_get_access_token.php

Se estabelecida corretamente, a resposta deverá fornecer um “access_token”. Use esse access_token nas chamadas de serviço de acompanhamento.

Alterar:

  • config/credentials.php

Adicione o valor para o “access_token”.

Executar:

  • demo/02_get_user_permissions.php

Se estabelecida corretamente, a resposta deverá fornecer uma lista de projetos à qual a Adobe ID (para a qual o device_id/device_token foi gerado) tem acesso.

Selecione o projeto com que deseja interagir. (Deve ser um projeto novo e recém-criado.) A ID do projeto é um GUID como “8dbeb5da-ca73-d0da-b0b0-885fb83e7ae8”.

Alterar:

  • Config/parameters.php

Atualize “publication_id” com a ID do projeto recebida acima.

Executar:

  • demo/03_update_home_collection.php

Se estabelecida corretamente, isso colocará a coleção de nível superior em um estado publicável, fazendo upload da miniatura e da imagem de fundo, configurando a ID de produto e associando o layout padrão.

Alterar:

  • config/parameters.php

Se o projeto de destino é uma coleção de 2 níveis superiores, atualize o valor de “collection_home_name” de “topLevelContent” para “topLevelTabletContent” para tablets (ou “topLevelPhoneContent” para telefones).

Agora você está pronto para executar o restante dos exemplos. Quando estiver executando os exemplos, mantenha um navegador com o portal sob demanda aberto na seção “Conteúdo e layouts” para os projetos. Você pode ver as alterações acontecendo ao vivo em seu navegador enquanto executa os exemplos.

 

Criação de artigos

O conteúdo dos artigos pode ser criado com HTML ou com o InDesign.

Artigos HTML

Os artigos criados com HTML podem usar CSS/JS para formatar visualmente o conteúdo e torná-lo responsivo. Todo o conteúdo HTML deve estar na mesma pasta (subpastas permitidas). Os arquivos HTML serão agrupados em um “arquivo zip” com um arquivo manifest.xml. O arquivo manifest lista quais artigos são parte do pacote de artigos e contém a soma de verificação MD5. (Consulte Criar artigos HTML para o AEM Mobile.)

Para gerar os arquivos de artigos de uma pasta, você pode usar o utilitário para desktop ou usar o empacotador de exemplos em “class/manifest.php”.

Artigos do InDesign

Usando a Adobe InDesign CS6 ou posterior, você pode criar arquivos de artigos de layout fixo. Usando o plug-in da Digital Publishing, você pode exportar o conteúdo do InDesign para um arquivo de artigos. (Consulte Criar artigos do AEM Mobile no InDesign.)

Para escrever o processo de exportação, você pode usar a função “exportDpsArticle”. Para obter detalhes, consulte Criar artigos baseados no InDesign com scripting.

Perguntas e suporte

O fórum da API/integração está disponível para publicar quaisquer perguntas relativas a este artigo ou ao uso das On-Demand Services APIs. Se estiver procurando por suporte individual, entre em contato com o suporte do Adobe Developer (wwds@adobe.com).

Log de alterações

20 de junho de 2017

Documentação atualizada:

  • Erro de digitação na descrição corrigido.

7 de fevereiro de 2017

Documentação atualizada:

  • Adicionado suporte ao conteúdo compartilhado dinâmico em Producer Services.

JSON Schema atualizado:

  • Novo JSON Schema para conteúdo compartilhado dinâmico.

Exemplos de API:

  • Adicionado suporte para conteúdo compartilhado dinâmico.

1º de novembro de 2016

Documentação atualizada:

  • Retorno em lote do status da entidade adicionado.
  • Adicionado suporte aos banners dinâmicos em Producer Services e Ingestion Services.
  • Adicionado suporte a notificações por push para Android por meio da API Notification Service.
  • Recursos adicionados para atualizar a lista de elementos de conteúdo da coleção em um índice especificado.

JSON Schema atualizado:

  • Novo esquema JSON para banners dinâmicos adicionado

Exemplos de API atualizados:

  • Atualiza Collection::updateContentElements() para verificar se já existem antes de adicionar a entidade à lista de elementos de conteúdo da coleção
  • Adicionado suporte aos banners dinâmicos
  • Banner dinâmico adicionado aos scripts de demonstração (#13–15)

12 de julho de 2016

Documentação atualizada:

  • Produto e pacote do produto atualizados

30 de junho de 2016

Documentação atualizada:

  • Adicionadas informações sobre upload de PDFs para o serviço de ingestão

JSON Schema atualizado: 12 de julho de 2016

Documentação atualizada:

  • Adicionados campos de metadados adicionais:
    • contentSize
    • availabilityDate (somente produto e pacote do produto)
    • availabilityDateTimezone (somente produto e pacote do produto)

Exemplos de API atualizados:

  • Demonstração: #05e atualizar arquivo PDF ao primeiro artigo
  • Demonstração: #05f atualizar arquivo PDF ao primeiro artigo e definir deslize horizontal
  • Demonstração: #05g verificar status de ingestão para o primeiro artigo
  • Alternado para usar o carregador automático para carregar as classes necessárias por script PHP

10 de maio de 2016

Documentação atualizada:

  • O serviço de ingestão agora aceita o cabeçalho: aplicativo/pdf
  • Rastreie o status de uma publicação/um cancelamento de publicação conhecidos e trabalhos de comprovação
    • POST/job retornará a ID do fluxo de trabalho para este trabalho
    • GET/status/{publicationID}/publication/00000000-0000-0000-0000-000000000000 retornará a ID de fluxo de trabalho atual (se disponível)
    • Compare a ID de fluxo de trabalho atual (se disponível) com a última ID de fluxo de trabalho conhecida
      • se a ID de fluxo de trabalho atual === última ID de fluxo de trabalho conhecida, então, o último trabalho ainda está em andamento
      • se a ID atual de fluxo de trabalho !== última ID de fluxo de trabalho conhecida, então, o último trabalho está concluído e outro está em progresso
      • se a ID de fluxo de trabalho atual estiver vazia, então, o último trabalho está concluído e nenhum outro trabalho está em andamento

Exemplos de API atualizados:

  • Demonstração: #05d verificar tamanho atual do arquivo de conteúdo enviado
  • Demonstração: #08c rastrear o último status conhecido do fluxo de trabalho

Esta obra está licenciada sob uma licença não adaptada da Creative Commons Attribution-Noncommercial-Share Alike 3.0  As publicações do Twitter™ e do Facebook não são cobertas pelos termos do Creative Commons.

Avisos legais   |   Política de privacidade online