Por que a mesma tag dispara duas vezes?
Porque sair do campo e voltar conta como dois toques. Uma mão que levanta um pouco e se acomoda de novo apresentou a tag duas vezes sem a intenção de fazê-lo, e o celular não tem jeito de saber que a segunda vez não foi deliberada.
Sair do campo é o gatilho
Um celular trata uma tag como recém-presente quando ela aparece no campo. Ele não lembra que a mesma tag estava ali um segundo atrás, nem decide que você queria um toque só.
Então a sequência que produz um disparo duplo é: apresentar, ler, sair de alcance sem querer, voltar, ler de novo.
O movimento envolvido pode ser mínimo. Uma mão relaxando, um celular se acomodando numa superfície, uma leve inclinação no limite da distância de trabalho.
No limite do alcance isso é mais fácil, porque um milímetro basta para atravessar para dentro e para fora.
Onde isso acontece
Uma tag numa mesa com o celular apoiado nela. O celular se acomoda, balança um pouco, e lê duas vezes.
Uma tag numa capa de celular ou numa carteira, que entra e sai de alcance conforme o objeto é manuseado.
Uma tag no limite da distância de trabalho, em que o menor movimento atravessa o limiar.
E uma tag num suporte ou num berço, em que apoiar o celular envolve uma pequena acomodação.
Quando é pior que irritante
Uma tag que abre uma página duas vezes deixa duas abas, o que é desarrumado e inofensivo.
Uma tag que inicia uma ação com efeito colateral é diferente. Qualquer coisa que incremente, registre, envie ou alterne vai fazer isso duas vezes, e uma ação que alterna, executada duas vezes, volta ao ponto de partida.
Esse último caso é o que produz confusão genuína: uma tag que parece não fazer nada, porque ela fez a coisa e depois a desfez.
Onde uma ação tem consequências, o lado que recebe deve tolerar uma repetição em vez de presumir que um toque quer dizer um evento.
Evitar isso
Afaste o celular de forma decidida depois de uma leitura em vez de deixá-lo pairando.
Posicione as tags de modo que um celular não fique apoiado nelas. Uma tag embaixo de um lugar em que as pessoas apoiam o celular vai ser lida repetidamente o dia inteiro.
Dê à tag margem o bastante para que os movimentos pequenos não atravessem o limiar, o que quer dizer uma tag maior ou uma superfície melhor.
E onde a ação importa, trate as repetições no servidor. Uma página que pode ser aberta duas vezes em segurança é mais fácil de construir que um toque que só pode acontecer uma vez.
Perguntas frequentes
A minha tag está com defeito?
Não. Ser lida duas vezes é o comportamento correto para uma tag apresentada duas vezes, e a segunda apresentação foi acidental.
Por que o meu comando que alterna acaba sem efeito?
Porque ele foi executado duas vezes e voltou ao estado de partida. Esse é o sinal mais claro de um disparo duplo.
Dá para impedir o celular de ler duas vezes?
Não por um ajuste. Afaste o celular de forma decidida, ponha as tags longe de onde os celulares são apoiados, e projete o lado que recebe para tolerar repetições.
Isso acontece nas duas plataformas?
Sim, já que decorre de a tag sair e voltar a entrar no campo em vez de qualquer comportamento de plataforma.