Сигналы Acceleration, App, Compass, Connection и Location в Power Apps

Применимо к: приложениям на основе холста приложениям на основе модели

Эти сигналы возвращают сведения о среде приложения, например, где находится пользователь и какой экран отображается.

Описание и синтаксис

Сигналы — это значения, которые могут изменяться в любое время, независимо от того, как пользователь может взаимодействовать с приложением. Формулы, основанные на сигналах, автоматически пересчитываются при изменении этих значений.

Сигналы обычно возвращают запись со сведениями. Можно сохранить эту информацию в качестве записи или же извлечь отдельные свойства с помощью оператора..

Заметка

Функции Acceleration и Compass возвращают точные значения в собственном проигрывателе, например в iOS или Android, но если вы создаете или изменяете приложение в браузере, эти значения будут нулевыми.

Ускорение

Сигнал Acceleration возвращает значение ускорения устройства в трех измерениях относительно экрана устройства. Ускорение измеряется в единицах g, значение которого составляет 9,81 м/с2 (речь идет об ускорении свободного падения, вызванного земным притяжением).

Свойство Описание
Acceleration.X Вправо и влево. Направлению вправо соответствует положительное значение.
Acceleration.Y Вперед и назад. Направлению вперед соответствует положительное значение.
Acceleration.Z Вверх и вниз. Направлению вверх соответствует положительное значение.

Приложение

Среди других свойств, объект App включает в себя сигнал, который указывает, какой экран показывается.

Свойство Описание
App.ActiveScreen Отображаемый экран. Возвращает объект экрана, с помощью которого можно ссылаться на свойства экрана или сравнивать их со свойствами другого экрана, чтобы определить, какой экран отображается. Можно использовать функцию Back или Navigate для изменения отображаемого экрана.

Дополнительные сведения: документация по объекту App.

Compass

Сигнал Compass возвращает направление по компасу в верхней части экрана. Компас указывает в направлении магнитного севера.

Свойство Описание
Compass.Heading Азимут в градусах. Возвращается значение от 0 до 360 градусов, где 0 градусов обозначает север.

Подключение

Сигнал Connection возвращает сведения о сетевом подключении. В случае лимитного подключения может потребоваться ограничить объем данных, отправляемых и получаемых по сети. Либо же, если ваше приложение включено для работы в автономном режиме, вы можете отображать различную информацию в зависимости от текущего состояния синхронизации.

Свойство Описание:
Connection.Connected Возвращает логическое значение true или false, указывающее, подключено ли устройство к сети.
Connection.Metered Возвращает логическое значение true или false, указывающее, является ли подключение лимитным.
Connection.Sync Возвращает перечисление с именем ConnectionSync, которое содержит текущее состояние синхронизации для приложения, которое включено для автономного режима.

Ниже приведены значения перечислений, доступные для Connection.Sync.

Значение перечисления Описание:
Connected Ваше устройство подключено к сети, и приложение готово к работе в автономном режиме
ConnectedWithWarning Ваше устройство подключено с предупреждением.
ConnectedPendingUpsync Некоторые данные на вашем устройстве должны быть синхронизированы с сервисом.
ConnectedError При последней попытке синхронизации произошла ошибка.
ConnectedRefresh В настоящее время ваше приложение синхронизирует данные со службой.
NotConnected Ваше устройство не подключено к службе.
NotConnectedWithWarning Последнее предупреждение о синхронизации.
NotConnectedPendingUpsync На вашем устройстве есть обновления, ожидающие синхронизации.
NotConnectedSyncError Ошибка во время последней синхронизации.

Местонахождение

Сигнал Location возвращает значение расположения устройства на основе глобальной навигационной спутниковой системы (GPS), а также другие сведения об устройстве, например расстояние до ближайшей сотовой вышки связи и IP-адрес устройства.

Когда пользователь впервые обращается за сведениями о местоположении, устройство запрашивает разрешение пользователя на обработку информации.

При изменении местоположения происходит постоянный перерасчет локаций, при котором расходуется заряд аккумулятора. Для экономии заряда аккумулятора можно использовать функции Enable и Disable, чтобы включить или отключить обновление информации о местоположении. Сведения о расположении автоматически исчезают, если отображаемый экран не зависит от местоположения.

Свойство Описание
Location.Altitude Возвращает число, указывающее высоту над уровнем моря, измеряемую в метрах.
Location.Latitude Возвращает число от –90 до 90, указывающее географическую широту, выраженную в градусах. Положительное значение соответствует расположению к северу от экватора.
Location.Longitude Возвращает число от –180 до 180, указывающее географическую долготу, выраженную в градусах, измерение которой ведется от Гринвича (Соединенное Королевство). Положительное значение соответствует расположению к востоку от Гринвича.

Примеры

На бейсбольном поле из точки подачи подающий бросает телефон принимающему, который находится на основной базе. Телефон находится в горизонтальном положении относительно поверхности земли, а верхняя часть экрана направлена на принимающего. Подающий делает бросок без вращения. В этом состоянии телефон может использовать лимитированную сотовую связь, но не Wi-Fi. При этом отображается экран PlayBall. Приложение включено для работы в автономном режиме и подключено к службе.

Формула Описание: Result
Location.Latitude Возвращает значение широты текущего расположения. Поле имеет координаты 47,591 с. ш. и 122,333 з. д. на карте. 47.591

Так как мяч движется от подающего к принимающему, значение широты будет постоянно изменяться.
Location.Longitude Возвращает значение долготы текущего расположения. 122.333

Так как мяч движется от подающего к принимающему, значение долготы будет постоянно изменяться.
Location Возвращает значение широты и долготы текущего расположения в виде записи. { Latitude: 47.591, Longitude: 122.333 }
Compass.Heading Возвращает направление по компасу в верхней части экрана. На этом поле основная база находится примерно на юго-западе от круга подачи. 230.25
Acceleration.X Возвращает ускорение устройства "бок о бок". Подающий бросает телефон прямо относительно верхней части экрана, поэтому устройство не вращается из стороны в сторону. 0
Acceleration.Y Возвращает ускорение устройства сверху вниз. Подающий изначально придает большое ускорение устройству при броске, ускоряя его от 0 до 90 миль в час (132 фута в секунду) за полсекунды. Когда устройство находится в воздухе и игнорирует воздушное сопротивление, оно больше не ускоряется. Устройство остановится, когда принимающий его поймает. 8,2 — когда подающий бросил устройство.

0 — когда телефон находился в воздухе.

–8,2 — когда принимающий поймал устройство.
Acceleration.Z Возвращает ускорение устройства сверху вниз. Пока устройство находится в воздухе, на него действует гравитация. 0 — перед тем, как подающий бросил устройство.

1 — когда телефон находился в воздухе.

0 — после того, как принимающий поймал его.
Ускорение Возвращает сведения об ускорении в виде записи. { X: 0, Y: 264, Z: 0 }, когда подающий бросает устройство.
Connection.Connected Возвращает логическое значение, указывающее, подключено ли устройство к сети. true
Connection.Metered Возвращает логическое значение, указывающее, является ли подключение лимитным. true
Connection.Sync Возвращает значение перечисления, указывающее текущее состояние синхронизации. ConnectionSync.Connected
App.ActiveScreen = PlayBall Возвращает логическое значение, указывающее, отображается ли экран PlayBall. true
App.ActiveScreen.Fill Возвращает цвет фона отображаемого экрана. Color.Green