diff --git a/Docs/XXMessengerClient.md b/Docs/XXMessengerClient.md new file mode 100644 index 0000000000000000000000000000000000000000..d4a634a9bf49611affefc80c090a14eafd7048f9 --- /dev/null +++ b/Docs/XXMessengerClient.md @@ -0,0 +1,60 @@ +# XXMessengerClient + +`XXMessengerClient` is a client wrapper library for use in xx-messenger application. + +## 🛠Instantiate messenger + +Example: + +```swift +// setup environment: +var environment: MessengerEnvironment = .live() + +// change cMix NDF environment if needed: +environment.ndfEnvironment = ... + +// use alternative user-discovery if needed: +environment.udAddress = ... +environment.udCert = ... +environment.udContact = ... + +// instantiate messenger: +let messenger: Messenger = .live(environment) +``` + +## 🚀 Start messenger + +Example: + +``` +func start(messenger: Messenger) throws { + // check if messenger is loaded: + if messenger.isLoaded() == false { + // check if messenger is created and stored on disk: + if messenger.isCreated() == false { + // create new messenger and store it on disk: + try messenger.create() + } + // load messenger stored on disk: + try messenger.load() + } + + // check if messenger is connected: + if messenger.isConnected() == false { + // start end-to-end connection: + try messenger.connect() + } + + // check if messenger is logged in with user-discovery: + if messenger.isLoggedIn() == false { + // check if messenger is registered with user-discovery: + if try messenger.isRegistered() == false { + // register new user with user-discovery: + try messenger.register(username: "new-username") + } else { + // login previously registered user with user-discovery: + try messenger.logIn() + } + } +} +``` \ No newline at end of file diff --git a/README.md b/README.md index 5a2eadd5f095bd7bc87525eab765ac39460d984a..539d24b3884d54e59b3a28060c6886f6ba64dc52 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,8 @@ Also you can checkout included example iOS application. You can find full documentation with step by step guide [here](https://xxdk-dev.xx.network/mobile%20docs/ios-sdk) +- [XXMessengerClient](Docs/XXMessengerClient.md) + ## 🚀 Quick Start Add `XXClient` library as a dependency to your project using Swift Package Manager.