# Requisitos de desenvolvimento - Getnet App2App

Este documento reúne todos os requisitos obrigatórios, boas práticas de segurança, proibições e restrições técnicas para desenvolver aplicações integradas aos terminais POS Getnet.

## Requisitos obrigatórios
Para garantir a certificação e a estabilidade operacional, siga rigorosamente as regras abaixo:

- As aplicações devem ser compatíveis com Android 5.1 (22), Android 7.1 (25) e Android 10 (29).

- O desenvolvimento pode ser nativo ou híbrido (por exemplo, Xamarin), desde que compile para o "Android Runtime (ART)", como se fosse uma aplicação nativa.

- A aplicação deve usar o Getnet Hardware SDK.

- Adicione os atributos a seguir ao arquivo `build.gradle` para assinar sua aplicação para o modelo de terminal TecToy Sunmi P2. Veja abaixo:

    * `v1SigningEnabled true`
    * `v2SigningEnabled true`
    * `signingConfig signingConfigs.config`

Exemplos:

```
android {
    //START - This method must be inserted into Android.{}
    signingConfigs {
        config {
            v1SigningEnabled true
            v2SigningEnabled true
        }
    }
//END - This method must be inserted into Android.{}
    buildTypes {
        debug {
            debuggable true
            testCoverageEnabled true
            signingConfig signingConfigs.config //This line should be inserted into buildTypes.
            crunchPngs false
        }
        release {
            minifyEnabled false
            debuggable false
            signingConfig signingConfigs.config //This line should be inserted into buildTypes.
            proguardFiles getDefaultProguardFile('proguard-android.txt','proguard-rules.pro')
            crunchPngs true
        }
    }
}
```

- O app deve ter uma seção "**Fale conosco**" com as informações de contato necessárias para o suporte ao cliente em caso de problemas ou dúvidas. Essa seção deve ficar bem visível e ser acessível em poucos toques.

- O app **deve** usar o **número de série fornecido pela API Getnet**. É proibido usar o número de série nativo do Android ou IDs gerados pela aplicação.

- Use layouts dinâmicos, pois no futuro a aplicação pode ser instalada em outros hardwares com resoluções e densidades diferentes.

- A navegação por todas as telas deve ser fluida, sem travamentos ou "quebras" na aplicação.

- O app deve conter os metadados de consulta no manifest para interagir com o Getnet SDK. Essa informação é necessária para a comunicação entre apps em dispositivos com Android 11 ou superior (SDK 30), como o TecToy Sunmi P3.

Exemplo:

```
    <queries>
        <package android:name="com.getnet.posdigital.service" />
    </queries>
```

## Segurança e boas práticas

Os desenvolvedores são responsáveis pela segurança da informação dentro de suas aplicações.

- Use as boas práticas de programação Android.

- É responsabilidade do desenvolvedor garantir a segurança das informações dentro da aplicação.

- Evite expor dados sensíveis do cliente, como senhas e informações pessoais.

- Integridade dos dados.

- Revise seu projeto e exclua imagens e dados que não são usados.

- Evite recursos com tempo limite infinito, que podem deixar sua aplicação travada ou aguardando um evento.

- Não mantenha a antena Mifare ligada; ligue-a somente quando for usá-la.

- Uso consciente do consumo de dados.

- Uso consciente do papel de impressão – evite imagens grandes, excesso de espaço em branco, espaçamento grande entre linhas e espaços no início e no fim dos comprovantes.

- Uso consciente do consumo de memória e CPU.

## Proibições

Os itens a seguir são terminantemente proibidos e causam reprovação imediata durante a integração:

- WebApps e WebView são expressamente proibidos por medidas de segurança. Desenvolvimentos com tecnologias baseadas em WebView são proibidos. Exemplo: Ionic, Cordova. Durante o processo de certificação da aplicação, nossa equipe de certificação usa ferramentas para verificar se sua aplicação tem WebView.

- O Google Play Services não estará disponível.

- A aplicação não pode se comunicar com nenhum concorrente direto ou indireto da Getnet ou do Grupo Santander (incluindo bancos, adquirentes, subadquirentes e carteiras digitais).

- A aplicação não pode ser executada em modo tela cheia.

- A aplicação não pode alterar as configurações do sistema Android (por exemplo, data, hora, localização etc.).

- Acesso a recursos externos inadequados (USB, Google Play...).

- O ícone, o logotipo e o nome da aplicação não podem estar associados à identidade visual dos seguintes itens:

   * Getnet e seus produtos;
   * Banco Santander;
   * Concorrentes diretos ou indiretos da Getnet ou do Grupo Santander (incluindo bancos, adquirentes, subadquirentes e carteiras digitais).

## Próximos passos

* [Início rápido](/pt/app2app/first-steps-a2a/create-quick-start-guide) - construa a integração que precisa atender a estes requisitos.
* [Arquitetura e fluxo](/pt/app2app/first-steps-a2a/architecture-flow) - veja como a troca de Intents funciona de ponta a ponta.