Notificações por push com os Hubs de Notificação do Azure: perguntas frequentes

Geral

Qual é a estrutura de recursos dos Hubs de Notificação?

Os Hubs de Notificação do Azure têm dois níveis de recursos: hubs e namespaces. Um hub é um recurso de push único que pode armazenar as informações de push entre plataformas de um aplicativo. Um namespace é uma coleção de hubs em uma região. O mapeamento recomendado corresponde a um namespace com um aplicativo. Dentro de um namespace, você pode ter um hub de produção que funcione com seu aplicativo de produção, um hub de teste que funcione com seu aplicativo de teste e assim por diante.

Qual é o modelo de preço para Hubs de Notificação?

Os detalhes de preços mais recentes podem ser encontrados na página Preços dos Hubs de Notificação . Os Hubs de Notificação são cobrados no nível do namespace. (Para a definição de um namespace, consulte "Qual é a estrutura de recursos dos Hubs de Notificação?") Os Hubs de Notificação oferecem três camadas:

  • Gratuito: esta camada é um bom ponto de partida para explorar os recursos de push. Não é recomendado para aplicativos de produção. Você recebe 500 dispositivos e 1 milhão de pushes incluídos por assinatura por mês, sem garantia de contrato de nível de serviço (SLA).
  • Básico: essa camada (ou a camada Padrão) é recomendada para aplicativos de produção menores. Você recebe 200.000 dispositivos e 10 milhões de pushes incluídos por assinatura por mês como linha de base.
  • Padrão: essa camada é recomendada para aplicativos de produção de médio a grande porte. Você recebe 10 milhões de dispositivos e 10 milhões de pushes incluídos por assinatura por mês como linha de base. Inclui telemetria avançada (dados adicionais sobre o status de push fornecidos).

Recursos de camada padrão:

  • Telemetria avançada: você pode usar a Telemetria de Hubs de Notificação por Mensagem para rastrear todas as solicitações por push e o Feedback do Sistema de Notificação da Plataforma para depuração.
  • Multilocação: você pode trabalhar com credenciais do Sistema de Notificação de Plataforma em um nível de namespace. Essa opção permite que você divida facilmente os locatários em hubs dentro do mesmo namespace.
  • Envio agendado: você pode agendar notificações para serem enviadas a qualquer momento.
  • Operações em massa: habilita a funcionalidade Exportar/Importar registros, conforme descrito no documento Exportar/Importar registros.

O que é o SLA dos Hubs de Notificação?

Para as camadas dos Hubs de Notificação Básico e Padrão, os aplicativos configurados corretamente podem enviar notificações por push ou executar operações de gerenciamento de registro pelo menos 99,9% do tempo. Para saber mais sobre o SLA, vá para a página SLA dos Hubs de Notificação.

Nota

Como as notificações por push dependem de sistemas de notificação de plataforma de terceiros, como o Push Notification Service (APNs) da Apple e o Firebase Cloud Messaging (FCM) do Google, não há garantia de SLA para a entrega dessas mensagens. Depois que os Hubs de Notificação enviam os lotes para os Sistemas de Notificação da Plataforma (SLA garantido), é responsabilidade dos Sistemas de Notificação da Plataforma entregar os pushes (sem SLA garantido).

Como faço para atualizar ou fazer downgrade do meu hub ou namespace para uma camada diferente?

Vá para os Hubs de Notificação do portal>do Azure, Namespaces ou Hubs de Notificação. Selecione o recurso que deseja atualizar e vá para Nível de preço. Observe os seguintes requisitos:

  • A camada de preços atualizada se aplica a todos os hubs no namespace com o qual você está trabalhando.
  • Se a contagem de dispositivos exceder o limite da camada para a qual você está fazendo downgrade, será necessário excluir dispositivos antes de fazer o downgrade.

Design e desenvolvimento

Quais plataformas do lado do servidor são suportadas?

SDKs de servidor estão disponíveis para .NET, Java, Node.js, PHP e Python. As APIs dos Hubs de Notificação são baseadas em interfaces REST, portanto, você pode trabalhar diretamente com APIs REST se estiver usando plataformas diferentes ou não quiser dependência extra. Para obter mais informações, vá para a página APIs REST dos Hubs de Notificação.

Quais plataformas de cliente são suportadas?

As notificações push são compatíveis com iOS, Android, Windows Universal, Windows Phone, Android China (via Baidu), Xamarin iOS e Android e Safari. Para obter mais informações, consulte a página Tutoriais de Introdução aos Hubs de Notificação .

Você suporta mensagens de texto, e-mail ou notificações da Web?

Os Hubs de Notificação enviam notificações para dispositivos que executam aplicativos móveis. Ele não fornece recursos de e-mail ou mensagem de texto. Os Hubs de Notificação também não fornecem um serviço de entrega de notificações por push no navegador pronto para uso. Os clientes podem implementar esse recurso usando o SignalR sobre as plataformas suportadas do lado do servidor.

Quantos dispositivos posso suportar se enviar notificações push através dos Hubs de Notificação?

Consulte a página Preços dos Hubs de Notificação para obter detalhes sobre o número de dispositivos suportados.

Se você precisar de suporte para mais de 10 milhões de dispositivos registrados, deverá particionar seus dispositivos em vários namespaces.

Quantas notificações push posso enviar?

Dependendo da camada selecionada, os Hubs de Notificação do Azure aumentam automaticamente com base no número de notificações que fluem pelo sistema.

Nota

O custo geral de utilização pode aumentar com base no número de notificações push enviadas. Verifique se você está ciente dos limites de camada descritos na página Preços dos Hubs de Notificação .

Nossos clientes usam os Hubs de Notificação para enviar milhões de notificações push diariamente. Você não precisa fazer nada de especial para dimensionar o alcance de suas notificações por push, desde que esteja usando os Hubs de Notificação do Azure.

Quanto tempo demora até as notificações push enviadas chegarem ao meu dispositivo?

Em um cenário de uso normal, onde a carga de entrada é consistente e uniforme, os Hubs de Notificação do Azure podem processar pelo menos 1 milhão de envios de notificação por push por minuto. Essa taxa pode variar dependendo do número de tags, da natureza dos envios recebidos e de outros fatores externos.

Durante o tempo de entrega estimado, o serviço calcula os destinos por plataforma e encaminha mensagens para o Serviço de Notificação por Push (PNS) com base nas tags ou expressões de tags registradas. É da responsabilidade do PNS enviar notificações para o dispositivo.

O PNS não garante nenhum SLA para a entrega de notificações. No entanto, a maioria das notificações por push é entregue aos dispositivos de destino em poucos minutos (normalmente dentro de 10 minutos) a partir do momento em que são enviadas aos Hubs de Notificação. Algumas notificações podem levar mais tempo.

Nota

Os Hubs de Notificação do Azure têm uma política em vigor para descartar quaisquer notificações por push que não sejam entregues ao PNS em 30 minutos. Esse atraso pode acontecer por vários motivos, mas mais comumente porque o PNS está limitando seu aplicativo.

Existe alguma garantia de latência?

Devido à natureza das notificações push (elas são entregues por um PNS externo específico da plataforma), não há garantia de latência. Normalmente, a maioria das notificações push é entregue em poucos minutos.

Onde os Hubs de Notificação do Azure armazenam dados?

Os Hubs de Notificação do Azure armazenam dados de registro do cliente na região selecionada pelo cliente. Os Hubs de Notificação fornecem cobertura de recuperação de desastres de metadados (o nome dos Hubs de Notificação, a cadeia de conexão e outras informações críticas). Para todas as regiões, exceto Brasil, Sul e Sudeste Asiático, o backup de metadados é hospedado em uma região diferente (geralmente a região emparelhada do Azure). Para as regiões Brasil Sul e Sudeste Asiático, os backups são armazenados na mesma região para acomodar os requisitos de residência de dados para essas regiões.

O que preciso considerar ao projetar uma solução com namespaces e hubs de notificação?

Aplicação/ambiente móvel

  • Use um hub de notificação por aplicativo móvel, por ambiente.
  • Em um cenário multilocatário, cada locatário deve ter um hub separado.
  • Nunca compartilhe o mesmo hub de notificação para ambientes de produção e teste. Essa prática pode causar problemas ao enviar notificações. (A Apple oferece terminais Sandbox e Production Push, cada um com credenciais separadas.)
  • Por padrão, você pode enviar notificações de teste para seus dispositivos registrados por meio do portal do Azure ou do componente integrado do Azure no Visual Studio. O limite é definido como 10 dispositivos selecionados aleatoriamente do pool de registros.

Nota

Se o hub foi originalmente configurado com um certificado de sandbox da Apple e, em seguida, foi reconfigurado para usar um certificado de produção da Apple, os tokens de dispositivo originais são inválidos. Tokens inválidos fazem com que os pushes falhem. Separe seus ambientes de produção e teste e use hubs diferentes para ambientes diferentes.

Credenciais PNS

Quando um aplicativo móvel é registrado no portal do desenvolvedor de uma plataforma (por exemplo, Apple ou Google), um identificador de aplicativo e tokens de segurança são enviados. O back-end do aplicativo fornece esses tokens ao PNS da plataforma para que as notificações push possam ser enviadas aos dispositivos. Os tokens de segurança podem assumir a forma de certificados (por exemplo, Apple iOS ou Windows Phone) ou chaves de segurança (por exemplo, Google Android ou Windows). Eles devem ser configurados em hubs de notificação. A configuração geralmente é feita no nível do hub de notificação, mas também pode ser feita no nível do namespace em um cenário multilocatário.

Espaços de Nomes

Os namespaces podem ser usados para agrupamento de implantação. Eles também podem ser usados para representar todos os hubs de notificação para todos os locatários do mesmo aplicativo em um cenário multilocatário.

Geo-distribuição

A distribuição geográfica nem sempre é crítica em cenários de notificação por push. Vários PNSes (por exemplo, APNs ou FCM) que entregam notificações por push aos dispositivos não são distribuídos uniformemente.

Se você tiver um aplicativo usado globalmente, poderá criar hubs em namespaces diferentes usando o serviço Hubs de Notificação em diferentes regiões do Azure ao redor do mundo.

Nota

Não recomendamos este acordo porque aumenta o seu custo de gestão, especialmente para registos. Só deve ser feito se houver uma necessidade explícita.

Devo fazer registos a partir do back-end da aplicação ou diretamente através de dispositivos cliente?

Os registros do back-end do aplicativo são úteis quando você precisa autenticar clientes antes de criar o registro. Eles também são úteis quando você tem tags que devem ser criadas ou modificadas pelo back-end do aplicativo com base na lógica do aplicativo. Para obter mais informações, vá para as páginas Backend Registration guidance e Backend Registration guidance 2 .

O que é o modelo de segurança de entrega de notificações push?

Os Hubs de Notificação do Azure usam um modelo de segurança baseado em assinatura de acesso compartilhado. Você pode usar os tokens de assinatura de acesso compartilhado no nível de namespace raiz ou no nível de hub de notificação granular. Os tokens de assinatura de acesso compartilhado podem ser definidos para seguir diferentes regras de autorização, por exemplo, para enviar permissões de mensagem ou para ouvir permissões de notificação. Para obter mais informações, consulte o documento do modelo de segurança dos Hubs de Notificação.

Como devo lidar com carga útil sensível em notificações push?

Todas as notificações são entregues aos dispositivos alvo pelo PNS da plataforma. Quando uma notificação é enviada para os Hubs de Notificação do Azure, ela é processada e passada para o respetivo PNS.

Todas as conexões, do remetente aos Hubs de Notificação do Azure e ao PNS, usam HTTPS.

Nota

Os Hubs de Notificação do Azure não registram a carga útil de mensagens.

Para enviar cargas úteis confidenciais, recomendamos o uso de um padrão Secure Push. O remetente entrega uma notificação de ping com um identificador de mensagem para o dispositivo sem a carga útil sensível. Quando o aplicativo no dispositivo recebe a carga, o aplicativo chama uma API segura diretamente para buscar os detalhes da mensagem. Para obter um guia sobre como implementar esse padrão, vá para a página do tutorial Secure Push dos Hubs de Notificação.

Operations

Que suporte é fornecido para a recuperação de desastres?

Consulte Alta disponibilidade para Hubs de Notificação do Azure.

Todos os meus dados são armazenados de forma encriptada?

Os Hubs de Notificação do Azure criptografam todos os dados do cliente em repouso, com exceção das marcas de registro. Por esse motivo, você não deve armazenar dados pessoais ou confidenciais usando tags.

Existe capacidade de log de auditoria?

Sim. Todas as operações de gerenciamento dos Hubs de Notificação atualizam o Log de Atividades do Azure ao qual está exposto no portal do Azure. O Log de Atividades do Azure oferece informações sobre as operações executadas em recursos em suas assinaturas. Usando o Registro de atividades, você pode determinar o quê, quem e quando para quaisquer operações de gravação (PUT, POST, DELETE) feitas para os recursos em sua assinatura. Você também pode entender o status das operações e outras propriedades relevantes. No entanto. o log de atividades não inclui a operação de leitura (GET).

Monitorizar e resolver problemas

Quais recursos de solução de problemas estão disponíveis?

Os Hubs de Notificação do Azure fornecem vários recursos para solução de problemas, especialmente para o cenário mais comum de notificações descartadas. Para obter detalhes, consulte o white paper de solução de problemas dos Hubs de Notificação.

Quais recursos de telemetria estão disponíveis?

Os Hubs de Notificação do Azure permitem exibir dados de telemetria no portal do Azure. Os detalhes das métricas estão disponíveis na página Métricas dos Hubs de Notificação .

Você também pode acessar métricas programaticamente. Para obter mais informações, consulte os seguintes artigos que podem estar em inglês:

Nota

Notificações bem-sucedidas significam simplesmente que as notificações push foram entregues ao PNS externo (por exemplo, APNs para iOS e macOS ou FCM para dispositivos Android). É da responsabilidade do PNS entregar as notificações aos dispositivos alvo. Normalmente, o PNS não expõe as métricas de entrega a terceiros.