Pergunta

Estou implementando o serviço push em meu aplicativo e pensando no emblema do aplicativo.Meu aplicativo é um aplicativo de e-mail (mais ou menos) e quero notificar o usuário via push sobre novas mensagens adicionadas à caixa de entrada, quero o emblema = número de novas mensagens na caixa de entrada.

Pensei em fazer isso no lado do servidor (provedor), verificando novas mensagens e enviando o número como crachá.

A questão é:Existe uma maneira de incrementar automaticamente o crachá do aplicativo, sem precisar calcular o valor do crachá no servidor e depois enviá-lo como parte da carga útil push para o APSN?

Talvez haja uma maneira de enviar no campo do emblema JSON alguma variável como "++" ou algo parecido.Algum truque para isso?Ou preciso usar o sistema de contagem do lado do servidor?

Foi útil?

Solução

Não, você terá que rastrear isso no lado do servidor.Se você não incluir nenhum valor para o selo, ele será removido completamente.

É claro que isso ocorrerá apenas se o usuário receber a notificação e o aplicativo não estiver em execução/ele optar por não iniciá-lo.Se o usuário iniciar o aplicativo ou já estiver em execução, você poderá fazer o que quiser em relação ao incremento.

ATUALIZAÇÃO de março de 2014: Veja os comentários para uma possível atualização.Não faço push há vários anos, então não fui capaz de verificar isso sozinho.

Outras dicas

É meio possível, mas há uma compensação.

Você sempre pode enviar o total não lido como um valor JSON complementar como parte da carga útil do push (o push ignora chaves que não entende explicitamente).Assim que o usuário abrir o aplicativo, leia o valor e ajuste o selo programaticamente por meio do UIApplication applicationIconBadgeNumber propriedade.

O problema de fazer isso dessa maneira é que o push ajusta o valor do emblema mesmo que o usuário não abra o aplicativo (ou seja,quando recebem o aviso e o usuário clica em 'Cancelar' em vez de 'Visualizar').Nesses casos, seu selo não mudará, mas assim que eles executarem o aplicativo (se clicarem em 'Visualizar'), seu aplicativo poderá corrigi-lo.

Você pode experimentar os serviços de back-end App42, que fornecem incremento automático da contagem de crachás push, que é mantido no lado do servidor.Para mais detalhes você pode seguir o link de blog.Aqui está o conteúdo da postagem do blog:

Aqui estão alguns casos de uso que podem ser alcançados por meio da contagem incremental automática de crachás no App42 Push Notification.

Para incrementar automaticamente o push badge em 1, você precisa enviar uma mensagem push conforme mostrado abaixo.

PushNotificationService pushNotificationService = App42API.BuildPushNotificationService (); // Initializing PushNotification Service.
string userName = "UserName";
string message= "{'badge':'increment'}";
pushNotificationService.SendPushMessageToUser(userName,message, new UnityCallBack())

Observação:O exemplo explicado é para Unity/C#, mas o mesmo processo também pode ser aplicado em outros.

Se você deseja estipular qualquer número para o crachá ou deseja reduzir a contagem do crachá a zero, você pode usar este método para atualizar a contagem conforme a notificação é clicada pelo usuário.Você deve chamar updatePushBadgeforDevice ou updatePushBadgeforUser neste caso.

PushNotificationService pushNotificationService = App42API.BuildPushNotificationService (); // Initializing PushNotification Service.
string userName = "UserName";
string deviceToken = "DeviceToken";
int badges = 10; // For clear count make it 0 
pushNotificationService.UpdatePushBadgeforDevice(userName, deviceToken, badges,  new UnityCallBack());

PushNotificationService pushNotificationService = App42API.BuildPushNotificationService (); // Initializing PushNotification Service.
string userName = "UserName";
int badges = 10; // For clear count make it 0
pushNotificationService.UpdatePushBadgeforUser(userName, badges,  new UnityCallBack());

updatePushBadgeforDevice – Este método é usado para atualizar a contagem de push badges de um determinado dispositivo registrado pelo usuário.

updatePushBadgeforUser – Este método é usado para atualizar a contagem de push badge de todos os dispositivos que um usuário adquire.Neste caso, estamos assumindo que o usuário possui vários dispositivos cadastrados em seu nome.

Enviar +1 para contagem de crachás, que aumentará automaticamente a contagem de crachás em 1.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top