O Android tem um problema de Emoji, e o Google está adotando uma abordagem dupla para resolvê-lo com fontes de sistema atualizáveis e EmojiCompat.
Ame-os ❤ ou odeie-os 🤬, os emojis se tornaram uma forma básica de expressão atualmente. Essas pequenas bolhas adicionam emoção e intenção às palavras, e as conversas na Internet seriam incompletas sem elas. Eles são importantes até mesmo para conversas interpessoais - por que perder tempo dizendo muitas palavras quando os emoji enganam? Portanto, não é nenhuma surpresa que o Google tenha dado uma olhada no Android e percebido que ele tem um problema de emoji, e com Andróide 12, ele tenta consertar.
Android e seu problema de emoji
Emojis são um grande negócio. O uso de emojis está em alta e os usuários de alguns aplicativos enviam bilhões de emojis todos os dias. Alimentar e acompanhar essas mudanças é o Padrão Unicode, e recebe atualizações frequentes que adicionam novos emojis. Esses novos emojis giram em torno de novos casos de uso, tendências e até variações para torná-los melhores representantes da diversidade e da inclusão.
Em seu Apresentação do Android Dev Summit 2021, o Google afirma que 96% dos usuários do Android não veem os emojis mais recentes, em forte contraste com os 16% dos usuários do iOS que não conseguem ver os emojis mais recentes. Os 100 principais emojis representam cerca de 82% do total de compartilhamentos de emojis. Mas para 20% desses compartilhamentos, o remetente envia um emoji, mas o destinatário só vê um “tofu” ou o quebrado imagem indicada por uma caixa com um X, o que significa que o sistema telefônico não possui o emoji relevante para mostrar.
Os problemas não terminam com os tofus. Em certas situações relativas a emojis mais recentes e versões mais antigas do Android, o emoji exibido acaba sendo uma representação estereotipada, exigindo que os usuários façam alguma ginástica mental para entender o que realmente está acontecendo sobre.
Antes do Android 12, sempre que o Unicode ganhava novos emojis, precisávamos esperar por uma atualização do sistema operacional Android para chegar aos nossos telefones para trazer suporte para o emoji, antes que possamos realmente torná-los parte da nossa internet linguagem. E todos nós sabemos o quão ruim é a situação de atualização do Android. Sim, melhorou. Mas, a menos que você tenha um carro-chefe, é provável que ainda demore alguns meses até que a atualização mais recente chegue ao seu dispositivo em uma versão estável. Há uma boa chance de que mais novos emojis tenham sido adicionados nesse intervalo de tempo, mantendo você fora do jargão atual.
É claro que há um problema aqui e que precisa haver uma solução. O Google estabeleceu o objetivo de disponibilizar todos os emojis para todos os usuários do Android em todos os aplicativos e está adotando uma abordagem dupla para conseguir isso.
Solução 1 de 2: fontes de sistema atualizáveis (Android 12 e superior)
Começando com o Android S (Android 12), o Google introduziu fontes de sistema atualizáveis, e a primeira fonte que será atualizada é a fonte emoji.
Nós conversamos sobre Fontes de sistema atualizáveis no passado, quase um ano atrás, na verdade. No Android 11 e versões anteriores, todas as fontes do Android são armazenadas na partição do sistema e, mais especificamente, na partição /system/fonts diretório. Emojis, em particular, estão presentes no arquivo chamado NotoColorEmoji.ttf. A partição do sistema é somente leitura e a atualização de qualquer arquivo dentro da partição requer uma atualização do sistema enquanto a partição não está montada. Portanto, as únicas maneiras de obter novas fontes e novos emojis são aguardar uma atualização oficial do OTA ou instale você mesmo não oficialmente através do root.
Com Android 12 e fontes de sistema atualizáveis, o arquivos de fonte são armazenados no /data/fonts/filese está disponível para leitura em todos os aplicativos, mas só pode ser gravado pelo servidor_sistema e iniciar. Dessa forma, o Google pode enviar arquivos de fontes atualizados e os aplicativos podem lê-los para obter as informações mais atualizadas, independentemente de quando foi a última atualização do sistema Android no telefone. Como desenvolvedor de aplicativos e até mesmo como usuário, você nunca mais precisará pensar no suporte a emojis em um dispositivo Android 12+.
Solução 2 de 2: EmojiCompat com AppCompat 1.4 (Android 4.4. a Android 11)
O Android 12 foi lançado há algumas semanas no ramo estável e vai demorar um pouco até que você veja a proliferação em todo o ecossistema Android. Portanto, você precisa de uma solução que funcione no Android 11 e versões anteriores. Essa solução é a Biblioteca de suporte EmojiCompat.
AppCompat 1.4 incorpora EmojiCompat, o que significa que todos os aplicativos que usam AppCompat 1.4 suportarão automaticamente emojis modernos. Como desenvolvedor de aplicativos, você só precisa integrar/aumentar sua versão do AppCompat para 1.4 e exibirá emojis atualizados para os usuários, mesmo no Android 4.4, sem precisar de nenhum esforço adicional de ninguém.
Porém, há um pequeno problema. O problema é que esta é uma mudança orientada para o núcleo do GMS que requer o funcionamento do Google Play Services. Esta não é uma mudança no AOSP para versões mais antigas do Android da mesma forma que a primeira solução, e também não pode ser isso por causa da maneira como o tempo e a física funcionam.
Política de emojis Android para Android 12
Além desses destaques, o Google também adicionou uma Política de Emoji Android para aplicativos rodando Android 12 e superior. Esses aplicativos devem estar em conformidade com a versão Unicode mais recente dentro de quatro meses após a disponibilidade pública e devem fazê-lo de uma destas três maneiras:
- Se o AppCompat já estiver em uso, certifique-se de que o emoji esteja ativado.
- Use uma biblioteca EmojiCompat existente em todas as superfícies do aplicativo. Isso deve funcionar com visualizações personalizadas que usam diretamente o StaticLayout.
- Atualize o manuseio e a fonte/imagens dos emojis com base na versão mais recente do Unicode.
Se meu entendimento estiver correto, a última opção é apenas pedir aos desenvolvedores que agrupem emojis em seus aplicativos. De qualquer forma, os desenvolvedores precisam garantir que atendem a esses requisitos antes de fevereiro de 2022.
O Google tem recursos para desenvolvedores de aplicativos corrigirem problemas de emojis e recomendamos que você os confira:
- Android Developer Summit 2021: exibindo TODOS os emojis em seu aplicativo (e por que isso é importante)
- Documentação do desenvolvedor Android: suporte a emojis modernos
- Política do programa para desenvolvedores: anúncio de 27 de outubro de 2021 – Política de emojis do Android
Android 12L e Unicode 14
Android 12L que era lançado ontem vem com Suporte Unicode 14 (através da 9to5Google). Unicode 14.0 inclui os seguintes novos emojis:
- Rosto Derretido
- Rosto com olhos abertos e mão na boca
- Rosto com olho espreitando
- Saudando o Rosto
- Rosto de linha pontilhada
- Rosto com boca diagonal
- Rosto contendo lágrimas
- Mão Direita
- Mão Esquerda
- Palma para baixo
- Palma para cima
- Mão com dedo indicador e polegar cruzados
- Índice apontando para o visualizador
- Mãos de coração
- Morder o lábio
- Pessoa com Coroa
- Homem Grávido
- Pessoa grávida
- Provocador
- Coral
- Lótus
- Ninho vazio
- Ninho com Ovos
- Feijões
- Derramando Líquido
- Jarra
- Slide do parque infantil
- Roda
- Bóia de Anel
- Hamsá
- Espelho bola
- Bateria Fraca
- Muleta
- Raio X
- Bolhas
- Cartão de identificação
- Sinal de igual pesado
Além disso, o lançamento inclui variações e tons de pele desses novos emojis, totalizando 112 novos designs.
Resumindo, os problemas de emoji do Android em breve deverão ser coisa do passado.