325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 586
1

Платная версия приложения

13.12.2012, 17:06. Показов 7927. Ответов 51
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Хочу сделать платную версию приложения (отсутствие рекламы), как правильно это сделать? Как на основе существующего проекта сделать новый. Подскажите пожалуйста. Спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2012, 17:06
Ответы с готовыми решениями:

Планшетная версия приложения
Иконки на планшете выглядят маленькими. В папки закинул иконки: mdpi - 85px, ldpi - 64px, hdpi -...

Мобильная версия сайта в виде приложения
Доброго времени суток, уважаемые форумчане! У меня задача - приложение под Android - мобильная...

Пробная версия приложения на 2 часа, после которого оно самоудалится
Проблема и ее суть описана в теме. Повторюсь, как реализовать функцию самоудаления для...

Ошибка приложения anmon_550.exe, версия 0.0.0.0, модуль anmon_550.exe, версия 0.0.0.0, адрес 0х0000а5d5
Ошибка приложения anmon_550.exe, версия 0.0.0.0, модуль anmon_550.exe, версия 0.0.0.0, адрес...

51
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 586
14.12.2012, 22:52  [ТС] 2
Ни у кого нет опыта или этот опыт секретный? Хоть направляющий пинок дайте. Я понимаю, что можно сделать еще одно приложение и перекинуть туда код бесплатного удалив рекламу, но поддерживать целостность таким образом как то не айсово. Может есть какие отработанные способы.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.12.2012, 01:08 3
if(платное) {
показать рекламу;
}
1
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 586
15.12.2012, 01:15  [ТС] 4
Цитата Сообщение от V0v1k Посмотреть сообщение
if(!платное) {
показать рекламу;
}
Именно так я и сделал, но при попытке загрузить на гугл плэй это приложение, даже с другим именем он воспротивился, оно и понятно пэкедж то один и тот же.

Получается, придется делать новый проект, а потом копировать в него все после изменений
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.12.2012, 01:50 5
Цитата Сообщение от dubok79 Посмотреть сообщение
он воспротивился
конкретизируйте...
0
256 / 234 / 38
Регистрация: 31.10.2010
Сообщений: 504
15.12.2012, 11:31 6
Ещё можно через платёж в приложении. Правда, не помню: сохраняется ли такие платежи, если приложение удалить и заново установить или установить на другое устройство. Можно создать отдельное приложение-ключ, без установки которого программа считается не купленной и отображается реклама, а если установлено - приложение куплено, рекламы нет (так сделали, например, разработчики Titanium Backup).
Цитата Сообщение от V0v1k Посмотреть сообщение
конкретизируйте...
Он пытался залить приложение в Play Store с тем же именем пакета, что и бесплатная версия приложения.
1
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.12.2012, 17:48 7
Цитата Сообщение от Good-bad man Посмотреть сообщение
Он пытался залить приложение в Play Store с тем же именем пакета, что и бесплатная версия приложения.
это я понял, меня интересует как именно Play Store выразил свое воспротевление.
0
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 586
16.12.2012, 15:47  [ТС] 8
Цитата Сообщение от V0v1k Посмотреть сообщение
это я понял, меня интересует как именно Play Store выразил свое воспротевление.
Просто в момент загрузки было написано, что такое приложение с тем же кодом версии уже существует.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.12.2012, 19:22 9
а если изменить код версии?
0
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 586
16.12.2012, 19:23  [ТС] 10
Цитата Сообщение от V0v1k Посмотреть сообщение
а если изменить код версии?
тогда боюсь у пользователей вместо бесплатной версии получится платная на халяву
Я так полагаю тут решение только через отдельный проект.
0
1162 / 986 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.12.2012, 19:24 11
Цитата Сообщение от dubok79 Посмотреть сообщение
тогда боюсь у пользователей вместо бесплатной версии получится платная на халяву
каким образом?
0
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 586
16.12.2012, 19:25  [ТС] 12
Цитата Сообщение от V0v1k Посмотреть сообщение
каким образом?
Не знаю, мне так кажется... а может смена кода версии и прокатит...
0
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
12.11.2013, 08:19 13
Цитата Сообщение от dubok79 Посмотреть сообщение
Не знаю, мне так кажется... а может смена кода версии и прокатит...
Подскажите как решили вопрос. Стою сейчас в ситуации когда надо сделать Donate в проекте и убрать рекламу после этого.

Спасибо
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
12.11.2013, 19:07 14
Лучший ответ Сообщение было отмечено как решение

Решение

Для создания платного (отличного от уже выложенного на маркет) как ни крути придётся менять имя пакета.
Опытные люди пишут приложения в пакете foo
Далее создают два пустых проекта с пакетами foo.free и foo.pro, которые подключают реальный код.
В первоначальном проекте foo реализуется класс.


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/**
 * The application class: main goal is checking free/full version is active
 */
public class FooApplication extends Application {
 
 
    /**
     * No smart checking for full version
     * Using no more 10 because without singleton
     * @return <code>true</code> if active full version
     */
    public boolean isFullVersion() {
        return !getPackageName().toLowerCase().endsWith("free");
    }
 
}
В манифесте, конечно, всё обёрнуто в
XML
1
2
3
4
 <application  
        android:name=".FooApplication" 
        android:icon="@drawable/icon" 
        android:label="@string/app_name">
Далее как понятно из класса функционал фильтруется по флагу
4
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 586
12.11.2013, 19:12  [ТС] 15
TanT, еще бы пример какой попробовать. Можете сварганить? Чисто то, что вы описали, а то мне не очень понятно. Заранее спасибо.
Или пошлите куда-нибудь где можно посмотреть.
0
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
14.11.2013, 15:31 16
Цитата Сообщение от dubok79 Посмотреть сообщение
TanT, еще бы пример какой попробовать. Можете сварганить? Чисто то, что вы описали, а то мне не очень понятно. Заранее спасибо.
Или пошлите куда-нибудь где можно посмотреть.
Коллеги, правда, поделитесь кодом или примером, или хоть ссылку дайте толковую, а то нет нигде нормальной информации, а вопрос актуальный.
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
14.11.2013, 17:07 17
вот подходящий пример

Это не тот же самый пример от которого отталкивался я, но по сути логика таже
1
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
15.11.2013, 07:15 18
Цитата Сообщение от TanT Посмотреть сообщение
вот подходящий пример

Это не тот же самый пример от которого отталкивался я, но по сути логика таже
Да, что-то начинает проясняться. То есть у меня должно быть в программе сразу 2 пакета, один с рекламой, другой без рекламы.
При запуске у меня должна происходить проверка "куплено приложение или нет?" и исходя из
этого указывать рабочий пакет с рекламой или без?/
Правильная логика?
0
эволюционирую потихоньку
468 / 466 / 91
Регистрация: 30.06.2009
Сообщений: 1,401
15.11.2013, 18:01 19
NOSC,
в манифесте вы указываете имя пакета для Application. Это имя пакета будет уникальным ключём на маркете.
У себя вы проверяется имя пакета для класса FooApplication extends Application. Это класс-обёртка исключительно для диагностики free/pro.

Как это делал.
Я создовал пустой андроид проект в котором полностью повторяю манифест боевого приложения за исключением имени пакета.
То есть пустой адроид проект содержит манифест
XML
1
2
3
4
5
6
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
......
    package="foo.free"
>
 
тут содержимое вашего манифеста приложения с полными указаними старых пакетов
в этот пустой проект подключаете как зависимость ваш боевой и собираете. В итоге у вас имя пакета для маркета новое, а приложение тоже. Ну и не забудь логику в приложении адаптировать.
1
374 / 361 / 52
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
18.11.2013, 20:58 20
Делается три проекта:
- первый - library, здесь лежат исходники и ресурсы общие для платной и бесплатной версии.
Эта библиотека подключается к следующим двум проектам:
- free - проект с рекламой.
- paid - без рекламы.

А вариант с проверкой, я считаю не очень удачным.
Java
1
2
3
public boolean isFullVersion() {
        return !getPackageName().toLowerCase().endsWith("free");
    }
0
18.11.2013, 20:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2013, 20:58
Помогаю со студенческими работами здесь

Версия приложения
Доброго времени суток всем! Такой вопрос назрел. Как лучше контролировать версии приложения?...

Англоязычная версия приложения
Здравствуйте, но же реализовать англоязычную версию версию приложения, мне говорили что &quot;нужно...

Не совпадает версия драйвера ODBC и приложения
Здравствуйте. Писал в lazarus 1.6.4, но ole объекты не работают с русскими буквами, поэтому решил...

Ошибка приложения wwp.exe, версия 1.0.0.0
Имеется XP,видео nVidia GF5500.При работе в приложениях глюков нет, запускаешь игру - начинается,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru