Android Library
Mluvii poskytuje library pro integraci s vaší aplikací. Minimální verze Androidu je 5.0, protože v nižších verzích není webview postaveno na Chromiu, které se samo aktualizuje a proto je zastaralé. Námi poskytnutý kód umožňuje:
inicializace webview s widgetem s údaji vaší společnosti
MluviiLibrary.getMluviiWebView(Context, Název_serveru, ID_Společnosti, ID_Tenantu, Název_balíčku, jazyk);
oznámení o změně stavu widgetu
MluviiLibrary.setStatusOnlineCallback(() ->{});
MluviiLibrary.setStatusBusyCallback(() ->{});
MluviiLibrary.setStatusOfflineCallback(() ->{});
otevření chatu
MluviiLibrary.runChat();
zavření chatu a načtení stránky s widgetem
MluviiLibrary.setCloseChatFunc(() ->{});
přidání vlastního callbacku na otevření URL
MluviiLibrary.setUrlCallbackFunc(new MluviiLibrary.UrlCallback(){
@Override
public Void call() throws Exception{
Log.d("MLUVII_URL_CALLBACK","Test url: "+this.url);
return null;
}
});
přidání odchytávání eventů pro Začátek a konec sezení
public static class MluviiEventCallback implements Callable<Void>{
public String Event;
public long SessionId;
@Override
public Void call() throws Exception {
return null;
}
}
přidání vlastních parametrů - u přidání vlastních parametrů je nutné je nejdříve nastavit v Administračním rozhraní viz Aplikace
Pokud uživatel mobilní aplikace musí po otevření WebView vykonat nějakou akci (kliknout na tlačítko apod.), doporučujeme přidat delay např. 2 sekundy. Tím zajistíte bezchybné uložení hodnot do existujících parametrů sezení.
zároveň je nutné přidat apostrofy (') nebo uvozovky (") kolem klíče i hodnoty
parametry je nutné nastavit před zavoláním metody MluviiLibrary.runChat()
MluviiLibrary.addCustomData("param_name", "param_value");
nebo
MluviiLibrary.addCustomData('param_name', 'param_value');
Pro správné fungování mluvii je také doporučeno povolit cookies ve WebView
if (android.os.Build.VERSION.SDK_INT >= 21) {
CookieManager.getInstance().setAcceptThirdPartyCookies(mluviiWebView, true);
} else {
CookieManager.getInstance().setAcceptCookie(true);
}
Aby bylo možné posílat soubory do chatu, je nutné přidat následující část kódu do vašeho projektu (do MainActivity.java souboru):
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
{
if (requestCode == REQUEST_SELECT_FILE) {
uploadMessages = MluviiLibrary.getFilePathCallbacks();
if (uploadMessages == null)
return;
if (data == null && getCameraCaptureUri() != null){
uploadMessages.onReceiveValue(new Uri[]{getCameraCaptureUri()});
}
else
uploadMessages.onReceiveValue(WebChromeClient.FileChooserParams.parseResult(resultCode, data));
uploadMessages = null;
}
} else {
uploadMessage = MluviiLibrary.getFilePathCallback();
if (null == uploadMessage) return;
Uri result = data == null || resultCode != MainActivity.RESULT_OK ? null : (data.getData() != null ? data.getData() : getCameraCaptureUri());
uploadMessage.onReceiveValue(result);
uploadMessage = null;
}
}
uploadMessages a uploadMessage jsou proměnné definované takto:
public ValueCallback<Uri[]> uploadMessages;
public ValueCallback<Uri> uploadMessage;
Definice velikosti souboru, který je možné vložit do sezení:
private static int REQUEST_SELECT_FILE = 65456
Aby bylo možné využívat audia a videa v aplikaci, je nutné Povolit práva pro přístup ke kameře a mikrofonu.
Jako první část je nutné přidat do manifestu
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.CAMERA" />
Druhá část je pro zařízení s verzí Androidu 6.0+, kde lze kontrolovat práva za běhu aplikace
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.CAMERA)) {
//Can add explanation why do you need this specific permissions
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO},
REQUEST_CAMERA_PERMISSION);
} else {
// No explanation needed; request the permission
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO},
REQUEST_CAMERA_PERMISSION);
}
}
Pokud chcete používat video, je potřeba ve vašem produktu povolit kameru a mikrofon
Android Library
Vzorový kód
K dispozici zde.
Last updated
Was this helpful?