senior_feedback 0.0.1 senior_feedback: ^0.0.1 copied to clipboard
aA package that provides easy integration with Senior's feedback service for Flutter.
Senior Feedback #
Este package oferece uma experiência visual vinculada ao serviço de feedbacks da Senior. A ideia é que outros apps que sejam integrados com a plataforma da Senior, possam utilizar este package para coletar feedbacks e trabalhar em cima deles internamente.
Como utilizar #
Adicione o pacote no pubspec.yaml e execute flutter pub get
:
dependencies:
senior_feedback: ^1.0.0
Verifique qual a última versão disponível no pub.dev
Importe o pacote senior_feedback.
import 'package:senior_feedback/senior_feedback.dart';
É obrigatório que a classe principal seja inicializada na main thread com a chave da aplicação que será vinculada aos feedbacks enviados. Também há a opção de troca de ambiente para testes através do parâmetro opcional baseUrl
.
SeniorFeedback.initialize(
apiKey: '{API_KEY}',
baseUrl: '{BASE_URL}',
);
Para chamar o bottomSheet de feedback é preciso passar o objeto do tipo FeedbackSource
que contém informações sobre a fonte de dados que o feedback está sendo gerado. Segue o exemplo:
...
const feedbackSource = FeedbackSource(
userIdentificator: 'EXAMPLE-969696',
name: 'Lorem Ipsum Test Example',
email: 'lorem.ipsum.example@est.com.br',
);
SeniorFeedback.showSeniorFeedbackBottomSheet(
context: context,
feedbackSource: feedbackSource,
);
É importante ressaltar que existe a possibilida de passar custom tags para identificar particularidades de cada aplicação:
...
const feedbackSource = FeedbackSource(
userIdentificator: 'EXAMPLE-969696',
name: 'Lorem Ipsum Test Example',
email: 'lorem.ipsum.example@est.com.br',
tags: [
Tag(name: 'name1', value: 'value1'),
Tag(name: 'name2', value: 'value2'),
Tag(name: 'name3', value: 'value3'),
]);
...
Como contribuir #
Para contribuir, basta abrir um Merge Request para algum dos mantedores do projeto seguindos as boas práticas acordadas nas seções abaixo.
Cobertura de testes #
Entendemos que para manter a qualidade e integridade do código, é exigido uma cobertura de testes de pelo menos 80% para o que foi desenvolvido. Nossa sugestão é utilizar as extensões Coverage Gutters e Flutter Coverage para desenvolvimento dos testes.
Formatação de código #
Já está incluído um arquivo de configuração com as configurações de identação do projeto, por padrão utilizamos o reocmendável do SDK (80). Por favor, não modificar e seguir este padrão.
Modificando arquivos .arb (Internacionalização) #
No momento que este package está sendo publicado, existe um problema de referência do Flutter em encontrar os arquivos gerados pelo flutter gen-l10n em projetos que são do tipo package. Dessa forma, precisamos gerar os arquivos do flutter gen-l10n sobrescrevendo o caminho de output dos arquivos gerados.
Sendo assim, para sincronizar as traduções do l10n, deve-se utilizar o seguinte comando após modificar arquivos .arb:
flutter gen-l10n
Os arquivos gerados app_localizations_en.dart, app_localizations_es.dart, app_localizations_pt.dart e app_localizations.dart devem ser regerados e versionados através do comando acima, sempre que um arquivo .arb de tradução for modificado.