code7-boteria-lib-mobile-rn
v1.2.0
Published
A agile and efficient way to integrate chat functionality (Boteria) into your React Native applications.
Downloads
23
Readme
Boteria Mobile 🤖
Uma maneira ágil e eficiente de integrar a funcionalidade de chat (Boteria) em seus aplicativos React Native
Instalação
yarn add -D code7-boteria-lib-mobile-rn [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] @miblanchard/[email protected]
Importação
import { View } from 'react-native';
import { Code7Boteria } from 'code7-boteria-lib-mobile-rn';
// ...
return (
<View>
<Code7Boteria botId="botId" />
</View>
);
Exemplo para envio de parãmetros adicionais no início da conversa:
const params = { foo: 'bar' };
return (
<View>
<Code7Boteria
botId="botId"
params={params}
/>
</View>
)
Também é possível substituit o widget flutuante por um componente pressionável de sua aplicação ao passá-lo como children, por exemplo:
return (
<View>
<Code7Boteria botId="botId">
<Button title="Abrir o chat" />
</Code7Boteria>
</View>
)
Ou então:
return (
<View>
<Code7Boteria
botId="botId"
children={<Button title="Abrir o chat" />}
>
</View>
)
Lembre-se de substituir 'botId' pelo identificador correto do seu BOT.
Para versões React Native 0.64.0 até 0.70
yarn add @react-native/normalize-color
Acesso ao Ambiente de Homologação
Para acessar o ambiente de homologação do aplicativo, você precisará passar o parâmetro staging
como true
. Por exemplo:
<Code7Boteria staging botId="MEU_ID" />
Ao fazer isso, o ambiente do aplicativo será redirecionado para a homologação ao invés do ambiente padrão de produção.
Configuração react-native-video
android/settings.gradle
include ':react-native-video'
project(':react-native-video').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-video/android-exoplayer')
android/gradle.properties
android.useAndroidX=true
android.enableJetifier=true
MyApplication.java No topo, onde estão as importações:
import com.brentvatne.react.ReactVideoPackage;
Adicione a classe ReactVideoPackage
à sua lista de pacotes exportados.
packages.add(new ReactVideoPackage());
Suporte para GIFs
android/app/build.gradle
implementation "com.facebook.fresco:animated-base-support:1.3.0"
implementation "com.facebook.fresco:animated-gif:2.5.0"
Suporte para Notificações
android/app/src/main/AndroidManifest.xml
Dentro da tag manifest
, adicione:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Dentro da tag application
, adicione:
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
android/app/src/main/res/xml/file_paths.xml
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<files-path name="my_files" path="." />
<external-path name="external_files" path="." />
<external-files-path name="external_files" path="." />
<root-path name="root" path="." />
<root-path name="external_storage_root" path="/storage/" />
<root-path name="external_downloads" path="/storage/emulated/0/Downloads/" />
</paths>
Parâmetros
{
foo: 'bar'
}
<MyComponent />
{
title: 'Bot title',
settings: {
botFab: 'https://my-domain/my-icon.png',
mainColor: '#FF0000',
mainTextColor: '#00FF00',
secondaryColor: '#000000',
secondaryTextColor: '#0000FF',
},
}