Доброго дня, читатель. Редко я захожу сюда, ещё реже что-то пишу. Сейчас один из тех случаев, когда я считаю, что это просто необходимо.
Введение
Те, кто сталкивался с сервисом Dreamkas (онлайн-кассы, фискализация чеков, сканеры, терминалы и вот это вот всё по 54-ФЗ), могут иметь интернет-магазин на базе OpenCart.
Дримкас предоставляет модули для интеграции с кучей CMS. Такие надстройки необходимы для отслеживания статусов фискализации чеков по заказу на сайте. Есть такой модуль и для OpenCart.
Сегодня слегка поправил расположение пары элементов сайта: дата и автор материала теперь отображаются в конце поста рядом с категорией и метками, а не под заголовком.
По пути вставил социальные кнопочки: в заголовок сайта и в конец поста. Они не отображаются на мобильных экранах. Меня об этом недавно попросили, а сам почему-то не задумался, когда денно и нощно настраивал abtool.ru.
Ко всему прочему начал писать заметки об ошибках в ABTool. Так они и называются — «Проблема». Главные проблемы можно прочесть ниже:
Перед полным переходом на новую версию придётся почитать файл справки. В программе есть изменения, которые не позволят как раньше просто заменить exe-файл.
Описание:
ABTool — приложение для быстрой и комфортной установки пакетов часто используемых программ, а также запуска разнообразных утилит для диагностики характеристик компьютера. В первую очередь, эта программа может быть очень полезной компьютерным специалистам, которым часто приходится устанавливать один и тот же набор программного обеспечения, проводить экспресс-тестирование аппаратного обеспечения и периферии компьютеров под управлением операционных систем семейства Windows.
ABTool может быстро запускать нужные инсталляторы, список которых полностью настраивается через ini-файл. При этом список можно разбить на группы и отдельные пакеты по своему желанию. Теперь буквально в несколько кликов мышки Вы установите только те программы и приложения, которые нужны в данный момент. Удобно, что есть возможность контроля корректности завершения каждого запущенного инсталлятора. Помимо того, поддерживается работа не только с .exe-, но и .msi- и .msu-инсталляторами, что значительно расширяет возможности ABTool. При необходимости доступен импорт данных из REG-файлов в реестр ОС уже в ходе установки.
Работать с приложением ABTool удобно и легко, все функции интуитивно понятны. Теперь, всего лишь один раз создав базовый каталог своих программ и утилит, Вы сможете оперативно их устанавливать и запускать, проводить оптимизацию показателей ОС и экономить время при разнообразных рутинных операциях, связанных с обновлением и переустановкой программного обеспечения. Программа ABTool изначально разрабатывалась как альтернатива batch-файлам для оперативной установки пакетов программ, для проведения оптимизации работы ОС, и как простой лончер для запуска различных полезных утилит для диагностики компьютера.
Программа может быть очень полезна различного рода компьютерным специалистам, которым часто приходится устанавливать один и тот же набор программного обеспечения и проводить экспресс-тестирование аппаратного обеспечения и периферии компьютеров под управлением операционных систем семейства Windows.
Portable, не требует установки.
Основные возможности утилиты:
* Быстрый последовательный запуск нужных Вам инсталляторов: — список инсталляторов полностью настраивается через ini-файл; — список можно разбить на группы и отдельные пакеты; — ABTool позволяет в несколько кликов выбрать для установки только те программы, которые нужны в данный момент; — есть возможность контроля корректности завершения каждого запущенного инсталлятора; — установка MSI и MSU дистрибутивов; — поддержка BAT и CMD файлов сценариев; — возможен импорт данных из REG-файлов в реестр ОС в ходе установки.
* Быстрый запуск программ первой необходимости: — список запускаемых программой утилит настраивается через простой ini-файл; — список можно разбить на группы и отдельные пакеты;
* Сервис: — проверка наличия обновлений ABTool; — проверка наличия необходимых ini-файлов и создание отсутствующих; — ведется подробный лог работы программы.
Вот, первый пост в свежем 2015-ом году. Его я посвящу теме программирования, хотя его тут будет минимум. Перейду к делу.
Что имеем: • Google-аккаунт (с незаблокированным доступом к AdSense!!); • RAD Studio XE6 и выше (версия важна, т.к. в них разные танцы с бубном); •готовое (или почти готовое) приложение, написанное в RAD Studio.
Что хотим: слегка монетизировать это приложение после его публикации засчёт рекламы, отображающейся в нём.
1. Создаём рекламный блок
Шаг 1.1 Итак, первым шагом необходима регистрация в сервисе AdMob: https://apps.admob.com/admob/signup. Заполняем все необходимые поля. Это и почтовый адрес, и валюта, и что-то ещё, уже не помню.
После регистрации будет предложено добавить приложение для монетизации. Должен сказать, что AdMob теснейшим образом взаимоинтегрирован с Google Play (кстати, также и с AdSense, и с Analytics, и с прочими гуглосервисами), поэтому на первом шаге будет предложено ввести имя пакета (или своё как разработчика) чтобы найти приложение в GPlay. Но не будет ничего страшного, если в гугломаркете твоего приложения ещё нет.
Я просто выбираю «Добавить новое приложение вручную» и заполняю поля:
Шаг 1.2
После добавления приложения необходимо создать рекламный блок, который будет крутиться где-то в приложении:
Для текстовых объявлений я предпочитаю такой стиль: он удобен тем, что юзеру такой баннер не бросается в глаза, зато он легко может спутать его с каким-нибудь элементом на экране и ткнуть.
В конечном итоге мы получаем индентификатор нашего баннера:
Он уникален для каждого создаваемого рекламного блока. Имеет формат:
ca-app-pub-xxxxxxxxxxxxxxxx/yyyyyyyyyy
где pub-xxxxxxxxxxxxxxxx — твой идентификатор издателя (отображается в правом верхнем углу), yyyyyyyyyy— судя по всему, идентификатор непосредственно самого блока.
Шаг 1.3 Сохрани где-нибудь у себя всю полученную строку, без неё ничего не выйдет.
2. Вставляем рекламу в приложение
Шаг 2.1
Открывай свой проект приложения в RAD Studio. В нужном месте твоего интерфейса необходимо добавить компонент TBannerAd. Бросаешь его на форму, выставляешь нужное прилипание (например, классическое MostBottom, при условии, что Parent у баннера именно форма, а не какой-нибудь ListView).
Для формы создаёшь обработчик события OnShow и в нём пишешь такие строки:
Шаг 2.2 Открываешь блокнотом файл AndroidManifest.template.xml, в него вставляешь строки: • перед < activity … > meta-data android:name=»com.google.android.gms.version» android:value=»4323000″ / • после < / activity > activity android:name=»com.google.ads.AdActivity» android:configChanges=»keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize»/ Примечание 1: здесь из-за глюков местного редактора я убрал в начале и конце этих строк угловые скобки < и >. Визуальный редактор по умолчанию Blogger не умеет корректно отображать какие бы то не были теги, он их обязательно интерпретирует. Т.о. они исчезают из текста и принимают вид части исходного кода страницы. Поэтому тебе надо поставить эти скобоки самому: < в начале строки и > в конце. Ничего страшного, всего четыре символа. Примечание 2: говорят, с тех пор, как была выпущена XE6, изменился механизм показа рекламы. Толи в Android, толи в AdMob. Поэтому, если ты столкнулся с проблемами, то советую изучить этот вопрос самостоятельно: http://fire-monkey.ru/topic/547-novyi-admob-v-delphi-xe6-prilozhenii. Автор там сам разобрался и говорит, что возможные проблемы должен помочь решить вот этот патч.
У компонента TBannerAd есть свойство TestMode (boolean). Если оно = true, то будет отображаться тестовый блок, а не реклама. Например, так:
При этом в AdMob не будут считаться показы рекламы, ведь фактически она и не показывается.
Это делается для того, чтобы протестировать правильность настройки проекта. Когда там будет отображаться настоящая реклама, а ты на неё ткнёшь, то рано или поздно может произойти блокировка доступа ко всему AdSense (а значит и AdMob) для твоего гуглоаккаунта. Поверь, в этом мало приятного.
Если TestMode не установить в true, тогда в панели управления AdMob счётчики показа будут увеличиваться. Вот так выглядела моя ПУ после тестов моего приложения:
Посмотри на данные. Не надо так делать. Это, во-первых, нечестно (один тап по рекламе я совершил для проверки того, а второй чисто случайно), а во-вторых, после дистрибуции приложения эти данные не сразу скорректируются с реальностью на чужих устройствах.
Всё? В принципе, реклама уже добавлена в приложение и всё, казалось бы, прекрасно. Но не сразу: я долго изучал вопрос почему реклама не отображается, хотя было всё сделано как надо. Не найдя решения, даже опустил руки и плюнул.
Потом просто запустил приложение в очередной раз и реклама таки появилась! Я не сразу понял это, но причина проста: когда создаёшь рекламный блок в панели управления AdSense и потом вставляешь код объявления в нужное место сайта, то реклама там отображается далеко не сразу, а это место чем-то замещается. Проходит какое-то время (от минут до часов) и всё встаёт на свои места. Здесь ситуация аналогичная. Настоящая реклама по началу долго идёт до твоего рекламного места.
Так что не следует суетиться из-за «нерабочей» рекламы сразу после её создания — возможно, твоё рекламное место ещё не «активировалось». Лучше включи TestMode.
Представляю твоему вниманию топорную, не оптимизированную (а оно надо?), наипростейшую игру (после «Угадай число», где главный герой — великий рандом) под названием «Квадрат«.
Суть в том, что у тебя есть квадратное поле 3х3, заполненное числами от 1 до 9 в разном порядке. Цель игры — расставить все числа на свои места.
Отличие от пятнашек, помимо прочего, в том, что делается это вращением углов 2х2 по часовой стрелке, для чего и расположены стрелки-кнопки в углах поля. Когда цифра встаёт на своё место, то фон соответствующей ячейки меняется на зелёный; у тех цыфер, что стоят неверно — фон красный.
Дополнительные фичи, типа защиты листа от «читерства» (изменения содержимого ячеек), улучшения и оптимизации добавляйте сами. Это только основа.
Залил парочку полных лабораторных, которые на днях решал у себя в колледже. Можно глянуть в «Разработках». Через какое-то время дозалью всю пачку лаб, которые мне довелось написать по «Основам программирования» в рамках контрольной недели (промежуточная аттестация посередь семестра).
Кому пригодилось » отписываемся.
Замечу, что все эти наработки, а также кое-что ещё для блога хранятся в моей Dropbox. Вполне себе удобный хостинг 🙂