Configurar notificações de EMM

O Google Play gera notificações, chamadas de notificações EMM, em resposta a vários eventos que afetam uma empresa. Por exemplo, quando um app é aprovado, o sistema envia uma notificação ProductApprovalEvent.

As notificações do EMM são associadas a uma conta de serviço empresarial (ESA, na sigla em inglês) específica. Como EMM, você pode configurar seu console para mostrar alertas ou mensagens aos administradores de TI da empresa com base nas notificações recebidas.

As notificações de EMM são enviadas usando o Google Cloud Pub/Sub. Para informações detalhadas sobre como configurar notificações do Pub/Sub, consulte a Visão geral do assinante e o Guia do assinante de pull.

Para confirmar que você configurou o sistema para receber notificações EMM do Google Play e recuperar o nome do tópico do Cloud Pub/Sub ao qual você precisa conectar sua assinatura, chame Enterprises.sendTestPushNotification.

O envio de uma notificação de teste valida a integração do EMM com o serviço Google Cloud Pub/Sub para a empresa. Se as notificações EMM estiverem corretamente configuradas, a API vai retornar o seguinte:

    {
        topic_name: "/projects/project-name/topics/play-work-012345",
        message_id: "128976912439"
    }

Notificações pull

O Google Cloud Pub/Sub oferece suporte a dois mecanismos de notificação diferentes: pull e push. No entanto, apenas as notificações de pull são recomendadas. A abordagem de pull não requer nenhuma configuração de servidor externo e funciona com ESAs criadas de forma programática e manual. Outra vantagem das notificações de pull é que elas exigem pouca ou nenhuma configuração ou manutenção adicional dos clientes. Use Enterprises.pullNotificationSet e Enterprises.acknowledgeNotificationSet para receber e confirmar notificações de EMM em conexões de saída de longa duração.

Ao chamar Enterprises.pullNotificationSet, recomendamos deixar o requestMode com o valor padrão (waitForNotifications). Isso faz com que a solicitação aguarde até que uma ou mais notificações estejam presentes antes de retornar uma resposta. Se nenhuma notificação estiver presente após algum tempo, a solicitação vai retornar uma lista de notificações vazia. Depois disso, você poderá tentar a solicitação novamente.

Depois de receber as notificações, chame Enterprises.acknowledgeNotificationSet para garantir que as mesmas notificações não sejam retornadas na próxima vez que você chamar Enterprises.pullNotificationSet.

Também é possível definir requestMode como returnImmediately ao chamar Enterprises.pullNotificationSet. Você vai receber uma resposta à solicitação imediatamente, contendo notificações pendentes ou uma lista vazia se não houver notificações. Essa opção requestMode pode ser útil quando você testa inicialmente a implementação de notificações.

Exemplos de notificações de EMM

Confira alguns exemplos de eventos e os tipos de notificação que eles geram:

Observação:os seguintes tipos de notificação foram descontinuados: ProductApprovalEvent, AppUpdateEvent, NewPermissionsEvent, AppRestrictionsSchemaChangeEvent, ProductAvailabilityChangeEvent e NewDeviceEvent. Para AppUpdateEvent, use o modo de atualização de alta prioridade de acordo com nossas recomendações.

DescriçãoNotificação
Uma notificação de teste é solicitada pela API EMM do Google Play. Você precisa enviar uma notificação de teste para confirmar que seu sistema pode receber as notificações publicadas pelo Google Play e saber o nome do tópico usado para todas as notificações associadas ao Google Play. TestPushNotification
Um dispositivo recém-provisionado está pronto para ser gerenciado pela API EMM do Google Play. Agora é possível chamar APIs que exigem o deviceId do dispositivo (Installs, por exemplo) e APIs que retornam um recurso Devices. Essa notificação só é enviada depois que a primeira conta é provisionada em um dispositivo gerenciado. DESCONTINUADO NewDeviceEvent
Um administrador marca um aplicativo como aprovado ou reprovado no Google Play gerenciado. DESCONTINUADO ProductApprovalEvent
O tempo limite de uma instalação pendente em um dispositivo foi atingido. Por exemplo, uma solicitação de instalação push é aceita, mas o dispositivo não pode ser acessado por vários dias, portanto, a instalação não pode ser confirmada. O sistema envia uma notificação de tempo limite de instalação.InstallFailureEvent
Uma nova versão de um app é publicada. A atualização está disponível para um ou mais dispositivos, mas não necessariamente para todos. DESCONTINUADO AppUpdateEvent
Uma atualização de app exige que uma nova permissão seja aprovada pelo administrador para que uma atualização ou uma nova instalação possa ocorrer. Essa notificação é enviada quando o conjunto de permissões aceitas do app é diferente do conjunto de permissões solicitadas. DESCONTINUADO NewPermissionsEvent
Uma nova versão de um app é publicada e inclui um esquema de configurações gerenciadas novo ou modificado. Quando um desenvolvedor faz o upload de um novo APK, o Google Play compara o esquema no manifesto com o esquema na versão anterior do app. Se o esquema tiver mudado, ele notificará as empresas que aprovaram o app. DESATUALIZADO AppRestrictionsSchemaChangeEvent
Um app disponível fica indisponível ou um app indisponível é adicionado novamente ao Google Play. A disponibilidade do app muda se um desenvolvedor cancelar a publicação ou se ele for removido do Google Play. A disponibilidade também muda se um app indisponível for adicionado novamente ao Google Play. DESCONTINUADO ProductAvailabilityChangeEvent
Uma notificação relacionada a um upgrade empresarial. Um upgrade empresarial é um processo que atualiza um pacote de contas do Google Play gerenciado para um Managed Google Domain. EnterpriseUpgradeEvent