iOS Framework
Mluvii poskytuje dva frameworky pro integraci s vaší aplikací. První framework pracuje s webView z WebKit sady. Druhý framework používá SwiftUI.
Námi poskytnutý kód umožňuje:
inicializace view s widgetem s údaji vaší společnosti,
oznámení o změně stavu widgetu,
otevření chatu,
zavření chatu a načtení stránky s widgetem,
obshluhu kliknutí na odkaz v chatu.
Přidání vlastních parametrů:
V případě přidání vlastních parametrů je nutné, je nejdříve nastavit v Administračním rozhraní viz Aplikace.
parametry je nutné nastavit před zavoláním
metody chat.openChat()
volání
chat.openChat()
achat.addCustomData()
je možné volat až po obdržení informace o updatu stavu proto je nejvhodnější použít callbackchat.setStatusUpdater()
chat?.setStatusUpdater(statusF: statusUpdate)
private func statusUpdate(status: Int32) -> Void {
...
chat.addCustomData(name: "param_name", value: "param_value")
chat.openChat()
...
}
Přidat vlastní obsluhu kliknutí na odkaz v chatu:
klik na odkaz je možné obsloužit vlastní funkcí předáním
navigationActionCustomDelegate
při vytváření view
var chat = MluviiChatLibrary()
chat.createUIView(
url: "apptest.mluvii.com",
companyGuid: "295b1064-cf5b-4a5d-9e05-e7a74f86ae5e",
tenantId: "1",
presetName: nil,
language: nil,
scope: nil,
navigationActionCustomDelegate: self.navigationActionDelegate
)
...
public func navigationActionDelegate(webView: WKWebView, navigationAction: WKNavigationAction) -> WKWebView? {
if navigationAction.targetFrame == nil, let url = navigationAction.request.url {
if url.description.lowercased().range(of: "http://") != nil ||
url.description.lowercased().range(of: "https://") != nil ||
url.description.lowercased().range(of: "mailto:") != nil {
UIApplication.shared.openURL(url)
}
}
return nil
}
...
Aby bylo možné využívat audia a videa v aplikaci, je nutné Povolit práva pro přístup ke kameře a mikrofonu.
Odchytávání eventů pro začátek a konec sezení
Pro odchytávání eventů z aplikace je možné použít funkci setMluviiEventCallbackFunc, ukázka je vložená níže:
chat?.setMluviiEventCallbackFunc(eventF: { event, sessionId in
print("Event and sessionID", event, sessionId ?? 0)
})
Pokud projekt stažený z GitHubu nepůjde spustit z důvodu, že nelze nalézt framework „MluviiChat“, doporučujeme překompilovat projekt „MluviiChat“ a nově vytvořeným souborem „MluviiChat.framework“ nahradit „MluviiChat.framework“ v projektu „TestWebkitWebview“.
Náš framework je kompilovaný pro minimální verzi iOS 15.3.1.
Pokud chcete, aby aplikace fungovala správně (odesílání souborů, kamera a mikrofon), je třeba v souboru info.plist přidat vysvětlení, z jakého důvodu potřebuje vaše aplikace přístup k těmto právům. Konkrétně se jedná o tyto položky:
Privacy - Camera usage Description
Privacy - Microphone usage Description
Privacy - Media Library Usage Description
Více info na Stránkách developer apple
Pozor, v iOS 10 a vyšší, pokud nemáte v info.plist definici, na co práva potřebujete a aplikace se je pokusí použít, celá aplikace spadne.
iOS Library
Vzorový kód
Najdete jej zde.
Last updated
Was this helpful?