public async Task Subscribe() { var sender = Client.SharedClient.ActiveUser.Id; // Set up command subscribe delegate var streamDelegate = new KinveyStreamDelegate <UserMessage> { OnError = (err) => { Console.WriteLine("Error: " + err.Message); }, OnNext = (senderID, message) => { InvokeOnMainThread(() => messageController.ChangeText(senderID, message.Message)); }, OnStatus = (status) => { Console.WriteLine("Status: " + status.Status); } }; try { await streamMessage.Listen(streamDelegate); } catch (KinveyException ke) { Console.WriteLine("Live Service Exception (listen): " + ke.Message); } }
public async Task Subscribe(string ID) { // Set up status subscribe delegate var streamDelegate = new KinveyStreamDelegate <MedicalDeviceStatus> { OnError = (err) => Console.WriteLine("STREAM Error: " + err.Message), OnNext = (senderID, message) => { stopwatch.Stop(); TimeSpan timeForRoundtrip = stopwatch.Elapsed; stopwatch.Reset(); string time = timeForRoundtrip.TotalMilliseconds + " ms"; InvokeOnMainThread(() => this.ChangeText(message.Setting, time)); }, OnStatus = (status) => { Console.WriteLine("Status: " + status.Status); } }; await streamStatus.Follow(ID, streamDelegate); }