Estratégias de Revisão na App Store
Publicar um app de crypto na App Store da Apple ou no Google Play é navegar em território hostil. Essas plataformas têm políticas específicas direcionadas a aplicativos de criptomoedas, algumas razoáveis, outras projetadas para proteger seus monopólios de pagamento.
Esta lição fornece as políticas específicas que você precisa conhecer e as estratégias que realmente funcionam para aprovar seu app Solana.
Apple App Store: O Gatekeeper Mais Rigoroso
As Diretrizes de Revisão da App Store da Apple dedicam uma subseção inteira a criptomoedas: 3.1.5 Cryptocurrencies.
As regras principais
Carteiras são permitidas, mas apenas de organizações:
Isso significa:
Contas de desenvolvedor individual ($99/ano) não podem publicar apps de carteira
Você deve se inscrever como organização através do processo de inscrição da Apple
Isso requer um número D-U-N-S para seu negócio
Se você está construindo uma carteira ou qualquer app com funcionalidades de auto-custódia, precisa da inscrição como organização antes de poder sequer enviar.
Exchanges possuem restrições geográficas:
Se seu app se conecta a exchanges ou facilita negociação, você precisa:
Limitar disponibilidade a jurisdições onde você possui licenciamento
Fornecer documentação de licenciamento se solicitado
Estar preparado para escrutínio adicional
Experiências com NFTs devem usar compra no app para certas funcionalidades:
A posição da Apple sobre NFTs evoluiu. Atualmente:
Exibir NFTs que o usuário possui: permitido
Comprar NFTs com crypto no seu app: permitido
Comprar NFTs que desbloqueiam funcionalidades do app: requer compra no app
O último ponto é onde fica complicado. Se um NFT dá ao usuário algo dentro do seu app (como funcionalidades premium), a Apple considera isso um bem digital sujeito aos seus 30%.
Requisitos de conta de teste
Este é o requisito que mais atrapalha os desenvolvedores de crypto:
Os revisores da Apple precisam testar a funcionalidade do seu app. Mas como você fornece uma "conta de teste" para uma carteira que usa endereços blockchain reais?
Resolvendo o Problema da Conta de Teste
Revisores da Apple não vão criar sua própria carteira Solana, financiá-la com SOL e testar seu app. Você precisa fornecer uma forma de testar sem entender crypto.
Opção 1: Modo demo
Construa um modo demo no seu app que simula interações com a blockchain:
// Verifica flag de modo demo
const isDemoMode = process.env.DEMO_MODE === 'true';
const executeTransaction = async (tx: Transaction) => {
if (isDemoMode) {
// Simula transação bem-sucedida
await new Promise(resolve => setTimeout(resolve, 2000));
return {
signature: 'DEMO_' + Math.random().toString(36).substring(7),
success: true
};
}
// Transação real
return await connection.sendTransaction(tx, [wallet]);
};Forneça à Apple:
Instruções para ativar o modo demo
Uma conta de teste pré-configurada
Documentação clara do que é simulado vs real
Opção 2: Contas de teste do Privy
Se você está usando Privy para carteiras embutidas, eles fornecem um sistema de contas de teste projetado especificamente para revisão da App Store.
Ative contas de teste no Privy Dashboard:
Vá para User Management → Authentication → Advanced
Ative "Test accounts"
Anote o formato da conta de teste
Formato da conta de teste:
Email:
test-XXXX@privy.io(onde XXXX são 4+ caracteres)Código OTP: sempre
XXXXXX(seis X's)
Diga aos revisores da Apple:
A conta será totalmente funcional, com uma carteira embutida real, mas não requer verificação de email real.
Opção 3: Carteira de teste pré-financiada
Para apps que se conectam a carteiras externas (via MWA no Android ou WalletConnect):
Crie uma carteira de teste dedicada
Financie com pequenas quantias de SOL e tokens reais
Exporte a seed phrase
Forneça à Apple:
Instruções de download do Phantom (ou outra carteira)
Seed phrase para importar
Instruções para conectar ao seu app
Riscos:
Revisores podem não seguir instruções complexas
Seed phrase pode ser comprometida (use uma carteira descartável com fundos mínimos)
Múltiplos revisores podem conflitar entre si
O princípio-chave
Qualquer que seja a abordagem escolhida, o objetivo é o mesmo: tornar todo o seu app testável sem exigir que o revisor entenda crypto. Cada tela, cada fluxo, cada funcionalidade deve ser acessível através da sua conta de teste ou modo demo.
Em suas App Review Notes, forneça instruções passo a passo claras para testar cada funcionalidade principal. Presuma que o revisor nunca usou um app de crypto.
Google Play: Desafios Diferentes
As políticas do Google Play são encontradas em suas seções "Families Policy" e "Financial Services". Para apps de crypto, o documento-chave é a Blockchain-based content policy.
Exchanges e carteiras de criptomoedas
Da política do Google:
A linguagem de "certified services" é vaga, mas na prática significa:
Licenças de transmissão de dinheiro onde necessário
Conformidade com regulamentações financeiras locais
Termos de serviço claros
A declaração Financial Features
Quando você envia ao Google Play Console, deve declarar se seu app possui "Financial Features":
Vá para App Content → Financial Features
Selecione "Yes" se seu app lida com criptomoedas
Forneça informações adicionais sobre:
Quais serviços financeiros você oferece
Em quais jurisdições você opera
Informações de licenciamento
Ser honesto aqui é importante. Se você declarar "No" e os sistemas automatizados do Google detectarem funcionalidade crypto, você enfrentará atrasos ou rejeição.
Posição do Google sobre NFTs
O Google tem sido mais permissivo que a Apple com NFTs:
Comprar/vender NFTs com crypto: permitido
NFTs que desbloqueiam funcionalidades no app: permitido se os usuários também podem ganhar/acessar sem compra
O último ponto importa. Se um NFT é a única forma de acessar uma funcionalidade, o Google pode recusar. Mas se é um acelerador ou caminho alternativo, geralmente não há problemas.
Evitando Motivos Comuns de Rejeição
Baseado em experiências reais de rejeição de desenvolvedores Solana:
Rejeição: "Insufficient information about how the app works"
Motivo: Revisores não entendem blockchain/crypto Solução: Superexplique em suas App Review Notes. Presuma conhecimento zero de crypto.
Rejeição: "App requires additional resources to function"
Motivo: Seu app requer uma carteira conectada, e revisores não têm uma Solução: Implemente modo demo ou forneça contas de teste conforme descrito acima
Rejeição: "Guideline 3.1.5 - Business - Payments - Cryptocurrencies"
Motivo: Você está inscrito como indivíduo, não como organização Solução: Reinscreve-se como organização. Isso leva de 2-4 semanas e requer documentação empresarial.
Rejeição: "App doesn't function as advertised"
Motivo: Revisores não conseguiram completar um fluxo porque precisava de crypto real Solução: Implemente modo testnet para revisão ou forneça credenciais de teste pré-financiadas
Rejeição: "Binary rejected due to financial services concerns"
Motivo: Descrição ou metadata do app mencionou funcionalidades que exigem licenciamento Solução: Suavize a linguagem. Em vez de "trade crypto" diga "visualize seu portfólio e transfira para carteiras suportadas"
Estratégias de Metadata
Sua listagem na App Store afeta tanto a descoberta quanto o resultado da revisão.
Palavras-chave para ter cuidado
Estas palavras podem acionar escrutínio adicional:
"Trade" / "Trading"
"Exchange"
"Investment" / "Invest"
"Earn" (no contexto de rendimentos)
"Banking"
"Financial services"
Alternativas mais seguras
"Gerencie seus ativos digitais"
"Envie e receba crypto"
"Visualize seu portfólio"
"Acesse aplicações descentralizadas"
"Conecte-se ao Web3"
Seleção de categoria
Escolha cuidadosamente:
Finance - aciona revisão de serviços financeiros mas frequentemente é a categoria certa
Utilities - menor escrutínio, funciona para carteiras e ferramentas
Lifestyle - pode funcionar para apps de NFT focados em colecionismo
Lidando com Rejeições
Rejeições acontecem. Como você responde determina seu resultado.
Não discuta, eduque
Revisores frequentemente rejeitam porque não entendem. Seu recurso deve:
Reconhecer a preocupação deles
Explicar exatamente como seu app a resolve
Fornecer passos claros de teste
Oferecer uma chamada se necessário (a Apple oferece isso para casos complexos)
Seja específico sobre seu app e o motivo exato da rejeição. Recursos genéricos não funcionam.
Quando pivotar
Às vezes uma funcionalidade simplesmente não será aprovada. Considere:
Remover a funcionalidade problemática para a versão da App Store
Oferecer funcionalidade completa na dApp Store
Usar deep links para direcionar usuários ao web para certas funcionalidades
Muitos apps de sucesso têm uma versão "lite" na App Store e uma versão completa na dApp Store ou como PWA.
Mantendo seu App Listado
Ser aprovado é apenas o começo. Apps podem ser removidos pós-aprovação.
Monitore mudanças de políticas
Tanto a Apple quanto o Google atualizam suas políticas de crypto regularmente. Inscreva-se em:
Apple Developer News
Google Play Policy Updates
Atualizações da Solana Mobile (eles rastreiam mudanças de políticas de plataformas)
Responda a requisições de compliance rapidamente
Se você receber um email sobre compliance de políticas:
Responda dentro de 24-48 horas
Reconheça a preocupação
Forneça um cronograma para resolver
De fato cumpra o prometido
Respostas lentas ou ignorar requisições de compliance podem levar à remoção.
Não atualize metadata sem cuidado
Alterar a descrição do seu app para ser mais agressivo sobre funcionalidades pode acionar uma nova revisão. Mantenha a linguagem aprovada consistente, a menos que aceite intencionalmente o risco de nova revisão.
Resumo
Aprovar um app Solana na revisão da App Store e Play Store requer:
Inscrição como organização na Apple (se você tem funcionalidades de carteira)
Contas de teste que não exigem que revisores entendam crypto
Metadata cuidadosa que não acione escrutínio desnecessário
Declaração Financial Features no Google Play
Recursos pacientes quando rejeições acontecerem
A próxima lição aborda o que acontece após publicar: proteger seu app de engenharia reversa e outras ameaças de segurança.