Kitty
Пользователи-
Постов
792 -
Зарегистрирован
-
Посещение
-
Победитель дней
16
Весь контент Kitty
-
У многих андроид 4.3 - 4.4. Получается что этот пример работает только в последних версиях андроида... А можно ли, и как правильно прикрутить TBeacon к этой статье: http://yaroslavbrovin.ru/using-alarmmanager-in-firemonkey-on-android-ru/ Как заменить установку времени в этой статье, входом в зону маячка? Как правильно скрестить TBeacon и AlarmManager?
-
Компонент 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
-
Не помогло. Упорно нет текста справа.
-
Это делает код из стандартных примеров 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 и там написано: Ну просто красота - в готовое приложение можно добавить сервис: Right-click on the Android device, and select Add Android Service. Размечталась я об кренделях небесных - ну думаю в мой проект на С++ можно добавить службу на Дельфи и наступит счастье. Делаю в своем проекте Right-click on the Android device, and select Add Android Service и... ничего не происходит, просто тишина. Значит чтобы добавить службу на дельфи и само приложение должно быть на дельфи... печалька...
-
[Андроид] две версии приложения
Kitty опубликовал вопрос в Финальная (Release) сборка пакета приложения
Создано приложение для андроида. Реальное устройство подсоединено к студии. После компиляции приложение появилось на устройстве. Все нормально. Теперь я сделала изменения в коде и хочу снова запустить компиляцию. Мне надо чтобы первый вариант приложения не был затерт на устройстве, чтобы у меня было на устройстве оба варианта приложения. Достаточно ли поменять Project->Option->Version Info->label->$(ModuleName) вместо ModuleName вписать другое название или надо пересохранить проект с новым именем? Как правильно поступить для такой задачи? Спасибо. -
Большое спасибо за информацию! Речь не идет о том, чтобы спамить пользователя. Пользователь установил мобильное приложение торгового центра (кофейни) сознательно, чтобы иметь выгоды (скидки, купоны, распродажи). На уровне кода можно сделать, чтобы сообщение от конкретного маячка приходило однократно в сутки. Торговый цент может быть нашпигован маячками (у каждого магазина свой). Определять границы зон магазинов через службы позиционирования, наверное, сложная задача. Или, например музей, гуляя от картины к картине, на телефоне срабатывает аудиогид (видела такое в живую). P.S. Раз на вооружение iBeacon уже берут и используют McDonald’s, Tesco, Macy’s и другие, то это, наверное, все же перспективно.
-
Большое спасибо всем за интересное обсуждение этой новой технологии! Вот это и является для меня сложным - понять как при входе в зону, телефон сам видя это и понимая это, начинает стучать на сервер... Вот статью бы на эту тему. Я пробовала. Вроде изменений не заметила. Где-то читала, что это для служб надо устанавливать. Я их скачала. Судя из видео они для создания пользовательских зон. 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, но что это такое не ясно (в справке ничего нет)...
-
У меня нет телефона Apple. Для начала добиться бы от Андроид нужного поведения, потом уже можно ios заняться.
-
Нажимаю с удержанием кнопку на телефоне и вижу какие приложения у меня в фоне на заднем плане. Например на скриншоте вижу, что запущен хром. У меня именно так и происходит на телефоне. Отменить бы это событие и для приложения c компонентом TBeacon все вопросы бы снялись. Только не понятно как реализовать такое поведение.
-
И на моем телефоне висит сутками, но маленький нюанс. Реагировать на вход в зону маячка приложение перестает и каждый раз по разному - через 30 минут, через час, через два. Видимо андроид сам решает когда прибить функционал приложения. Приложение продолжает висеть в фоне, но абсолютно бесполезно - оно перестает реагировать на событие входа в зону маячка. Когда приложение снова, спустя время, запускаю пальцем из фона, то вижу, что оно перестартует полностью заново - идет заставка и запуск.
-
>2) запущенное приложение Значит жесткость соблюдается - приложение обязано быть запущено и не в коем случае не свернуто в фон ибо если оно свернуто, андроид прибьет его минут через 30. Значит идешь в торговый центр, хочешь знать о скидках, будь добр перед входом запусти приложение торгового центра... Теперь вроде полнач ясность...
-
Теперь мне понятно, что пуш присылает главный сервер, почитала документацию эмбаркадеро. Однако, как я поняла, это не подходит для компонента TBeacon. Вот приложение не запущено, вот вошёл человек в зону TBeacon, откуда об этом узнает главный сервер, чтобы послать пуш? Следовательно не подходит или не до конца поняла... Подумав пришла к выводу, что и отдельный фоновый сервис не возможно использовать с TBeacon. С этим компонентом сервис просто не запуститься. Моя программа, когда я её запускаею, напоминает мне включить блютуз если он не включён. Это действие компонента TBeacon. Следовательно фоновый сервис с компонентом TBeacon и не за пуститься если блютуз выключен. Одно не понятно, почему тут он говорит, что пуш приходит на спящий телефон, следовательно приложение не запущено. Как главный сервер может знать, что человек входит в зону? Может он приверает в своём видео?
-
Правильно ли я понимаю, что компоненты все же есть: BeaconFence Я скачала эти компоненты из меню Берлина 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 все работало...