Sdílet prostřednictvím


Použití komponent uživatelského rozhraní pro chat

Začněte pracovat s knihovnou uživatelského rozhraní Azure Communication Services, která umožňuje rychlou integraci komunikačních prostředí do vašich aplikací. Tento článek popisuje, jak integrovat chatovací komponenty knihovny uživatelského rozhraní do aplikace a vytvořit prostředí pro uživatele aplikace.

Knihovna uživatelského rozhraní služeb Azure Communication Services vykreslí úplné prostředí chatu přímo ve vaší aplikaci. Postará se o připojení k chatovacím službám Azure Communication Services a automaticky aktualizuje přítomnost účastníka. Jako vývojář musíte rozhodnout, kde v uživatelském prostředí vaší aplikace chcete, aby chatovací prostředí začalo a vytvářelo podle potřeby jenom prostředky Azure Communication Services.

Poznámka:

Další informace o knihovně webového uživatelského rozhraní naleznete v článku o knihovně webových uživatelských rozhraní.

Požadavky

Přístup k těmto rychlým startům

Přístup k těmto příběhům

Důležité

Tato funkce služeb Azure Communication Services je aktuálně ve verzi Preview. Funkce ve verzi Preview jsou veřejně dostupné a můžou je používat všichni noví a stávající zákazníci Microsoftu.

Rozhraní API a sady SDK verze Preview jsou poskytovány bez smlouvy o úrovni služeb. Doporučujeme je nepoužívat pro produkční úlohy. Některé funkce nemusí být podporované nebo můžou být omezené.

Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.

Získejte ukázkovou aplikaci pro Android v Azure Samples Android SDK pro chat v otevřeně dostupné uživatelské knihovně rozhraní Azure Communication Services pro Android.

Požadavky

Nastavení projektu

Dokončete následující části a nastavte projekt.

Vytvoření nového projektu Android

V Android Studiu vytvořte nový projekt.

  1. V nabídce Soubor vyberte Nový>projekt.

  2. V novém projektu vyberte šablonu projektu Prázdná zobrazení aktivity .

    Snímek obrazovky znázorňující dialogové okno Nový projekt v Android Studiu s vybranou aktivitou Empty Views.

  3. Vyberte Další.

  4. Pojmenujte projekt UILibraryQuickStart. Jako jazyk vyberte Java/Kotlin. Pro minimální sadu SDK vyberte rozhraní API 23: Android 6.0 (Marshmallow) nebo novější.

  5. Vyberte Dokončit.

    Snímek obrazovky znázorňující možnosti nového projektu a vybrané tlačítko Dokončit

Instalace balíčků

Podle následujících částí nainstalujte požadované balíčky aplikací.

Přidání závislosti

Do souboru UILibraryQuickStart/app/build.gradle na úrovni aplikace (ve složce aplikace) přidejte následující závislost:

dependencies {
    ...
    implementation 'com.azure.android:azure-communication-ui-chat:+'
    ...
}

Přidání úložišť Maven

K integraci knihovny se vyžaduje úložiště balíčků Azure.

Přidání úložiště:

  1. Ve skriptech Gradle projektu se ujistěte, že jsou přidána následující úložiště. Pro Android Studio (2020.*) je repositories v části settings.gradle, pod dependencyResolutionManagement(Gradle version 6.8 or greater). Pro starší verze Android Studia (4.*) repositories je na úrovni build.gradleprojektu v části allprojects{}.
    // dependencyResolutionManagement
    repositories {
        ...
        maven {
            url "https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1"
        }
        ...
    }

Spuštění kódu

V Android Studiu sestavte a spusťte aplikaci.

  1. Vyberte Spustit.
  2. Chatovací klient se připojí k vláknu chatu a můžete začít psát a posílat zprávy.
  3. Pokud se klient nemůže připojit k vláknu a zobrazí se chyby chatJoin selhání, ověřte, že přístupový token uživatele je platný a že uživatel byl přidán do vlákna chatu voláním rozhraní REST API nebo pomocí příkazového řádku az.

Animace ve formátu GIF, která ukazuje příklad spuštění projektu na zařízení s Androidem.

Důležité

Tato funkce služeb Azure Communication Services je aktuálně ve verzi Preview. Funkce ve verzi Preview jsou veřejně dostupné a můžou je používat všichni noví a stávající zákazníci Microsoftu.

Rozhraní API a sady SDK verze Preview jsou poskytovány bez smlouvy o úrovni služeb. Doporučujeme je nepoužívat pro produkční úlohy. Některé funkce nemusí být podporované nebo můžou být omezené.

Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.

Získejte ukázkovou aplikaci iOS z Azure Samples iOS SDK pro chat v open-source knihovně uživatelského rozhraní pro iOS služby Azure Communication Services.

Požadavky

Nastavení projektu

Dokončete následující části a nastavte projekt rychlého startu.

Vytvoření nového projektu Xcode

V Xcode vytvořte nový projekt.

  1. V nabídce Soubor vyberte Nový>Projekt.

  2. V části Zvolte šablonu pro nový projekt, vyberte platformu iOS a vyberte šablonu aplikace. Rychlý start používá scénáře UIKit.

    Snímek obrazovky, který zobrazuje dialogové okno nového projektu Xcode s vybranou šablonou aplikace a systémem iOS.

  3. V části Zvolte možnosti pro nový projekt zadejte název produktu UILibraryQuickStart. Pro rozhraní vyberte Storyboard. Rychlý start nevytvoří testy, takže můžete zrušit zaškrtnutí políčka Zahrnout testy .

    Snímek obrazovky znázorňující nastavení nových možností projektu v Xcode

Instalace balíčku a závislostí

  1. (Volitelné) Pro MacBook s M1 nainstalujte a povolte Rosetta v Xcode.

  2. V kořenovém adresáři projektu spusťte pod init příkaz pro vytvoření souboru Podfile. Pokud dojde k chybě, aktualizujte CocoaPods na aktuální verzi.

  3. Do souboru Podfile přidejte následující kód. Nahraďte UILibraryQuickStart názvem projektu.

    platform :ios, '14.0'
    
    target 'UILibraryQuickStart' do
        use_frameworks!
        pod 'AzureCommunicationUIChat', '1.0.0-beta.5'
    end
    
  4. Spusťte pod install --repo-update.

  5. V Xcode otevřete vygenerovaný soubor xcworkspace .

Vypnutí sandboxu uživatelských skriptů

Některé skripty v propojených knihovnách zapisují soubory během procesu sestavení. Pokud chcete povolit zápis souborů, zakažte sandboxing uživatelských skriptů v Xcode.

V projektu Xcode v části Nastavení sestavení nastavte možnost Sandboxing uživatelského skriptu na Ne. Pokud chcete nastavení najít, změňte filtr ze Základní na Vše nebo použijte panel hledání.

Snímek obrazovky znázorňující možnost Nastavení sestavení pro vypnutí sandboxu uživatelských skriptů

Inicializace složeného

Inicializace složeného kódu:

  1. Přejděte na ViewController .

  2. Přidejte následující kód pro inicializaci složených komponent pro chat. Nahraďte <USER_ID> identifikátorem uživatele. Nahraďte <USER_ACCESS_TOKEN> přístupovým tokenem. Nahraďte <ENDPOINT_URL> adresou URL koncového bodu. Nahraďte <THREAD_ID> ID vlákna chatu. Nahraďte <DISPLAY_NAME> svým jménem. (Limit délky řetězce pro <DISPLAY_NAME> je 256 znaků).

    import UIKit
    import AzureCommunicationCommon
    import AzureCommunicationUIChat
    
    class ViewController: UIViewController {
        var chatAdapter: ChatAdapter?
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            let button = UIButton()
            var configuration = UIButton.Configuration.filled()
            configuration.contentInsets = NSDirectionalEdgeInsets(top: 10.0, leading: 20.0, bottom: 10.0, trailing: 20.0)
            configuration.baseBackgroundColor = .systemBlue
            button.configuration = configuration
            button.layer.cornerRadius = 10
            button.setTitle("Start Experience", for: .normal)
            button.addTarget(self, action: #selector(startChatComposite), for: .touchUpInside)
    
            button.translatesAutoresizingMaskIntoConstraints = false
            self.view.addSubview(button)
            button.widthAnchor.constraint(equalToConstant: 200).isActive = true
            button.heightAnchor.constraint(equalToConstant: 50).isActive = true
            button.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
            button.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
        }
    
        @objc private func startChatComposite() {
            let communicationIdentifier = CommunicationUserIdentifier("<USER_ID>")
            guard let communicationTokenCredential = try? CommunicationTokenCredential(
                token: "<USER_ACCESS_TOKEN>") else {
                return
            }
    
            self.chatAdapter = ChatAdapter(
                endpoint: "<ENDPOINT_URL>", identifier: communicationIdentifier,
                credential: communicationTokenCredential,
                threadId: "<THREAD_ID>",
                displayName: "<DISPLAY_NAME>")
    
            Task { @MainActor in
                guard let chatAdapter = self.chatAdapter else {
                    return
                }
                try await chatAdapter.connect()
                let chatCompositeViewController = ChatCompositeViewController(
                    with: chatAdapter)
    
                let closeItem = UIBarButtonItem(
                    barButtonSystemItem: .close,
                    target: nil,
                    action: #selector(self.onBackBtnPressed))
                chatCompositeViewController.title = "Chat"
                chatCompositeViewController.navigationItem.leftBarButtonItem = closeItem
    
                let navController = UINavigationController(rootViewController: chatCompositeViewController)
                navController.modalPresentationStyle = .fullScreen
    
                self.present(navController, animated: true, completion: nil)
            }
        }
    
        @objc func onBackBtnPressed() {
            self.dismiss(animated: true, completion: nil)
            Task { @MainActor in
                self.chatAdapter?.disconnect(completionHandler: { [weak self] result in
                    switch result {
                    case .success:
                        self?.chatAdapter = nil
                    case .failure(let error):
                        print("disconnect error \(error)")
                    }
                })
            }
        }
    }
    
    
  3. Pokud se rozhodnete umístit zobrazení chatu do rámce, který je menší než velikost obrazovky, doporučujeme minimální šířku 250 a minimální výšku 300.

Spuštění kódu

Pokud chcete sestavit a spustit aplikaci v simulátoru iOS, vyberte >. Můžete také použít klávesovou zkratku (⌘-R). Pak si vyzkoušejte prostředí chatu v simulátoru.

  1. Vyberte Spustit prostředí.
  2. Chatovací klient se připojí k vláknu chatu a můžete začít psát a posílat zprávy.
  3. Pokud se klient nemůže připojit k vláknu a zobrazují se chyby typu chatJoin, ověřte, že je přístupový token uživatele platný a že uživatel byl přidán do vlákna chatu pomocí volání rozhraní REST API nebo přes rozhraní příkazového řádku az.

Animace GIF, která ukazuje konečný vzhled a chování aplikace pro iOS pro rychlý start

Uvolnění prostředků

Pokud chcete vyčistit a odebrat předplatné služby Azure Communication Services, můžete odstranit prostředek nebo skupinu prostředků.

Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené.

Přečtěte si další informace o čištění prostředků.