public async Task InitializeAsync() { const string SettingsPushTokenKey = "PushToken"; string pushToken = (string)ApplicationData.Current.LocalSettings.Values[SettingsPushTokenKey]; _realtimeSession = new WMSession(WebimAccount, WebimLocation, null); await _realtimeSession.StartSessionAsync(); _offlineSession = new WMOfflineSession(WebimAccount, WebimLocation, pushToken, null); await _offlineSession.Initialize(); Initialized = true; if (RealtimeSessionInitialized != null) { RealtimeSessionInitialized(); } if (OfflineSessionInitialized != null) { OfflineSessionInitialized(); } try { _pushNotificationChannel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync(); if (_pushNotificationChannel != null && !String.IsNullOrEmpty(_pushNotificationChannel.Uri)) { if (string.IsNullOrEmpty(pushToken) || !pushToken.Equals(_pushNotificationChannel.Uri)) { await _realtimeSession.SetDeviceTokenAsync(_pushNotificationChannel.Uri); ApplicationData.Current.LocalSettings.Values[SettingsPushTokenKey] = _pushNotificationChannel.Uri; } } } catch (Exception) {} }