Kitty
-
Постов
792 -
Зарегистрирован
-
Посещение
-
Победитель дней
16
Сообщения, опубликованные Kitty
-
-
У многих андроид 4.3 - 4.4. Получается что этот пример работает только в последних версиях андроида...
А можно ли, и как правильно прикрутить TBeacon к этой статье: http://yaroslavbrovin.ru/using-alarmmanager-in-firemonkey-on-android-ru/
Как заменить установку времени в этой статье, входом в зону маячка?
Как правильно скрестить TBeacon и AlarmManager?
-
А в C++ Builder это установить можно?
-
-
Компонент TBeacon в Берлине поддерживает технологию блютуз Eddystone (см. картинку).
Технология Eddystone позволяет прислать уведомление с URL на телефон, если на нем не установлено приложение, но есть браузер Хром.
Статья о Eddystone найдена тут: https://habrahabr.ru/post/274585/
Есть маячок IBKS105 настроенный на Eddystone-URL. О том, что маячок правильно настроен, свидетельствует стороннее приложение из маркета:
https://play.google.com/store/apps/details?id=physical_web.org.physicalweb
Короткая ссылка URL в маячке настроена на сервисе гугла (см. картинку).
Хром настроен согласно рекомендациям (блютуз и геоданные включены):
https://support.google.com/chrome/answer/6239299?hl=en
Дополнительно в настройках Хрома в Личных данных стоит ВКЛЮЧИТЬ Интернет вокруг нас. Однако ссылку из маячка Хром не видит, если в настройках Хрома нажать кнопку УЗНАТЬ ЧТО ПОБЛИЗОСТИ, то пусто.
Поэтому при входе в зону маячка уведомление с URL на телефон не приходит. Где может быть проблема?
Версия Хрома последняя 51. Версия андроида 4.4.4 -
Цитата
А вы после заполнения LV вызвали LV.Resize?
Не помогло...
-
Не помогло. Упорно нет текста справа.
-
Это делает код из стандартных примеров RAD XE7. Только вот в Берлине ничего не отображается.
void __fastcall TMainForm::ListView1UpdatingObjects(const TObject *Sender, const TListViewItem *AItem, bool &AHandled) { TListItemText * LCaption = reinterpret_cast<TListItemText*>((const_cast<TListViewItem*>(AItem))->Objects->FindObject(sText)); if (LCaption == NULL) { LCaption = new TListItemText((TListItem*)AItem); LCaption->Name = sText; LCaption->Align = TListItemAlign::Trailing; LCaption->VertAlign = TListItemAlign::Trailing; LCaption->PlaceOffset->X = 15; LCaption->PlaceOffset->Y = 12; LCaption->TextAlign = TTextAlign::Center; LCaption->Trimming = TTextTrimming::Character; LCaption->IsDetailText = True; LCaption->Width = 90; LCaption->Height = 45; } }
-
Не совсем понимаю о чем речь. В предыдущей версии я вижу текст "Это текст справа", в Берлине нет.
-
В С++ Builder XE7 работает такой код:
const System::UnicodeString sText = L"CA"; TListViewItem * item = ListView1->Items->Add(); item->Text = L"Основной текст"; item->Detail = L"Детальный текст" item->BitmapRef = Image1->Bitmap; //картинка item->Data[sText] = TValue::From<UnicodeString>(L"Это текст справа"); //<- В Берлине не отображается
При переносе этого кода в Берлин не отображается справа значение item->Data[sText] в ListView. Как это исправить?
Спасибо.
-
Цитата
может у кого есть возможность проверить демку сервиса
Так давайте я проверю работу готового сервиса. У меня есть реальный маячок.
Цитатаменяйте архитектуру, подход к решению...
Мне трудно самой придумать архитектуру. Например, так реализовано у сети кофейн Starbucks.
Пользователь приходит, телефон его приветствует, считает частоту его приходов и т.п. делает выводы и предлагает разного рода плюшки.ЦитатаА где такое реализовано, подскажите плиз, хочу с ними встретиться?
Это наблюдала несколько месяцев назад в гостях на одной из выставок тут: http://художественныесокровища.рф/
Была выставка с этой технологией. Народ ходил от картины к картине и слушал инфо из телефона. Были мною замечены маячки...
-
Изучила пример: C:\Users\Public\Documents\Embarcadero\Studio\18.0\Samples\Object Pascal\Multi-Device Samples\Device Sensors and Services\AndroidBeaconServiceDemo.
Там есть readme.html и там написано:
ЦитатаTo open the projects:
Navigate to the location given above.
Open the sample application group project file: BeaconServiceDemo.groupproj.To create the Android Service:
Select libBeaconService.so on the Project Manager.
Right-click to select Compile.Note: Compiling the project generates the files that you need to add to the main application.
To add the Android Service to the main application:
Select BeaconServiceApp on the Project Manager.
Expand the Target Platforms node.
Select the Android device.
Right-click on the Android device, and select Add Android Service.
Select the location to C:\Users\Public\Documents\Embarcadero\Studio\18.0\Samples\Object Pascal\Multi-Device Samples\Device Sensors and Services\AndroidBeaconServiceDemo\BeaconService.
Click Next.Note: Check that the location to these files is added: libBeaconService.so, BeaconService.jar, and BeaconServiceUnit.pas.
Click Finish.
Press F9 or choose Run > Run to deploy the application to an Android device.Ну просто красота - в готовое приложение можно добавить сервис: Right-click on the Android device, and select Add Android Service.
Размечталась я об кренделях небесных - ну думаю в мой проект на С++ можно добавить службу на Дельфи и наступит счастье.
Делаю в своем проекте Right-click on the Android device, and select Add Android Service и... ничего не происходит, просто тишина.
Значит чтобы добавить службу на дельфи и само приложение должно быть на дельфи... печалька...
-
Создано приложение для андроида. Реальное устройство подсоединено к студии. После компиляции приложение появилось на устройстве. Все нормально.
Теперь я сделала изменения в коде и хочу снова запустить компиляцию. Мне надо чтобы первый вариант приложения не был затерт на устройстве, чтобы у меня было на устройстве оба варианта приложения.
Достаточно ли поменять
Project->Option->Version Info->label->$(ModuleName)
вместо ModuleName вписать другое название или надо пересохранить проект с новым именем?
Как правильно поступить для такой задачи?
Спасибо. -
Цитата
В общем, копался тут в исходниках (по другому вопросу), а потом забрёл в семплы и ... iBeacon в сервисе возможен
Большое спасибо за информацию!
Цитатада например, нужно не спамить пользователя при входе в ТЦ, нужно задействовать службы геопозиции на уровне операционки
Речь не идет о том, чтобы спамить пользователя. Пользователь установил мобильное приложение торгового центра (кофейни) сознательно, чтобы иметь выгоды (скидки, купоны, распродажи). На уровне кода можно сделать, чтобы сообщение от конкретного маячка приходило однократно в сутки. Торговый цент может быть нашпигован маячками (у каждого магазина свой). Определять границы зон магазинов через службы позиционирования, наверное, сложная задача. Или, например музей, гуляя от картины к картине, на телефоне срабатывает аудиогид (видела такое в живую).
P.S.
Раз на вооружение iBeacon уже берут и используют McDonald’s, Tesco, Macy’s и другие, то это, наверное, все же перспективно. -
Большое спасибо всем за интересное обсуждение этой новой технологии!
Цитатавам не приложение должно отправить уведомление а сервер а серверу стучит сам телефон без участия приложения нужно задать параметры сервера
Вот это и является для меня сложным - понять как при входе в зону, телефон сам видя это и понимая это, начинает стучать на сервер... Вот статью бы на эту тему.
ЦитатаПопробуйте поэкспериментировать с "Project options -- Version info -- persistent=true"
Я пробовала. Вроде изменений не заметила. Где-то читала, что это для служб надо устанавливать.
ЦитатаВ Tools→Getit PM есть компоненты Beacon Fence (BeaconZonesFencing, BeaconMapFencing).
Я их скачала. Судя из видео они для создания пользовательских зон.
http://www.fmxexpress.com/visually-design-zones-and-maps-using-beacon-fence-solution-for-delphi-xe8-firemonkey/Видeо Байрама не много устарело. Он там говорит, что с этой технологией проблемы у андроида. Но сейчас все эти проблемы разрешены.
Я заинтересовалась этой технологией насмотревшись видео Кульгина. Он штампует видео про iBeacon как пирожки.Сегодня новое выпустил
Кстати Berlin и его компонент TBeacon поддерживает и стандарт Eddystone.
-
А как мне поможет сервис? Приложение с компонентом TBeacon при запуске напоминает включить блютуз. Поэтому предполагаю, что в сервисе вообще нельзя использовать TBeacon. Идеальный вариант такой - пользователь входит в зону, сервис это видит и запускает основное приложение. Для "видиния" зоны используется компонент TBeacon. Но если его засунуть в сервис и блютуз не включён, то служба, я думаю, работать не будет...
-
Цитата
маяк будит систему(?) и программу в ней(?)
В том то и дело, что этот паразит не будит приложение.
Все выглядит так:
1. Кидаю на форму компонент TBeacon. Определяю его события в инспекторе объектов. Например "Привет мир" при входе в зону.
2. Запускаю. Если я в зоне реального маячка, то вижу сразу "Привет мир", если я не в зоне и вхожу в зону, то тоже вижу "Привет мир".
3. Если приложение на переднем плане, то оно продолжает работать и через сутки, короче все работает и при потухшем экране на телефоне если приложение на переднем плане.
4. Если свернуть приложение, то как и писали выше, оно перестает реагировать спустя определенное время.
У компонента TBeacon есть свойство BeaconDeathTime=20, но что это такое не ясно (в справке ничего нет)...
-
Цитата
в магаз только покупатели с телефонами на Android?
У меня нет телефона Apple. Для начала добиться бы от Андроид нужного поведения, потом уже можно ios заняться.
-
Цитата
Как вы проверяете, висит ли приложение в фоне или нет?
Нажимаю с удержанием кнопку на телефоне и вижу какие приложения у меня в фоне на заднем плане. Например на скриншоте вижу, что запущен хром.
ЦитатаМожет я конечно чего-то не знаю, но судя по жизненному циклу приложения без службы, оно будет убито в любой момент, после того как его "свернули". Время, через которое будет убито приложение зависит уже от самой системы.
У меня именно так и происходит на телефоне.
Цитатасобытие "OnStop" позволяет системе убить приложение.
Отменить бы это событие и для приложения c компонентом TBeacon все вопросы бы снялись.
Цитатаhttps://www.ibeaconrussia.ru/blog/ibeacon-na-android/
#2. iBeacon позволяет непрерывно отслеживать активность радиомаячков
Мобильные устройства на базе Android могут взаимодействовать с радиомаячками iBeacon даже тогда, когда приложение для iBeacon не запущено или работает в фоновом режиме.
Только не понятно как реализовать такое поведение.
-
Цитата
на моем телефоне сутками висит спокойно
И на моем телефоне висит сутками, но маленький нюанс. Реагировать на вход в зону маячка приложение перестает и каждый раз по разному - через 30 минут, через час, через два. Видимо андроид сам решает когда прибить функционал приложения. Приложение продолжает висеть в фоне, но абсолютно бесполезно - оно перестает реагировать на событие входа в зону маячка. Когда приложение снова, спустя время, запускаю пальцем из фона, то вижу, что оно перестартует полностью заново - идет заставка и запуск.
-
>2) запущенное приложение
Значит жесткость соблюдается - приложение обязано быть запущено и не в коем случае не свернуто в фон ибо если оно свернуто, андроид прибьет его минут через 30.
Значит идешь в торговый центр, хочешь знать о скидках, будь добр перед входом запусти приложение торгового центра...
Теперь вроде полнач ясность...
-
Теперь мне понятно, что пуш присылает главный сервер, почитала документацию эмбаркадеро. Однако, как я поняла, это не подходит для компонента TBeacon. Вот приложение не запущено, вот вошёл человек в зону TBeacon, откуда об этом узнает главный сервер, чтобы послать пуш? Следовательно не подходит или не до конца поняла...
Подумав пришла к выводу, что и отдельный фоновый сервис не возможно использовать с TBeacon. С этим компонентом сервис просто не запуститься. Моя программа, когда я её запускаею, напоминает мне включить блютуз если он не включён. Это действие компонента TBeacon. Следовательно фоновый сервис с компонентом TBeacon и не за пуститься если блютуз выключен.
Одно не понятно, почему тут он говорит, что пуш приходит на спящий телефон, следовательно приложение не запущено. Как главный сервер может знать, что человек входит в зону? Может он приверает в своём видео?
-
К сожалению сейчас нет под рукой устройства на котором отладка не работает. Если у кого то не работает отладка проверте эту теорию и отпишитесь: http://community.embarcadero.com/blogs?view=entry&id=8545
-
Правильно ли я понимаю, что компоненты все же есть:
Я скачала эти компоненты из меню Берлина Tools->CetIt.
Ограничение этих компонентов: allowing you to set up and deploy BeaconFence with support of up to 3 beacons, 1 location with a building size of up to 1,500 square feet / 150 square meters and 1 application
Это и есть решение для приложений Geofencing в Берлине?
-
Просто в С++ Builder XE6 все работало...
Мобильное рабочее место кассира
в Приложения, написанные с использованием FireMonkey
Опубликовано
Не совместим с моими устройствами. Андроид телефон 4.4.2 и планшет 4.4.4.