Partilhar via


Como lançar o Leitura Avançada

No visão geral, aprendeu sobre o Leitura Avançada e como este implementa técnicas comprovadas para melhorar a compreensão de leitura para aprendizes de línguas, leitores emergentes e alunos com diferenças de aprendizagem. Este artigo demonstra como lançar o Leitura Avançada usando JavaScript, Python, C#, Android ou iOS.

Pré-requisitos

  • Uma subscrição do Azure. Você pode criar um gratuitamente.
  • Um recurso Leitura Avançada configurado para autenticação Microsoft Entra. Siga estas instruções para se configurar. Salve a saída da sessão em um arquivo de texto para que você possa configurar as propriedades do ambiente.
  • Node.js e Yarn.
  • Um IDE como Visual Studio Code.

Criar um aplicativo Web Node.js com o Express

Crie um aplicativo Web Node.js com a ferramenta.

npm install express-generator -g
express --view=pug myapp
cd myapp

Instale as dependências do Yarn e adicione as dependências e , que serão usadas posteriormente no tutorial.

yarn
yarn add request
yarn add dotenv

Instale as bibliotecas axios e qs com o seguinte comando:

npm install axios qs

Configurar a autenticação

De seguida, escreva uma API backend para recuperar um token de autenticação Microsoft Entra.

Precisas de alguns valores do pré-requisito de configuração de autenticação do Microsoft Entra para esta parte. Consulte novamente o arquivo de texto que você salvou dessa sessão.

TenantId     => Azure subscription TenantId
ClientId     => Microsoft Entra ApplicationId
ClientSecret => Microsoft Entra Application Service Principal password
Subdomain    => Immersive Reader resource subdomain (resource 'Name' if the resource was created in the Azure portal, or 'CustomSubDomain' option if the resource was created with Azure CLI PowerShell. Check the Azure portal for the subdomain on the Endpoint in the resource Overview page, for example, 'https://[SUBDOMAIN].cognitiveservices.azure.com/')

Crie um novo arquivo chamado .env na raiz do seu projeto. Cole o código seguinte nele, fornecendo os valores dados quando criou o seu recurso Leitura Avançada. Não inclua aspas ou os caracteres e .

TENANT_ID={YOUR_TENANT_ID}
CLIENT_ID={YOUR_CLIENT_ID}
CLIENT_SECRET={YOUR_CLIENT_SECRET}
SUBDOMAIN={YOUR_SUBDOMAIN}

Certifique-se de não submeter esse arquivo no controlo de código-fonte, porque ele contém segredos que não devem ser tornados públicos.

Em seguida, abra app.js e adicione o seguinte à parte superior do arquivo. Isso carrega as propriedades definidas no arquivo .env como variáveis de ambiente no Node.

require('dotenv').config();

Abra o arquivo routes\index.js e substitua seu conteúdo pelo código a seguir.

Este código cria um ponto de extremidade de API que obtém um token de autenticação do Microsoft Entra usando a senha do seu service principal. Ele também recupera o subdomínio. Em seguida, ele retorna um objeto que contém o token e o subdomínio.

var request = require('request');
var express = require('express');
var router = express.Router();

router.get('/getimmersivereaderlaunchparams', function(req, res) {
    request.post ({
                headers: {
                    'content-type': 'application/x-www-form-urlencoded'
                },
                url: `https://login.windows.net/${process.env.TENANT_ID}/oauth2/token`,
                form: {
                    grant_type: 'client_credentials',
                    client_id: process.env.CLIENT_ID,
                    client_secret: process.env.CLIENT_SECRET,
                    resource: 'https://cognitiveservices.azure.com/'
                }
        },
        function(err, resp, tokenResponse) {
                if (err) {
                    return res.status(500).send('CogSvcs IssueToken error');
                }

                const token = JSON.parse(tokenResponse).access_token;
                const subdomain = process.env.SUBDOMAIN;
                return res.send({token: token, subdomain: subdomain});
        }
  );
});

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});

module.exports = router;

O endpoint da API getimmersivereaderlaunchparams deve estar protegido por algum tipo de autenticação (por exemplo, OAuth) para evitar que utilizadores não autorizados obtenham tokens para usar contra o seu serviço de Leitura Avançada e faturação; esse trabalho está fora do âmbito deste tutorial.

Lance o Leitura Avançada com conteúdos de exemplo

  1. Abra views\layout.pug e adicione o seguinte código sob a tag , antes dela . Estas etiquetas script carregam o SDK Leitura Avançada SDK e o jQuery.

    script(src='https://ircdname.azureedge.net/immersivereadersdk/immersive-reader-sdk.1.2.0.js')
    script(src='https://code.jquery.com/jquery-3.3.1.min.js')
    
  2. Abra views\index.pug e substitua seu conteúdo pelo código a seguir. Este código preenche a página com algum conteúdo de exemplo e adiciona um botão que inicia o Leitura Avançada.

    extends layout
    
    block content
          h2(id='title') Geography
          p(id='content') The study of Earth's landforms is called physical geography. Landforms can be mountains and valleys. They can also be glaciers, lakes or rivers.
          div(class='immersive-reader-button' data-button-style='iconAndText' data-locale='en-US' onclick='launchImmersiveReader()')
          script.
    
            function getImmersiveReaderLaunchParamsAsync() {
                    return new Promise((resolve, reject) => {
                        $.ajax({
                                url: '/getimmersivereaderlaunchparams',
                                type: 'GET',
                                success: data => {
                                        resolve(data);
                                },
                                error: err => {
                                        console.log('Error in getting token and subdomain!', err);
                                        reject(err);
                                }
                        });
                    });
            }
    
            async function launchImmersiveReader() {
                    const content = {
                            title: document.getElementById('title').innerText,
                            chunks: [{
                                    content: document.getElementById('content').innerText + '\n\n',
                                    lang: 'en'
                            }]
                    };
    
                    const launchParams = await getImmersiveReaderLaunchParamsAsync();
                    const token = launchParams.token;
                    const subdomain = launchParams.subdomain;
    
                    ImmersiveReader.launchAsync(token, subdomain, content);
            }
    
  3. A nossa aplicação Web está agora pronta. Inicie o aplicativo executando:

    npm start
    
  4. Abra o navegador e navegue até . Você deve ver o conteúdo acima na página. Selecione o botão Leitura Avançada para iniciar a Leitura Avançada com o seu conteúdo.

Especifique o idioma do seu conteúdo

O Leitura Avançada suporta muitas línguas diferentes. Você pode especificar o idioma do seu conteúdo seguindo estas etapas.

  1. Abra views\index.pug e adicione o seguinte código abaixo da tag que você adicionou na etapa anterior. Este código adiciona algum conteúdo em espanhol à sua página.

    p(id='content-spanish') El estudio de las formas terrestres de la Tierra se llama geografía física. Los accidentes geográficos pueden ser montañas y valles. También pueden ser glaciares, lagos o ríos.
    
  2. Em views\index.pug, adicione o seguinte código acima da chamada a . Este código transmite o conteúdo em espanhol para o Leitura Avançada.

    content.chunks.push({
      content: document.getElementById('content-spanish').innerText + '\n\n',
      lang: 'es'
    });
    
  3. Navegue novamente até . Deves ver o texto em espanhol na página e, quando selecionares Leitura Avançada, ele aparece também no Leitura Avançada.

Especifique a linguagem da interface Leitura Avançada

Por defeito, o idioma da interface Leitura Avançada corresponde às definições linguísticas do navegador. Também pode especificar a linguagem da interface do Leitura Avançada com o seguinte código.

  1. Em views\index.pug, substitua a chamada para pelo código a seguir.

    const options = {
        uiLang: 'fr',
    }
    ImmersiveReader.launchAsync(token, subdomain, content, options);
    
  2. Navegue para . Quando inicia o Leitura Avançada, a interface é mostrada em francês.

Lance o Leitura Avançada com conteúdos de matemática

Pode incluir conteúdo matemático no Leitura Avançada usando MathML.

  1. Modifique views\index.pug para incluir o seguinte código acima da chamada para :

    const mathML = '<math xmlns="https://www.w3.org/1998/Math/MathML" display="block"> \
      <munderover> \
        <mo>∫</mo> \
        <mn>0</mn> \
        <mn>1</mn> \
      </munderover> \
      <mrow> \
        <msup> \
          <mi>x</mi> \
          <mn>2</mn> \
        </msup> \
        <mo>ⅆ</mo> \
        <mi>x</mi> \
      </mrow> \
    </math>';
    
    content.chunks.push({
      content: mathML,
      mimeType: 'application/mathml+xml'
    });
    
  2. Navegue para . Quando abrir o Leitura Avançada e descer até ao fundo, verá a fórmula matemática.

Próximo passo

Pré-requisitos

  • Uma subscrição do Azure. Você pode criar um gratuitamente.
  • Um recurso Leitura Avançada configurado para autenticação Microsoft Entra. Siga estas instruções para se configurar. Salve a saída da sessão em um arquivo de texto para que você possa configurar as propriedades do ambiente.
  • Um IDE como Visual Studio Code.
  • Git.
  • Clone o SDK Leitura Avançada do GitHub.

Você pode instalar as seguintes ferramentas como parte das instruções neste guia:

Configurar credenciais de autenticação

Crie um novo arquivo chamado .env no diretório raiz do seu projeto. Cole os seguintes nomes e valores nele. Fornece os valores dados quando criaste o teu recurso Leitura Avançada.

TENANT_ID={YOUR_TENANT_ID}
CLIENT_ID={YOUR_CLIENT_ID}
CLIENT_SECRET={YOUR_CLIENT_SECRET}
SUBDOMAIN={YOUR_SUBDOMAIN}

Não coloque este ficheiro no controlo de versão porque contém informações confidenciais que não devem ser tornadas públicas.

Proteja o ponto de extremidade da API getimmersivereadertoken com alguma forma de autenticação, como OAuth. A autenticação impede que utilizadores não autorizados obtenham tokens para usar contra o seu serviço Leitura Avançada e faturação. Esse trabalho está além do escopo deste tutorial.

Criar uma aplicação web em Python no Windows

Instala Python.

Selecione a caixa Add Python to PATH e selecione Instalação personalizada.

Captura de ecrã do passo 1 de instalar Python com a caixa de seleção Adicionar Python ao Path.

Adicione Recursos Opcionais marcando caixas de seleção e selecione Avançar.

Captura de ecrã da Instalação Python passo 2 com funcionalidades opcionais.

Em Opções Avançadas, defina o caminho de instalação como sua pasta raiz, por exemplo, . Em seguida, selecione Instalar.

Gorjeta

Quando você define um caminho de instalação personalizado, a variável PATH ainda pode apontar para o caminho de instalação padrão. Verifique se o PATH aponta para a pasta personalizada.

Captura de ecrã do passo 3 de Instalar Python com localização personalizada.

Depois de terminar a instalação da Python, abra um prompt de comandos e use cd para ir à pasta Python Scripts.

cd C:\Python312\Scripts

Instale o Flask.

pip install flask

Instale Jinja2. É um motor de templates completo para Python.

pip install jinja2

Instale virtualenv. Esta ferramenta cria ambientes Python isolados.

pip install virtualenv

Instale virtualenvwrapper-win. A ideia por trás do virtualenvwrapper é facilitar o uso do virtualenv.

pip install virtualenvwrapper-win

Instale o módulo de solicitações. Requests é uma biblioteca HTTP licenciada por Apache2, escrita em Python.

pip install requests

Instale o módulo python-dotenv. Este módulo lê o par chave-valor do arquivo .env e os adiciona à variável de ambiente.

pip install python-dotenv

Crie um ambiente virtual.

mkvirtualenv.bat quickstart-python

Use para ir para a pasta raiz do projeto de exemplo.

cd C:\immersive-reader-sdk\js\samples\quickstart-python

Conecte o projeto de exemplo com o ambiente. Esta ação mapeia o ambiente virtual recém-criado para a pasta raiz do projeto de exemplo.

setprojectdir .

Ative o ambiente virtual.

activate

O projeto agora deve estar ativo e você verá algo como no prompt de comando.

Desative o ambiente.

deactivate

O prefixo deve ser removido porque o ambiente está desativado.

Para reativar o ambiente, execute a partir da pasta raiz do projeto de exemplo.

workon quickstart-python

Comece o Leitura Avançada com conteúdos de exemplo

Quando o ambiente estiver ativo, execute o projeto de exemplo inserindo a partir da pasta raiz do projeto de exemplo.

flask run

Abra o navegador e vá para .

Criar uma aplicação web em Python no OSX

Instala Python.

A pasta raiz Python, por exemplo, Python312, deve agora estar na pasta Applications. Abre o Terminal e usa cd para ir à pasta Python.

cd Python312

Instale o pip.

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

Execute o código a seguir para instalar o pip para o usuário conectado no momento para evitar problemas de permissões.

python get-pip.py --user
sudo nano /etc/paths
  • Digite sua senha, quando solicitado.
  • Adicione o caminho da instalação do pip à variável PATH.
  • Vá para a parte inferior do arquivo e insira o caminho que deseja adicionar como o último item da lista, por exemplo, .
  • Selecione CTRL+X para sair.
  • Digite Y para salvar o buffer modificado.

Pronto! Para testá-lo, em uma nova janela do Terminal, digite .

Instale o Flask.

pip install flask --user

Instale Jinja2. É um motor de templates completo para Python.

pip install Jinja2 --user

Instale virtualenv. Esta ferramenta cria ambientes Python isolados.

pip install virtualenv --user

Instale virtualenvwrapper. A ideia por trás do virtualenvwrapper é facilitar o uso do virtualenv.

pip install virtualenvwrapper --user

Instale o módulo de solicitações. Requests é uma biblioteca HTTP licenciada por Apache2, escrita em Python.

pip install requests --user

Instale o módulo python-dotenv. Este módulo lê o par chave-valor do arquivo .env e os adiciona à variável de ambiente.

pip install python-dotenv --user

Escolha uma pasta onde deseja manter seus ambientes virtuais e execute este comando:

mkdir ~/.virtualenvs

Utilize cd para ir à pasta de aplicação de exemplo do SDK do Leitura Avançada em Python.

cd immersive-reader-sdk/js/samples/quickstart-python

Crie um ambiente virtual.

mkvirtualenv -p /usr/local/bin/python3 quickstart-python

Conecte o projeto de exemplo com o ambiente. Esta ação mapeia o ambiente virtual recém-criado para a pasta raiz do projeto de exemplo.

setprojectdir .

Ative o ambiente virtual.

activate

O projeto agora deve estar ativo e você verá algo como no prompt de comando.

Desative o ambiente.

deactivate

O prefixo deve ser removido porque o ambiente está desativado.

Para reativar o ambiente, execute a partir da pasta raiz do projeto de exemplo.

workon quickstart-python

Comece o Leitura Avançada com conteúdos de exemplo

Quando o ambiente estiver ativo, execute o projeto de exemplo inserindo a partir da pasta raiz do projeto de exemplo.

flask run

Abra o navegador e vá para .

Próximo passo

Pré-requisitos

  • Uma subscrição do Azure. Você pode criar um gratuitamente.
  • Um recurso Leitura Avançada configurado para autenticação Microsoft Entra. Segue estas instruções para começares a configuração. Salve a saída da sessão em um arquivo de texto para que você possa configurar as propriedades do ambiente.
  • .NET SDK instalado.
  • Visual Studio Code ou Visual Studio com a carga de trabalho ASP.NET e desenvolvimento web instalada.

Configurar a autenticação

Este guia usa DefaultAzureCredential da biblioteca Azure.Identity para realizar autenticação com o serviço Leitura Avançada. Não é necessário nenhum segredo de cliente no seu código. Localmente, o DefaultAzureCredential usa as suas credenciais assinadas no CLI do Azure ou no Visual Studio. Quando implementado no Azure, utiliza automaticamente a identidade gerida atribuída à sua aplicação.

Precisas apenas do teu recurso Leitura Avançada subdomain. Guarde o valor do subdomínio quando criou o seu recurso Leitura Avançada.

Inicie sessão no Azure para que DefaultAzureCredential possa descobrir as suas credenciais durante o desenvolvimento local:

az login

Assegure o endpoint da API GetTokenAndSubdomain sob algum tipo de autenticação, como OAuth. A autenticação impede que utilizadores não autorizados obtenham tokens para usar contra o seu serviço Leitura Avançada e faturação. Esse trabalho está além do escopo deste tutorial.

Criar uma aplicação web ASP.NET Core MVC

Crie uma nova aplicação web ASP.NET Core MVC.

dotnet new mvc -n QuickstartSampleWebApp
cd QuickstartSampleWebApp

Instale o pacote Azure.Identity para adquirir Microsoft Entra tokens sem quaisquer segredos do cliente:

dotnet add package Azure.Identity

Configurar o controlador

Open Controllers\HomeController.cs e substitua o seu conteúdo pelo seguinte código. Substitui {YOUR_SUBDOMAIN} pelo subdomínio do teu recurso Leitura Avançada. Este controlador utiliza DefaultAzureCredential para adquirir um token de autenticação Microsoft Entra e passa o token e o subdomínio para a visualização.

using System.Threading;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Microsoft.AspNetCore.Mvc;

namespace QuickstartSampleWebApp.Controllers
{
    public class HomeController : Controller
    {
        // Replace with your Immersive Reader resource subdomain.
        private const string Subdomain = "{YOUR_SUBDOMAIN}";

        private static readonly TokenCredential Credential = new DefaultAzureCredential();
        private static readonly string[] Scopes =
            new[] { "https://cognitiveservices.azure.com/.default" };

        private async Task<string> GetTokenAsync()
        {
            var tokenRequestContext = new TokenRequestContext(Scopes);
            var accessToken = await Credential
                .GetTokenAsync(tokenRequestContext, CancellationToken.None)
                .ConfigureAwait(false);
            return accessToken.Token;
        }

        public async Task<IActionResult> Index()
        {
            ViewData["Token"]     = await GetTokenAsync();
            ViewData["Subdomain"] = Subdomain;
            return View();
        }
    }
}

Lance o Leitura Avançada com conteúdos de exemplo

  1. Abra Views\Home\Index.cshtml e substitua o seu conteúdo pelo seguinte código. Este código preenche a página com conteúdo de exemplo e adiciona um botão que inicia o Leitura Avançada.

    @{
        ViewData["Title"] = "Immersive Reader C# Quickstart";
        var token     = ViewData["Token"]     as string;
        var subdomain = ViewData["Subdomain"] as string;
    }
    
    <div class="container">
        <button class="immersive-reader-button"
                data-button-style="iconAndText"
                data-locale="en">
        </button>
    
        <h1 id="ir-title">Geography</h1>
        <div id="ir-content" lang="en-us">
            <p>
                The study of Earth's landforms is called physical geography.
                Landforms can be mountains and valleys.
                They can also be glaciers, lakes, or rivers.
            </p>
        </div>
    </div>
    
    @section Scripts {
        <script src="https://ircdname.azureedge.net/immersivereadersdk/immersive-reader-sdk.1.4.0.js">
        </script>
        <script>
            function handleLaunchImmersiveReader() {
                const token     = "@token";
                const subdomain = "@subdomain";
    
                const data = {
                    title: document.getElementById('ir-title').innerText,
                    chunks: [{
                        content: document.getElementById('ir-content').innerHTML,
                        mimeType: 'text/html'
                    }]
                };
    
                const options = {
                    onExit: exitCallback
                };
    
                ImmersiveReader.launchAsync(token, subdomain, data, options)
                    .catch(function (error) {
                        console.log(error);
                        alert('Error in launching the Immersive Reader. Check the console.');
                    });
            }
    
            function exitCallback() {
                console.log('This is the callback function. It is executed when the Immersive Reader closes.');
            }
    
            document.querySelector('.immersive-reader-button')
                .addEventListener('click', handleLaunchImmersiveReader);
        </script>
    }
    
  2. Inicia a aplicação.

dotnet run
  1. Abra o seu browser e vá para . Deves ver o conteúdo de exemplo na página. Selecione o botão Leitura Avançada para iniciar a Leitura Avançada com o seu conteúdo.

Especifique o idioma do seu conteúdo

O Leitura Avançada suporta muitas línguas diferentes. Você pode especificar o idioma do seu conteúdo seguindo estas etapas.

  1. Em Views\Home\Index.cshtml, adicione o seguinte parágrafo dentro de , após o parágrafo em inglês existente:

    <p lang="es">
        El estudio de las formas terrestres de la Tierra se llama geografía física.
        Los accidentes geográficos pueden ser montañas y valles.
        También pueden ser glaciares, lagos o ríos.
    </p>
    
  2. No objeto do bloco de script, atualize o array para incluir o parágrafo em espanhol:

    const data = {
        title: document.getElementById('ir-title').innerText,
        chunks: [
            {
                content: document.getElementById('ir-content').innerHTML,
                mimeType: 'text/html'
            }
        ]
    };
    

    O Leitura Avançada deteta automaticamente as línguas dentro do conteúdo HTML, pelo que não são necessárias alterações adicionais ao array de chunks.

  3. Navegue novamente até . Deves ver o texto em espanhol na página e, quando selecionares Leitura Avançada, ele aparece também no Leitura Avançada.

Especifique a linguagem da interface Leitura Avançada

Por defeito, a linguagem da interface do Leitura Avançada corresponde às definições linguísticas do seu navegador. Também podes especificar explicitamente.

  1. Em Views\Home\Index.cshtml, atualize o objeto no bloco de script:

    const options = {
        uiLang: 'fr',
        onExit: exitCallback
    };
    
  2. Navegue para . Quando inicia o Leitura Avançada, a interface é mostrada em francês.

Lance o Leitura Avançada com conteúdos de matemática

Pode incluir conteúdo matemático no Leitura Avançada usando MathML.

  1. Em Views\Home\Index.cshtml, adicione o seguinte código dentro de , pouco antes da chamada:

    const mathML = '<math xmlns="https://www.w3.org/1998/Math/MathML" display="block">'
        + '<munderover><mo>∫</mo><mn>0</mn><mn>1</mn></munderover>'
        + '<mrow><msup><mi>x</mi><mn>2</mn></msup><mo>ⅆ</mo><mi>x</mi></mrow>'
        + '</math>';
    
    data.chunks.push({
        content: mathML,
        mimeType: 'application/mathml+xml'
    });
    
  2. Navegue para . Quando abrir o Leitura Avançada e descer até ao fundo, verá a fórmula matemática.

Próximo passo

Pré-requisitos

  • Uma subscrição do Azure. Você pode criar um gratuitamente.
  • Um recurso Leitura Avançada configurado para autenticação Microsoft Entra. Siga estas instruções para se configurar. Salve a saída da sessão em um arquivo de texto para que você possa configurar as propriedades do ambiente.
  • Git.
  • Clone o SDK Leitura Avançada a partir de GitHub.
  • Estúdio Android.

Configurar credenciais de autenticação

  1. Inicie o Android Studio e abra o projeto SDK Leitura Avançada a partir do diretório immersive-reader-sdk/js/samples/quickstart-java-android (Java) ou do diretório immersive-reader-sdk/js/samples/quickstart-kotlin (Kotlin).

    Gorjeta

    Talvez seja necessário deixar o sistema atualizar os plug-ins do Gradle para pelo menos a versão 8.

  2. Para criar uma nova pasta de ativos, clique com o botão direito do mouse no aplicativo e selecione Pasta -Pasta de ativos na lista suspensa.

    Captura de ecrã da opção da pasta Ativos.

  3. Clique com o botão direito do mouse em ativos e selecione Novo -Arquivo. Nomeie o arquivo env.

    Captura de tela do campo de entrada de nome para criar o arquivo env.

  4. Adicione os seguintes nomes e valores e forneça valores conforme apropriado. Não coloque este ficheiro no controlo de versão porque contém informações confidenciais que não devem ser tornadas públicas.

    TENANT_ID=<YOUR_TENANT_ID>
    CLIENT_ID=<YOUR_CLIENT_ID>
    CLIENT_SECRET=<YOUR_CLIENT_SECRET>
    SUBDOMAIN=<YOUR_SUBDOMAIN>
    

Comece o Leitura Avançada com conteúdos de exemplo

Escolha um emulador de dispositivo no AVD Manager e execute o projeto.

Próximos passos

Pré-requisitos

  • Uma subscrição do Azure. Você pode criar um gratuitamente.
  • Um recurso Leitura Avançada configurado para autenticação Microsoft Entra. Siga estas instruções para se configurar. Salve a saída da sessão em um arquivo de texto para que você possa configurar as propriedades do ambiente.
  • macOS e Xcode.
  • Git.
  • Clone o SDK Leitura Avançada do GitHub.

Configurar credenciais de autenticação

  1. No Xcode, selecione Abrir projeto existente. Abra o arquivo immersive-reader-sdk/js/samples/ios/quickstart-swift.xcodeproj.

  2. No menu superior, selecione ProdutoEsquemaEditar Esquema.

  3. No modo de exibição Executar, selecione a guia Argumentos.

  4. Na seção Variáveis de Ambiente, adicione os seguintes nomes e valores. Fornece os valores dados quando criaste o teu recurso Leitura Avançada.

    TENANT_ID=<YOUR_TENANT_ID>
    CLIENT_ID=<YOUR_CLIENT_ID>
    CLIENT_SECRET<YOUR_CLIENT_SECRET>
    SUBDOMAIN=<YOUR_SUBDOMAIN>
    

Não confirme essa alteração no controle do código-fonte porque ela contém segredos que não devem ser tornados públicos.

Comece o Leitura Avançada com conteúdos de exemplo

No Xcode, selecione um simulador de dispositivo e execute o projeto a partir dos controles ou digite Ctrl+R.

Próximo passo