Мобильный сервис

Как только база данных будет собрана, и эта база данных будет поддерживаться в более-менее актуальном состоянии (как я и говорил, базовые станции не перемещаются, но сеть все равно «дышит» — меняются идентификаторы, появляются новые базовые станции, исчезают старые), мы получим возможность строить свои собственные Location Based Services, без привлечения оператора. Например, сервис знакомств, о котором я писал выше.

Проблема построения такого рода сервисов заключается в том, что неизменным участником процесса является оператор сотовой связи, который предоставляет поставщику сервиса (т.е. вам) информацию о местонахождении пользователя (абонента этого оператора). Это означает, что нужно заключать договора с оператором, оговаривать взаимодействие с его сервисами, в конце концов, платить за эту услугу. Кроме того, оператор стремится гарантировать пользователю, что поставщик сервиса не узнает, кому он этот сервис предоставляет. Оператор, с особым фанатизмом, будет стараться сделать все возможное, чтобы ваш сервис не узнал, кому именно он его предоставил. Оказание услуги может выглядеть приблизительно так: оператор отдает поставщику сервиса некий ключ и локацию, поставщик применяет какую-то логику, и возвращает результат сервиса оператору. Информация о том, какому пользователю (ключу) был предоставлен сервис хранится у оператора. И даже если оператор согласится отдавать какую-то персональную информацию абонента, то, все равно, как вы понимаете, организованная группа программистов не сможет просто собраться, и на коленке разработать малобюджетный стартап, основанный на LBS из-за проблемы заключения каких бы то ни было договоров с оператором. Гораздо проще заключить договор с неким аггрегатором, который, в свою очередь, заключил договор с оператором, и может отдавать часть функций еще и четвертым лицам (т.е вам), но это лишь удлиняет цепочку между пользователем и вашим сервисом и уменьшает количество прибыли для вас, т.к. делитесь вы теперь не только с оператором, но и с аггрегатором. Кстати, заметили, что я говорю о прибыли? Да-да, пользователю, при выборе такой цепочки, придется платить деньги, иначе, их придется платить вам, т.к. оператор или аггерегатор едва ли захотят работать с вами бесплатно. Не стоит также забывать, что оператор не один, а их много, и договора заключать придется с каждым из них, если вы хотите работать с абонентами любых сетей, что, согласитесь, гораздо перспективнее.

Как вы понимаете, можно прикручивать LBS ко всему, что угодно. Поиск ближайшего кафе, кинотеатра, да, туалета, в конце концов. Почему я говорил именно о сервисе знакомств? Если взглянуть на рынок VAS (Value Added Services), то можно увидеть, что наиболее популярные сервисы – это вовсе не заказ мелодий и картинок, а именно сервисы знакомств. Их аудитория действительно обширна, и возможность познакомиться прямо на улице, где до объекта вожделения подать рукой – это заманчивое предложение, на мой взгляд. Что касается заработка на этом, то здесь работает контекстная реклама. Например, если «Кофе-Хауз» заплатил за рекламу, то парочке, «нашедшей друг-друга», можно запросто предложить посидеть в ближайшем кафе, определив его по их местоположению. Вариантов масса. Можно показывать любую рекламу на телефонах пользователей. Можно просить их за деньги поднимать анкеты в топе, как это делают сейчас. Вариантов масса.

Получение Cell ID на Windows Mobile — есть готовые примеры. Работает не на всех телефонах. Например, на моем Qtek с WM2003 не пошло, хотя с Мегафоном, через раз, таинственно получалось «выцепить» Cell ID. Взял у соседа Qtek с WM5 — собралось и завелось. В форуме, на который я дал ссылку, есть описания моделей, на которых это тестировалось и работает. Используется, соответственно, C# (.NETCF, OpenNETCF (если есть желание)) и C++ для общения с радио-модулем. Что касается C++, то dll уже собранные есть на этом форуме, а также имеются исходные тексты.

Посещая сайт beeline.ru, вы предоставляете согласие на обработку данных о посещении сайта beeline.ru (данные cookies и иные пользовательские данные), сбор которых автоматически осуществляется ПАО «ВымпелКом» (Российская Федерация, 127083, г. Москва, ул. 8 Марта, д. 10, стр. 14, далее — билайн) на условиях политики обработки персональных данных. Компания также может использовать указанные данные для их последующей обработки системами Яндекс.Метрика, MyTarget, Monkey, Mindbox и др., а также передавать/привлекать к обработке данных третьих лиц, перечень которых размещён здесь. Обработка осуществляется с целью функционирования сайта beeline.ru и продвижения товаров, работ, услуг билайна и третьих лиц.

Представительство ДОЙТЦ АГ в Москве проконсультирует Вас по всем вопросам касающимся продукции ДОЙТЦ АГ и обеспечит поддержку применения двигателей DEUTZ на вашем оборудовании, благодаря постоянно растущему количеству официальных сервис-партнеров. ДОЙТЦ АГ предлагает полный сервис для Вашего двигателя, на всей территории России и странах СНГ.

Представьте себе:
Ранняя осень, суббота, яркое солнце и желтые деревья, середина дня, Москва. Михаил, студент второго курса, выходит на улицы города Москвы в районе Театральной и достает свой мобильный телефон. Мишка включает приложение (назовем его «Тебедохр» – это будет рабочим названием), выбирает пункт «Хочу познакомиться» и вводит параметры своей суженой-ряженой. В этот момент, открывает GPRS-сессия, которая передает на сервер идентификатор пользователя, пароль и прочую авторизационную информацию, а так же Cell ID. Сервер, получает Cell ID, и если этот идентификатор есть в базе данных, то происходит определение адреса Миша, а если нет – то сервер попросит Михаила указать свой адрес. Теперь адрес Мишы известен, и все, что осталось серверу, — найти девушку с параметрами, которые указал Михаил. Похожая по описанию девушка находится в примерно одной с ним локации, и тоже не так давно сделала check-in на сервер. Все. Серверу осталось только связать Мишу и его желанную. Передаем анкету Мишы подошедшей девушке, и если она подтверждает, что не против познакомится, их обоих связывают посредством, например, чата. Мише и девушке осталось сделать два шага на встречу друг другу. Это примерная логика работы сервиса. Она может быть и другой, но суть должна быть ясна.

Что касается серверной части, то тут все четко, и никаких исследований проводить не надо. Мобильный телефон, в нашем случае, — ни что иное, как еще один http-клиент. Что будет принимать запросы телефона и отвечать ему — на любителя. Это может быть linux + apache + nginx + memcached + php5 + mysql5 или что-то иное. Само собой, учитывая специфику, работать придется не только с html+js, но так же разработать веб-сервисы для мобильных телефонов, дополнительный вывод в wml и xhtml(mp). Что касается веб-сервиса, учитывая участие WM устройств, один из протоколов мог бы быть SOAP, т.к. разработать приложение в Visual Studio, использующее SOAP – дело плевое. Что, касается других платформ – это могло бы быть что-то свое, опирающееся, например, на JSON (библиотеки для распаковки есть и для j2me и, само-собой, на c++ для Symbian).

Покрытие территории базовыми станциями

Допустим, что вы и ваши друзья (коллеги, товарищи) решили создать такой сервис, основной функционал которого будет строится вокруг местоположения пользователя. Вы столкнетесь со многими проблемами, часть из которых будет не просто решить чисто технически. Я собираюсь рассказать об альтернативном способе их решения, который в чем-то может быть сложнее, но уж точно решается техническими специалистами.

Такой проект вполне по плечу команде из четырех программистов: Crazy c++ программист для платформы Symbian; C# программист для Windows Mobile; Java программист для j2me платформы; PHP(Ruby, Python, Perl, ASP .NET и т.п) программист для серверной части. Кстати, программист под Symbian не обязателен, т.к. j2me приложения прекрасно работают на этой платформе. Работают они и на Windows Mobile, однако внешний вид этих приложений на данной операционной системе оставляет желать лучшего.

Получение Cell ID на Symbian. Есть проект «CellTrack». Есть форум разработчиков, на котором можно скачать примеры и обсудить реализацию. На mobilab.ru есть статья с исходным текстом программы, для получения Cell ID. В отличие от Windows, на Symbian уже все давно работает стабильно.

ПАО «ВымпелКом» раскрывает информацию, предусмотренную законодательством РФ о ценных бумагах также на странице в интернете ООО «Интерфакс-ЦРКИ» — информационного агентства, аккредитованного ЦБ РФ на раскрытие информации. Информация доступна по ссылке.

Посещая сайт beeline.ru, вы предоставляете согласие на обработку данных в соответствии с политикой конфиденциальности.

Однако, лучшим решением по формированию базы данных Cell ID, на мой взгляд, будет не привлечение нетмониторщиков, а непосредственный сбор информации о базовых станциях в уже готовом приложении какого-то сервиса. Возьмем, для примера, сервис знакомств. На первом этапе, можно не пытаться определить локацию пользователя по Cell ID, а просить его ввести улицу, на которой он находится. Вместе с информацией об адресе, на сервер будет передан идентификатор базовой станции и идентификатор оператора пользователя. Таким образом, сервис будет оказан, а мы получим адрес очередной соты. Конечно, быстро такая база не соберется, да и возникнет сложность с обработкой информации от пользователей: названия улиц могут быть введены с ошибками, транслитом и т.д. Однако, позже, базу данных можно будет «причесать», и уже не просить пользователя вводить адрес, или, по крайней мере, стараться делать это реже.

Таким образом, мы видим, что разработать мобильный сервис, основанный на определении местоположения пользователя сотовой связи, без привлечения оператора, вполне себе возможно. Дерзайте!

Базовые станции на вышке

Как известно, в сетях сотовой связи существует возможность определения местонахождения пользователя (абонента), а точнее, местонахождения его телефона. Сервисы, основанные на определении местоположения пользователя, называются LBS (Location Based Services). Примером LBS может служить Мобильный поиск — сервисы для пользователей МТС, позволяющие узнать, где находятся дети, друзья, машина и т.п. Точность определения местонахождения, в локациях с большим количеством базовых станций (например, в центре города), может достигать 100 метров.

Теперь, что касается реализации.

Получение Cell ID на j2me. Определение Cell ID, доступно для аппаратов, поддерживающих CLDC 1.1, т.к. набор библиотек Location API использует тип float для представления координат. На sun есть статья о LBS и ссылка на спецификацию библиотеки. Если бы ребята разнесли по разным библиотекам определение Cell ID и, собственно, получение координат, то, вероятно, все работало бы прекрасно и на CLDC 1.0. К сожалению, они объединили все в одной библиотеке. Альтернативный вариант – использовать «System.getProperty(«CellID»)«, однако, судя по форумам, этот метод работает далеко не на всех моделях.

Возможно, вы указали неправильный адрес или страница, на которую вы хотели зайти, устарела и была удалена.

МТС — связь и экосистема цифровых сервисов

Следующая проблема заключается в том, (и это, на мой взгляд, самая основная проблема сервиса без привлечения оператора), чтобы узнать сопоставление «Cell Базой данных «Cell обладает только оператор сотовой связи, и информация эта — своего рода секрет.
На помощь в составлении базы данных Cell ID могут прийти технологии Web 2.0., а именно — пользователи, которые сами соберут эту базу данных. Можно создать приложения для мобильных телефонов (апплеты), которые будут показывать идентификатор текущей соты, в покрытии которой находится пользователь, а пользователь может ввести адрес, который он видит на углу ближайшего дома. Информация об идентификаторе соты и адресе будет передаваться по GPRS на сервер, а пользователю зачислятся дополнительные очки (карма, если хотите). Можно стимулировать пользователей и подарками, и деньгами, и всем чем угодно. Важно то, что только тысяча пользователей на улицах города способна собрать информацию о базовых станциях своего оператора. Кстати, на западе есть много клубов нетмониторинга, участники которых собирают данные о базовых станциях в своем городе, снабжая новый Cell ID не только адресом, но и фотографией местности. Вот пример такого клуба (http://gsmloc.org). Клуб нетмониторинга есть в достаточно развитом виде в Питере (http://www.netmonitor.ru).

Upd.
Пользователь olegi создал сервис, который основан на принципах, которые я описал в этом топике. С этим сервисом вы можете познакомиться тут http://habrahabr.ru/blog/i_am_clever/18819.html

Существует, однако, и другой способ построения такого рода сервисов. Если посмотреть на сотовую сеть, то она представляет из себя набор базовых станций. Каждая базовая станция покрывает определенный участок, локацию. У каждой базовой станции есть Cell ID — так называемый, идентификатор соты, уникальный для каждой базовой станции оператора. Телефон абонента всегда знает в покрытии какой соты (базовой станции) он находится (он знает ее Cell ID). Так как базовые станции не имеют ног, и, как правило, прикручены к крышам домов, то их адрес более-менее постоянный. Пытливый ум уже сделал вывод, что пользователь может узнать идентификатор соты в которой он сейчас находится, а через него и адрес (~ приблизительный).

Актуальные новости не только о тарифах и услугах связи, но и новых продуктах МТС: цифровых приложениях для работы и отдыха, ТВ и медиа, финансовых сервисах, технологиях для запуска и продвижения бизнеса и других сервисах компании

У него же нашел ссылку на большую базу данных базовых станций отечественных операторов. Это значит, что вам не нужно мороки со сбором данных о базовых станциях. Берите готовое и лепите сервисы!

Источники:

https://www.deutz.ru/mobilnyi-servis-24/7&rut=d1b8377f2f62a456e079622200034d912450efa6144fc4e2f2323d3196bcb025
https://moskva.beeline.ru/customers/products/mobile/services/cellphone/&rut=3745ac0b617e84fb70936e17da79e7f53a34437886dbb36cf25c7781ac77f4e8
https://mts.ru/&rut=1e35c007e0b0ad47b675e818a41c7dc14550b6bf56135cc7c3269819fd3b544d
https://www.youtube.com/channel/UCQhhN4m0q8x1Uefrh158rCQ&rut=adbf5a15f3aa33984ad9ef45126ec861f32b2e884f4748764bd30ed018ea5dbe
https://mobileservice61.ru/&rut=745646a0f9384d13ac713f42edd48385d41149e86de1d4ac519bb91f02cea527
https://app.konsierge.com/&rut=bd6c6f7f7e46a20254491a0e3cd96cdd0b8a618773eb19aad8853a9a17eab7e6
https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%80%D0%B0%D0%B4%D0%B8%D0%BE%D1%81%D0%B2%D1%8F%D0%B7%D1%8C&rut=b99092c91959063ab8cfb4ea0a46f42b2698d06c79c9a4dadc9f5e273a137d6c
https://habr.com/ru/articles/15292/&rut=5cdb2fe08d4011bc4eb03bc6e1eeeffe3c64181f25910a58e86c53936bd231e4
https://nanoreview.net/ru/phone-compare&rut=83f8ed85733960f5d1714a407f968112b95028868c7c180779f989d512868533