Реализовать paywall для android в виде Dialog (саму покупку инаппов мы сделаем сами)

Дата публикации: 11.05.2022 18:29:36
Нужно реализовать в виде Dialog (а не Activity!) на языке Java (а не котлине!) диалог по продаже подписок в приложении, с переменным количеством инаппов. Логику покупки инаппов реализовывать не нужно, это будет делать наш класс, нужно просто перехватить нажатие кнопки покупки. Использовать WebView для чего-либо запрещено, все должно быть сделано на API(то есть используя xml с layout) Надо реализовать PaywallDialog. Наш код будет вызывать PaywallDialog.run() для показа диалога, выставив сначала значения статичных членов класса. 1.0 Выглядеть примерно должно вот так https://adapty.io/mobile-paywall-library/flexjobs-remote-job-search (но там не хватает кнопки restore purchases) или как-то так https://adapty.io/mobile-paywall-library/charging-animation-volt 1.1 Диалог (помимо возможности купить подписку) не дает юзеру пользоваться прогой некоторое время (30 секунд определяется членом класса seconds_to_block_use). В течение этого времени закрыть диалог никакой возможности (кроме как покупкой товара) нет. 1.2 Где-нибудь внизу в диалоге показывается локализуемая надпись "Purchase subscription or wait to return to the app:" 0:28 (где 0:28  это таймер, уменьшающийся каждую секунду и обновляемый раз в секунду). После достижения таймером 0 надпись исчезает, и у диалога появляется крестик в правом верхнем углу, (и заместо этой надписи кнопка Close), нажатие на которые закрывает диалог и приводит к вызову backend.onTmeout() 1.3 когда юзер переключается в другую прогу, вызывается on_app_suspended() когда возвращается - on_app_resumed() чтобы таймер не засчитывал время, когда наша прога в фоне 1.4 Если при вызове конструктора seconds_to_block_use == 0 то таймер обратного отчета запускать не надо, кнопку и крестик для закрытия диалога показывать сразу же. Это значит что прога уже показала юзеру неотключаемую рекламу и юзер может сразу закрывать это окно. 2.1 Если юзер нажмет кнопку EULA показать в новом диалоге текст из eula_text (видимо старый со списком товаров придется скрыть, а при закрытии юзером этого диалога с текстом EULA показать диалог со списком товаров. Новый диалог с текстом EULA должен иметь соответствующий заголовок ("EULA") 2.2 Если юзер нажмет кнопку Privacy все то же самое как в п2.1 но используем privacy_policy_text 3.1 Для каждого объекта в List<PaywallProduct> products показываем блок с кнопкой которая приводит к вызову purchase() данного товара. Диалог скрывать не надо при вызове этого метода. 3.2 Блоки для товаров показывать строго в порядке в переданном списке (то есть кнопка пожизненной лицензии может быть и в середине или в самом начале) 4.1 Цена недельной подписки может быть не первым элементом списка. 4.2 Если статическая переменная show_savings == true то для каждого товара показывать в красивом виде экономию в % относительно цены одной недели ("Save 37%"), и цену одной недели ("Only $2.33 per week")(см примеры из п1.0). Для пожизненной лицензии этого не показывать, конечно. Соответственно в конструкторе класса найти в списке недельную цену  чтобы от нее расчитывать выгоду. Цену брать из поля price_micros 5.1 Диалог должен иметь заголовок и многострочный текст перед списком товаров (plain text без форматирования). Оба определяемые в layout, но с возможностью переопределить через статические переменные title_text и preface_text (если они не null) 6.1 Все строки которые видит юзер должны быть локализуемыми 6.2 Диалог должен приятно смотреться на планшетах и смартфонах, в портретной и альбомной ориентации 6.3 Все используемые цвета (фона, текста, кнопок) должны быть именованные, чтобы их можно было подменять через res\values\colors.xml
Источник: www.fl.ru
Число просмотров: 4

Еще проекты:

Настроить рекламу Вконтакте

Требуется настроить рекламу Вконтакте Имееться обычный лендинг сайт, на него нужно будет и гнать трафик. Готов к новому по типу, если нужно будет что то новое сделать, группу ВК, что то еще, чтоб собирать и делать лид ген. На сайте указан вотсапп куда пишут клиенты. Тематика временная регистрация в москве. По оплате, оплачиваю работу по результату, могу платить за лид, заявку. Без предоплат. Хороший специалист должен это понимать. И также нужно будет введение Сумму указал по дефолту.

Менеджер по подбору персонала (Бюджет: 60000 руб)

<p>Требуется <strong>менеджер по подбору персонала </strong>с опытом работы от 5 лет<strong> </strong>для закрытия нескольких вакансий (инженер по ремонту оборудования, менеджер по продажам, администратор и т.д.) (проект)</p><p><strong>Оплата</strong> сдельная: за каждую закрытую вакансию, мы готовы заплатить 10 000 руб.</p><p>Работа удаленно, график абсолютно свободный.</p><p>Работать нужно будет самостоятельно, искать специалистов любым удобным для вас способом, пользуясь любыми доступными для...

Нужны заявки в нишу телефония для отделов продаж / голосовые роботы (Бюджет: 15000 руб)

Нужны заявки в нишу телефония для отделов продаж / голосовые роботы. Ссылки на примеры работ и условия работы присылайте в Личку.

Интернет-маркетолог (Бюджет: 30000 руб)

<p>Вакансия: Интернет-маркетолог с опытом в доставке еды (удаленно)</p><p> </p><p>Зарплата: от 30 000 до 50 000 руб. на руки</p><p>Требуемый опыт работы: 3–6 лет</p><p>Полная занятость, удаленная работа</p><p>Опыт работы в сфере доставки еды обязателен!</p><p> </p><p>Наша компания открывает службу доставки пирогов, пиццы, выпечки и для этого собирает команду, с которой пройдём путь к вершинам.</p><p>ВАЖНО! На данную вакансию мы ищем человека, способного взять на себя ответственность за продвижен...

РАЗРАБОТЧИК 1С-Битрикс (middle)

<p><strong>Обязанности:</strong></p><ul><li>Разработка архитектуры будущего продукта</li><li>Разработка скриптов, API интеграций, парсеров</li><li>Настройка бизнес-процессов в соответсвии с требованиями к будующему продукту </li><li>Разработка (доработка) модулей в продуктах 1С-Битрикс: интернет-магазины, веб-сайты, Битрикс24 (облако и коробка), мобильные приложения </li></ul><p> </p><p><strong>Требования:</strong></p><ul><li>Знания PHP (выше среднего)‚ MySQL, HTML+CSS, Vue.js, BitrixMobile</li>...