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() a chat.addCustomData() je možné volat až po obdržení informace o updatu stavu proto je nejvhodnější použít callback chat.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