Tutorial: Configurar seu aplicativo iOS para funcionar com os Hubs de Notificação do Azure

Este tutorial mostra como configurar os Hubs de Notificação do Azure e configurar credenciais para notificações por push para um dispositivo iOS por meio do serviço de Notificação por Push da Apple (APNS).

A execução deste tutorial é um pré-requisito para os tutoriais subsequentes do Objetive C e do Swift iOS e abrange as seguintes etapas:

  • Gere o arquivo de solicitação de assinatura de certificado.
  • Solicite notificações por push ao seu aplicativo.
  • Crie um perfil de provisionamento para o aplicativo.
  • Criar um hub de notificação.
  • Configure o hub de notificação com informações do APNS.

Pré-requisitos

Para concluir este tutorial, tem de ter uma conta ativa do Azure. Se não tiver uma conta, pode criar uma conta de avaliação gratuita em apenas alguns minutos. Para obter mais detalhes, veja Avaliação Gratuita do Azure.

Você também precisará do seguinte:

  • Uma conta de programador Apple ativa.
  • Um Mac com Xcode, juntamente com um certificado de programador válido instalado no seu Porta-chaves.
  • Um iPhone ou iPad com iOS versão 10 ou posterior.
  • O seu dispositivo físico registado no Portal Apple e associado ao seu certificado.

Certifique-se de ler a visão geral dos Hubs de Notificação do Azure se não estiver familiarizado com o serviço.

Nota

O hub de notificação será configurado para usar apenas o modo de autenticação Sandbox. Você não deve usar esse modo de autenticação para cargas de trabalho de produção.

Gerar o arquivo de solicitação de assinatura de certificado

O Serviço Apple Push Notification (APNS) utiliza certificados para autenticar as suas notificações push. Siga estas instruções para criar o certificado push necessário para enviar e receber notificações. Para obter mais informações sobre estes conceitos, veja a documentação oficial do Serviço Apple Push Notification.

Gere o arquivo CSR (Certificate Signing Request), que a Apple usa para gerar um certificado push assinado:

  1. No Mac, execute a ferramenta Acesso Keychain. Ele pode ser aberto a partir da pasta Utilitários ou da pasta Outros na Barra Inicial.

  2. Selecione Acesso às Chaves, expanda Assistente de Certificado e selecione Solicitar um Certificado de uma Autoridade de Certificação.

    Screenshot that highlights the Request a Certificate from a Certificate Authority menu option.

    Nota

    Por padrão, o Acesso às Chaves seleciona o primeiro item da lista. Isso pode ser um problema se você estiver na categoria Certificados e a Apple Worldwide Developer Relations Certification Authority não for o primeiro item da lista. Certifique-se de que tem um item não chave, ou que a chave Apple Worldwide Developer Relations Certification Authority está selecionada, antes de gerar o CSR (Pedido de Assinatura de Certificado).

  3. Selecione o seu Endereço de E-mail de Utilizador, introduza o valor do seu Nome Comum, certifique-se de que especifica Guardado no disco e, em seguida, selecione Continuar. Deixe o endereço de e-mail da autoridade de certificação em branco, pois não é necessário.

    Required certificate information

  4. Introduza um nome para o ficheiro CSR em Guardar Como, selecione a localização em Onde e, em seguida, selecione Guardar.

    Choose file name

    Esta ação salva o arquivo CSR no local selecionado. O local padrão é Área de trabalho. Memorize a localização escolhida para o ficheiro.

Em seguida, registre seu aplicativo na Apple, ative as notificações por push e carregue o CSR exportado para criar um certificado push.

Registar a aplicação para notificações push

Para enviar notificações push para uma aplicação iOS, registe a sua aplicação na Apple e registe-se também para receber notificações push.

  1. Se você ainda não registrou seu aplicativo, navegue até o Portal de provisionamento do iOS no Apple Developer Center. Inicie sessão no portal com o seu ID Apple e selecione Identificadores. Em seguida, selecione + para registrar um novo aplicativo.

    App IDs page

  2. Na tela Registrar um novo identificador, selecione o botão de opção IDs do aplicativo. Em seguida, selecione Continuar.

    Register new ID page

  3. Atualize os três valores seguintes para a sua nova aplicação e, em seguida, selecione Continuar:

    • Descrição: digite um nome descritivo para seu aplicativo.

    • ID do pacote: insira um ID do pacote do formulário Identificador da organização.Nome do produto , conforme mencionado no Guia de distribuição do aplicativo. Os valores Identificador da Organização e Nome do Produto devem corresponder ao identificador da organização e ao nome do produto que você usa ao criar seu projeto Xcode. Na captura de tela a seguir, o valor NotificationHubs é usado como um identificador da organização e o valor GetStarted é usado como o nome do produto. Verifique se o valor Bundle Identifier corresponde ao valor em seu projeto Xcode, para que o Xcode use o perfil de publicação correto.

      Register app ID

    • Notificações push: marque a opção Notificações por push na seção Recursos.

      Register new app ID

      Essa ação gera sua ID de aplicativo e solicita que você confirme as informações. Selecione Continuar e, em seguida, selecione Registar para confirmar o novo ID da aplicação.

      Confirm new App ID

      Depois de selecionar Registrar, você verá a nova ID do aplicativo como um item de linha na página Certificados, Identificadores e Perfis .

  4. Na página Certificados, Identificadores e Perfis, em Identificadores, localize o item de linha ID do Aplicativo que você acabou de criar e selecione sua linha para exibir a tela Editar a Configuração do ID do Aplicativo.

Criar um certificado para Hubs de Notificação

Nota

Com o lançamento do iOS 13, você só pode receber notificações silenciosas usando autenticação baseada em token. Se você estiver usando a autenticação baseada em certificado para suas credenciais APNS, deverá alternar para usar a autenticação baseada em token.

Um certificado é necessário para permitir que o hub de notificação funcione com APNS. Isso pode ser feito de duas maneiras:

  • Crie um arquivo .p12 que possa ser carregado diretamente nos Hubs de Notificação.

  • Crie um arquivo .p8 que possa ser usado para autenticação baseada em token (a abordagem mais recente).

A segunda opção tem uma série de benefícios em comparação com o uso de certificados, conforme documentado na autenticação baseada em token (HTTP/2) para APNS. No entanto, estão previstas medidas para ambas as abordagens.

Opção 1: Criar um certificado por push .p12 que possa ser carregado diretamente nos Hubs de Notificação

  1. Role para baixo até a opção Notificações por push marcada e selecione Configurar para criar o certificado.

    App ID

  2. A janela Certificados SSL do serviço de Notificação por Push da Apple é exibida. Selecione o botão Criar certificado na seção Certificado SSL de desenvolvimento.

    Create certificate

    A tela Criar um novo certificado é exibida.

    Nota

    Este tutorial utiliza um certificado de programação. É utilizado o mesmo processo ao registar um certificado de produção. Certifique-se de usar o mesmo tipo de certificado ao enviar notificações.

  3. Selecione Escolher arquivo, navegue até o local em que você salvou o arquivo CSR da primeira tarefa e clique duas vezes no nome do certificado para carregá-lo. Em seguida, selecione Continuar.

  4. Depois que o portal criar o certificado, selecione o botão Download . Salve o certificado e lembre-se do local no qual ele foi salvo.

    Download certificate

    O certificado é baixado e salvo na pasta Downloads .

    Locate certificate file

    Por padrão, o certificado de desenvolvimento baixado é chamado aps_development.cer.

  5. Faça duplo clique no certificado push aps_development.cer transferido. Esta ação instala o novo certificado na Keychain, conforme apresentado na imagem seguinte:

    Keychain access

    Embora o nome no seu certificado possa ser diferente, o nome será prefixado com o Apple Development iOS Push Services.

  6. No Acesso Keychain, clique com o botão direito do rato no novo certificado push que criou na categoria Certificados. Selecione Exportar, nomeie o arquivo, selecione o formato .p12 e selecione Salvar.

    Export certificate

    Você pode optar por proteger o certificado com uma senha, mas isso é opcional. Clique em OK se quiser ignorar a criação de senha. Tome nota do nome do ficheiro e da localização do certificado .p12 exportado. Eles são usados para habilitar a autenticação com APNS.

    Nota

    O nome e o local do arquivo .p12 podem ser diferentes do que é retratado neste tutorial.

Opção 2: Criar um certificado .p8 que possa ser usado para autenticação baseada em token

  1. Anote os seguintes detalhes:

    • Prefixo do ID do Aplicativo (este é um ID de Equipe)
    • ID do pacote
  2. De volta em Certificados, Identificadores e Perfis, clique em Chaves. Se você já tiver uma chave configurada para APNS, poderá reutilizar o certificado .p8 baixado logo após sua criação. Em caso afirmativo, pode ignorar os passos 3 a 5.

  3. Clique no botão (ou no +botão Criar uma chave) para criar uma nova chave .

  4. Forneça um valor adequado de Nome da chave, marque a opção Serviço de notificações por push da Apple (APNS) e clique em Continuar, seguido de Registrar na próxima tela.

  5. Clique em Download e, em seguida, mova o arquivo .p8 (prefixado com AuthKey_) para um diretório local seguro e, em seguida, clique em Concluído.

    Importante

    Certifique-se de manter seu arquivo .p8 em um lugar seguro (e salve um backup). Depois de baixar sua chave, ela não pode ser baixada novamente; A cópia do servidor é removida.

  6. Em Chaves, clique na chave que acabou de criar (ou numa chave existente se tiver optado por usá-la).

  7. Anote o valor do ID da chave.

  8. Abra seu certificado .p8 em um aplicativo adequado de sua escolha, como o Visual Studio Code, e anote o valor da chave. Este é o valor entre -----BEGIN PRIVATE KEY----- e -----END PRIVATE KEY----- .

    -----BEGIN PRIVATE KEY-----
    <key_value>
    -----END PRIVATE KEY-----
    

    Este é o valor de token que será usado posteriormente para configurar os Hubs de Notificação.

No final dessas etapas, você deve ter as seguintes informações para uso posterior em Configurar seu hub de notificação com informações de APNS:

  • ID da Equipa (ver passo 1)
  • ID do pacote (consulte a etapa 1)
  • ID da chave (consulte o passo 7)
  • Valor do token (o valor da chave .p8, consulte a etapa 8)

Criar um perfil de provisionamento

  1. Retorne ao Portal de Provisionamento do iOS, selecione Certificados, Identificadores e Perfis, selecione Perfis no menu esquerdo e selecione + para criar um novo perfil. A tela Registrar um novo perfil de provisionamento é exibida.

  2. Selecione Desenvolvimento de aplicativos iOS em Desenvolvimento como o tipo de perfil de provisionamento e, em seguida, selecione Continuar.

    Provisioning profile list

  3. Em seguida, selecione o ID do aplicativo criado na lista suspensa ID do aplicativo e selecione Continuar.

    Select App ID

  4. Na janela Selecionar certificados, selecione o certificado de desenvolvimento que você usa para assinatura de código e selecione Continuar. Este certificado não é o certificado push que você criou. Se um não existe, você deve criá-lo. Se existir um certificado, avance para o passo seguinte. Para criar um certificado de desenvolvimento, se não existir:

    1. Se você vir Nenhum certificado disponível, selecione Criar certificado.
    2. Na seção Software, selecione Desenvolvimento Apple. Em seguida, selecione Continuar.
    3. Na tela Criar um novo certificado, selecione Escolher arquivo.
    4. Navegue até o certificado de Solicitação de Assinatura de Certificado criado anteriormente, selecione-o e selecione Abrir.
    5. Selecione Continuar.
    6. Baixe o certificado de desenvolvimento e lembre-se do local em que ele foi salvo.
  5. Volte à página Certificados, Identificadores e Perfis, selecione Perfis no menu esquerdo e, em seguida, selecione + para criar um novo perfil. A tela Registrar um novo perfil de provisionamento é exibida.

  6. Na janela Selecionar certificados, selecione o certificado de desenvolvimento que você acabou de criar. Em seguida, selecione Continuar.

  7. Em seguida, selecione os dispositivos a serem usados para teste e selecione Continuar.

  8. Por fim, escolha um nome para o perfil em Nome do perfil de provisionamento e selecione Gerar.

    Choose provisioning profile name

  9. Quando o novo perfil de provisionamento for criado, selecione Download. Lembre-se do local em que ele foi salvo.

  10. Navegue até o local do perfil de provisionamento e clique duas vezes nele para instalá-lo em sua máquina de desenvolvimento Xcode.

Criar um hub de notificação

Nesta seção, você cria um hub de notificação e configura a autenticação com APNS usando o certificado por push .p12 ou a autenticação baseada em token. Se quiser usar um hub de notificação que já criou, pule para a etapa 5.

  1. Inicie sessão no portal do Azure.

  2. Selecione Todos os serviços no menu à esquerda e, em seguida, selecione Hubs de Notificação na seção Dispositivos móveis . Selecione o ícone de estrela ao lado do nome do serviço para adicionar o serviço à seção FAVORITOS no menu à esquerda. Depois de adicionar Hubs de Notificação aos FAVORITOS, selecione-o.

    Azure portal

  3. Na página Hubs de Notificação, selecione Adicionar na barra de ferramentas.

    Add toolbar button

  4. Na página Hubs de Notificação, execute as seguintes etapas:

    1. Insira um nome no Hub de Notificação.
    2. Insira um nome em Criar um novo namespace. Um namespace contém um ou mais hubs de notificação.
    3. Selecione um valor na lista suspensa Local . Esse valor especifica o local no qual você deseja criar o hub de notificação.
    4. Selecione um grupo de recursos existente no Grupo de Recursos ou crie um novo grupo de recursos.
    5. Selecione Criar.

    Set properties

  5. Selecione Notificações (o ícone de sino) e, em seguida, selecione Ir para recurso. Você também pode atualizar a lista na página Hubs de Notificação e selecionar seu hub.

    Portal notifications

  6. Selecione Políticas de Acesso na lista. Observe que as duas cadeias de conexão estão disponíveis para você. Você precisará deles mais tarde para lidar com notificações push.

    Importante

    Não use a política DefaultFullSharedAccessSignature em seu aplicativo. Isto destina-se a ser usado apenas no seu back-end.

    Connection strings

Configurar o hub de notificação com informações do APNS

Em Serviços de Notificação, selecione Apple (APNS) e siga as etapas apropriadas com base na abordagem escolhida anteriormente na seção Criando um certificado para Hubs de Notificação.

Nota

Use Produção para o Modo de Aplicativo somente se quiser enviar notificações por push aos usuários que compraram seu aplicativo na loja.

Opção 1: Usar um certificado push .p12

  1. Selecione Certificado.

  2. Selecione o ícone de ficheiro.

  3. Selecione o ficheiro .p12 que exportou anteriormente e, em seguida, selecione Abrir.

  4. Se necessário, especifique a senha correta.

  5. Selecione o modo Sandbox.

    Configure

  6. Selecione Guardar.

Opção 2: Usar autenticação baseada em token

  1. Selecione Token.

  2. Insira os seguintes valores adquiridos anteriormente:

    • ID da chave
    • ID do pacote
    • ID da Equipa
    • Token
  3. Escolha Sandbox

  4. Selecione Guardar.

Agora você configurou seu hub de notificação com APNS. Você também tem as cadeias de conexão necessárias para registrar seu aplicativo e enviar notificações por push.

Próximos passos

Neste tutorial, você criou e configurou um hub de notificação no Azure e o configurou para permitir que notificações sejam enviadas ao seu aplicativo por meio do Serviço de Notificação por Push da Apple (APNS). Em seguida, criaremos um aplicativo iOS de exemplo e integraremos o SDK dos Hubs de Notificações do Azure para que ele possa receber notificações por push enviadas pelo portal do Azure. Avance para o seguinte tutorial com base no idioma de sua escolha: