Пример #1
0
        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) {}
        }
Пример #2
0
        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) {}
        }