Recentemente, decidi remover todos os anúncios do Google dos meus apps. No entanto, quando enviei a nova versão sem os rastreadores para a equipe de revisão da App Store, fui rejeitado. Os motivos foram os seguintes:
Problema
Diretriz 2.1 - Informações necessárias
Não conseguimos acessar com sucesso todo o app ou parte dele. Para continuar a revisão, precisamos de uma forma de verificar todos os recursos e funcionalidades do app para todos os tipos de conta. Normalmente, isso é feito fornecendo uma conta de demonstração que tenha acesso a todos os recursos e funcionalidades do app.
Especificamente, gostaríamos de uma conta de demonstração sem assinatura ativa para que possamos revisar todas as opções de assinatura.
Próximas etapas
Para resolver esse problema, forneça um nome de usuário e uma senha na seção Informações de revisão do app no App Store Connect. Também é aceitável incluir um modo de demonstração que exiba todos os recursos e funcionalidades do app. Observe que fornecer um vídeo de demonstração mostrando o app em uso não é suficiente para continuar a revisão.
Recursos
Para saber mais sobre como fornecer informações no App Store Connect, consulte a Ajuda do App Store Connect.
Diretriz 2.1 - Informações necessárias
O app usa o framework AppTrackingTransparency, mas não conseguimos localizar a solicitação de permissão do App Tracking Transparency durante a revisão no iPadOS 18.5.
Próximas etapas
Explique onde podemos encontrar a solicitação de permissão do App Tracking Transparency no app. A solicitação deve aparecer antes da coleta de quaisquer dados que possam ser usados para rastrear o usuário.
Se o App Tracking Transparency estiver implementado, mas a solicitação de permissão não aparecer em dispositivos com o sistema operacional mais recente, consulte a documentação disponível e confirme se o App Tracking Transparency foi implementado corretamente.
Se o seu app não rastreia usuários, atualize as informações de privacidade do app no App Store Connect para não declarar rastreamento. Você precisa ter a função de Titular da conta ou Administrador para atualizar as informações de privacidade do app.
Recursos
- Rastreamento é vincular dados coletados do app a dados de terceiros para fins publicitários, ou compartilhar os dados coletados com um corretor de dados. Saiba mais sobre rastreamento.
- Consulte as Perguntas frequentes sobre os requisitos para apps que rastreiam usuários.
- Consulte a documentação para desenvolvedores sobre o App Tracking Transparency.
Suporte
- Responda a esta mensagem no idioma de sua preferência se precisar de ajuda. Se precisar de suporte adicional, use o módulo Fale conosco.
- Converse com outros desenvolvedores e engenheiros da Apple nos Fóruns de Desenvolvedores da Apple.
- Envie comentários sobre esta mensagem e sua experiência de revisão preenchendo uma breve pesquisa.
O verdadeiro motivo por trás do referido problema
Eles fazem a verificação automática com a versão antiga
As pessoas suspeitam que isso acontece porque a Apple está rejeitando automaticamente todos os apps que antes tinham um aviso de coleta de dados, mas que não têm o aviso de rastreamento no app na nova versão. Eles usam a versão atual disponível na loja como base.
Portanto, o problema não é que a nova versão do seu app contenha o rastreador, mas sim que eles estão avaliando com base na última versão do seu app.
Você realmente tem o binário NSUserTrackingUsageDescription no seu projeto
Aconteceu comigo também: você precisa remover os SDKs e as configurações relacionadas no info.plist. No entanto, eu deixei passar os localizedStrings usados para exibir as strings localizadas do aviso de Rastreamento. Eu tinha um arquivo chamado infoPlist.localizedstrings (algo assim), que continha a localização em vários idiomas para o pop-up exibido na inicialização do app que pergunta “Permitir que o Google forneça anúncios personalizados?“.
Você pode simplesmente verificar à esquerda se ele está lá. Ou vá para o seu projeto > Build Phases > Expanda Copy Bundle Resources. Verifique se Infoplist.localsedString está lá.
Ao verificar, encontrei o “NSUserTrackingUsageDescription” dentro desse arquivo. E isso não aparecia nem mesmo ao fazer uma busca universal na barra lateral com o termo “NSUserTrackingUsageDescription”.
Você só precisa verificar cuidadosamente se há algum resíduo.
Tentando resolver
Segui as instruções acessando a página de Privacidade do app no App Store Connect. Em seguida, tentei alterar o aviso de Coleta de dados para Não. Foi aí que encontrei este obstáculo:
Seu app contém NSUserTrackingUsageDescription, indicando que você solicitará permissão para rastrear usuários. Você deve indicar quais tipos de dados rastreiam usuários. Se isso estiver incorreto, atualize o binário do seu app e envie uma nova build para o App Store Connect.
Bem, isso é estranho.
Eu já havia removido todos os SDKs do Google e garantido a remoção de todos os rastreadores do app no info.plist. Além disso, limpei o cache de build para recompilar a nova versão do zero.
Acontece que muitos desenvolvedores estão enfrentando o mesmo problema. (Link para o fórum de desenvolvedores da Apple)
Felizmente, não é a primeira vez que recebo essa rejeição. Já tinha passado por isso antes com outro app, depois de remover o SDK do Google AdMob do meu app existente. E consegui resolver fazendo o seguinte.
Solução
Foi assim que passei na revisão, duas vezes.
- Certifique-se de que você REALMENTE removeu tudo o que rastreia o usuário.
- Compile e envie a nova versão.
- Se você tiver a liberação automática ativada, altere a configuração para liberação pelo desenvolvedor.
- Envie a nova versão.
- Quando eles rejeitarem, basta responder à mensagem dizendo que:
- Você já removeu todos os rastreadores.
- Anexe links de discussões no Fórum de Desenvolvedores da Apple em que pessoas estão tendo o mesmo problema.
- Aguarde pacientemente por um ou dois dias.
- Depois de passar pela revisão do app, você poderá alterar o aviso de Coleta de dados para não.
- Clique em “Publicar”!
Como você pode ver, curiosamente, você pode alterar a configuração de Coleta de dados depois que a revisão for aprovada, mas não antes.
A melhor solução para a próxima vez?
Simplesmente não rastreie seus usuários desde o início.
Lição aprendida.
Boa sorte!
Referência