falazap_pkg 0.0.13
falazap_pkg: ^0.0.13 copied to clipboard
Integração com chat, troca de mensagens uso de camera, audio, arquivos
About #
SDK com exclisividade de uso particular da fintalk.
Features #
SDK destinado a integração de acesso ao chat com utilização dos seguintes itens: camera, microfone e reconhecimento de voz, envio e captura de imagens e documentos.
Usage #
Adicione a referência do sdk no seu projeto. No projeto de destino adicione as seguintes permissões no Android Manifest:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_FRAME_BUFFER"/>
<uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL"/>
<uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.webkit.resource.AUDIO_CAPTURE"/>
Adicione a chamada ao componente utilizando o floatingActionButton, e a rota para tela do chat, segundo ao exemplo abaixo:
void main() { runApp(const MyApp());}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Falazap!',
theme: ThemeData(primarySwatch: Colors.blue),
home: const MyHomePage(title: 'Falazap - Integração'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});
final String title;
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
var param = { "nome": "J'Dark", "email": "jdark@gmail.com", "cpf":"466.054.330-76" };
var url = "https://master-prd.web.fintalk.io/";
bool visivel = false;
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
extendBody: true,
floatingActionButtonAnimator: FloatingActionButtonAnimator.scaling,
appBar: AppBar(
title: Text(widget.title),
actions: [
IconButton(icon: const Icon(Icons.chat),
onPressed: () {
NavigateChat(context);
},)
],
),
body: HomePage(),
floatingActionButton: FloatingActionBtCtrl(parametros: param,url: url,visivel: visivel,)
);
}
void NavigateChat(BuildContext context) async {
var isVisible = await Navigator.push(context,
MaterialPageRoute(builder: (context) =>
ChatView(url: url, parametros: param)
));
setState(() { visivel = isVisible; });
}
}