Технология iBeacon в платежных решениях. Мобильное решение с использованием Azure, Xamarin.iOS и API Яндекс.Денег. Денис Кретов {НОТИССИМУС} Часть I. iBeacon. Теория. Beacon”(англ.) – радиомаяк Основа Bluetooth Low Energy Часть Bluetooth 4.0 “iBeacon”: технология и бренд маячков от Apple iBeacon. Характеристики. Низкое энергопотребление Радиус вещания – 30 метров в хороших условиях Частота вещания 100 мс Передаваемая информация: Идентификатор (UUID, Major, Minor) и эталонный уровень сигнала iBeacon. Оценка близости. В непосредственной близости(“Immediate”), до 50 см Близко(“Near”), до 2м Далеко (“Far”), до 30 м Неизвестно (“Unknown”) iBeacon. Ограничения. Смартфон должен поддерживать BLE iOS 7+, Android 4.3+, WinPhone 10 На телефоне должен быть включен Bluetooth iBeacon. Производители. Estimote Kontakt.io iBeacon. Применение технологии. Идентификация (PayPal, Starbucks) Навигация (аэропорт Heathrow) Помощь в выборе (кинотеатры) Контроль процессов (частота, время нахождения сотрудника в зоне) iBeacon. Рост применения технологии. Прогнозы. Часть II. iBeacon в платежных решениях. Схема решения. Bluetooth LE Схема решения. Часть II. Технологии. Bluetooth Low Energy Xamarin Azure API Яндекс.Денег Xamarin.Кроссплатформенность. Apple Специфичный для каждой платформы код на c# Android WinPhone Xamarin.iOS. Классы и службы. CLLocationManager – основная геолокационная служба в iOS CLBeaconRegion – область сканирования маячка (UUID) CLBeacon - свойства найденного маячка Xamarin.iOS. События. RegionEntered – входим в зону действия маячка RegionLeft – выходим из зоны действия маячка DidRangeBeacons- ранжируем маячок (далеко, близко, рядом) WinPhone 10. Package.appxmanifest <Capabilities> <m2:DeviceCapability Name="bluetooth.genericAttributeProfile"> <m2:Device Id="any"> <m2:Function Type="serviceId:ID beacon"/></m2:Device> </m2:DeviceCapability></Capabilities> Page.xaml.cs protected override async void OnNavigatedTo(NavigationEventArgs e) { foreach (DeviceInformation di in await DeviceInformation.FindAllAsync(BluetoothLEDevice.GetDeviceSelector())){ BluetoothLEDevice bluetoothLEDevice = await BluetoothLEDevice.FromIdAsync(di.Id); } } Azure. База данных проекта Единый API для связи между базой данных и мобильными приложениями Отправка Push-уведомлений Azure.Push. iOS Windows Phone GoogleAndroid APNs WNS GSM Azure Notification Hub Схемы оплат. Встроенные покупки (используем API вендора) Оплата через WebView (открываем в приложении браузер) Платежные шлюзы (Native SDK) Платежные шлюзы. PayPal Яндекс.Деньги Payonline.ru Best2Pay.ru И др. DEMO Спасибо за внимание! Вопросы? Денис Кретов {НОТИССИМУС} kretov.d@notissimus.com; http://notissimus.com;