В моем приложении я хочу реализовать пробную и полную версию для моего приложения. В этой пробной версии будет доступна вся и полная версия будет доступна пользователям, которые заплатили полную версию. Поэтому, пожалуйста, предложите мне способы, с помощью которых я могу реализовать такие функции?
Naveen Chauhan 19 июнь 2012, в 12:21
Поделиться
Поделиться:
4 ответа
Лучший ответ
- Создайте 2 версии файлов apk и дважды публикуйте их в Android Market.
- Один из них будет пробной версией, с включенными объявлениями OR с ограниченной функциональностью.
- Второе будет доступно как платное приложение с полной функциональностью, разблокированной.
Я рекомендую второй способ, так как пользователю придется загружать приложение только один раз.
Обратитесь к документации по выставлению счетов для Android в приложении: http://developer.android.com/guide/market/billing/index.html
Надеюсь, это поможет. Ура!
Hari Krishna Ganji 19 июнь 2012, в 09:54
Поделиться
Как получить бесплатную подписку на Adobe Creative Cloud — Photoshop, Illustrator…
Но учтите, что Google не поддерживает платные приложения / биллинг в приложениях в некоторых странах. Если вы находитесь в стране, такой как Индия, которой нет в этом списке (< support.google.com/googleplay/android-developer/bin/… ), то вам не повезло. Тогда вам придется прибегнуть к сторонней интеграции для покупки
Hari Krishna Ganji 19 июнь 2012, в 10:06
Hari Krishna Ganji 19 июнь 2012, в 10:13
Я сталкивался с одной и той же проблемой много раз, поэтому решил разработать пробную библиотеку Android, которую вы можете просто отбросить в ваш проект, и он позаботится обо всех серверах для вас (в том числе автономных периодов льгот).
Чтобы использовать его, просто
Добавить библиотеку в основной модуль build.gradle
dependencies
Инициализировать библиотеку в вашем основном мероприятии onCreate()
Добавить обработчик обратного вызова:
Чтобы запустить пробную версию, вызовите mTrialy.startTrial(«YOUR_TRIAL_SKU», mTrialyCallback); Ваш ключ приложения и пробный SKU можно найти на панели инструментов разработчика.
Nick 17 апр. 2017, в 10:21
Поделиться
Вы также должны посмотреть Лицензирование приложений для Android. Я не уверен, что это соответствует именно тому, что вы имели в виду, но я уверен, что вы можете приспособить свои потребности, чтобы сделать эту работу для вас, и я бы сказал, что это будет правильное решение.
Ovidiu Latcu 19 июнь 2012, в 11:40
Поделиться
Насколько я понимаю, лицензирование приложений — это подход к проверке пользователей. Так, если, например, пользователь покупает ваше приложение в Google Play, а затем передает его другу, который загружает его на устройство, не связанное с учетной записью покупателя, эта система может обнаружить нарушение и предотвратить выполнение. Тем не менее, я не думаю, что это средство само по себе поддерживает сбор денег с пользователя, как платежи в приложении, и если я прав, то это может сделать его неподходящим для ваших нужд.
Где скачать оригинальный образ windows 7,8,10,11#windows #скачать #настройкакомпьютера
Carl 27 июнь 2012, в 04:22
Другие ответы — это не то, что я бы назвал «пробным». Выделенные решения больше похожи на подход «Lite» и «Pro».
Я думаю о пробной версии как полнофункциональном приложении, срок действия которого истекает через X дней/недель.
Camille Sévigny 04 авг. 2013, в 13:34
Поделиться
Ещё вопросы
Источник: overcoder.net
Внедрение пробной версии приложения
Если вы настроите приложение в качестве бесплатной пробной версии в Центре партнеров , чтобы клиенты могли бесплатно использовать приложение в течение пробного периода, вы можете заманить клиентов на полную версию приложения, исключив или ограничив некоторые функции в течение пробного периода. До начала программирования решите, какие функции лучше ограничить, и сделайте так, чтобы они были доступны только после покупки полной лицензии. Вы можете также включить такие компоненты, как баннеры или водяные знаки, которые будут отображаться только во время пробного периода, пока пользователь не купит приложение.
В этой статье описывается, как использовать члены класса StoreContext в пространстве имен Windows.Services.Store, чтобы определить, есть ли у пользователя лицензия на пробную версию приложения, и получать уведомления в случае изменения состояния лицензии во время работы приложения.
Пространство имен Windows.Services.Store впервые появилось в Windows 10 версии 1607 и может использоваться только в проектах, предназначенных для Windows 10 Anniversary Edition (10.0; сборка 14393) или более поздней версии в Visual Studio. Если приложение предназначено для предыдущих версий Windows 10, необходимо использовать пространство имен Windows.ApplicationModel.Store, а не пространство имен Windows.Services.Store. Дополнительные сведения см. в этой статье.
Рекомендации по реализации пробной версии
Текущее состояние лицензии приложения хранится в свойствах класса StoreAppLicense. Обычно функции, которые зависят от состояния лицензии, помещают в условный блок. Как это сделать, будет показано на следующем этапе. Разрабатывая эти функции, убедитесь, что они будут работать во всех состояниях лицензии.
Решите, каким образом вы будете обрабатывать изменения в лицензии приложения во время его работы. Ваше приложение может быть полнофункциональным, но в отличие от купленного иметь рекламные баннеры. Вы также можете запретить некоторые функции или регулярно показывать сообщения с предложением купить приложение.
Подумайте, какой способ ограничения функциональности больше всего подходит для вашего типа приложения. Для игры больше всего подойдет ограничение игрового контента, доступного пользователю. Для пробной версии служебной программы можно установить дату окончания пробного периода или ограничить некоторые функции, нужные потенциальному покупателю.
Для большинства неигровых приложений установка испытательного срока является удачным решением, так как пользователи смогут лучше разобраться в приложении в целом. Ниже приведено несколько распространенных сценариев окончания срока действия и варианты их обработки.
- Срок действия лицензии пробной версии истек во время работы приложения Если срок действия лицензии пробной версии истек во время работы приложения, то можно:
- Не делать ничего.
- Вывести сообщение для клиента.
- Близко.
- Предложить клиенту купить приложение.
Рекомендуется вывести сообщение с предложением купить приложение и, если клиент его купит, включить все функции и продолжить работу. Если пользователь решит не покупать приложение, следует закрыть его или регулярно напоминать о покупке приложения.
- Не выполнять никаких действий и предоставить клиенту возможность работать в режиме пробной версии до перезапуска приложения.
- Поблагодарить клиента за покупку или отобразить сообщение.
- Без предупреждения включить возможности, доступные в полной лицензионной версии (или отключить уведомления об использовании пробной версии).
Не забудьте объяснить, как будет работать ваше приложение во время и после бесплатного пробного периода, чтобы поведение приложения не стало неожиданностью для клиентов. Дополнительные сведения об описании приложения см. в разделе Создание описаний приложений.
Предварительные требования
Для этого примера необходимо выполнение следующих предварительных условий:
- Создан проект Visual Studio для приложения универсальной платформы Windows (UWP), предназначенный для Windows 10 Anniversary Edition (10.0; сборка 14393) и более поздних выпусков.
- Вы создали приложение в Центре партнеров, настроенное как бесплатная пробная версия без ограничения времени, и это приложение публикуется в Магазине. При необходимости можно настроить приложение, чтобы его нельзя было найти в Магазине, пока вы его тестируете. Подробнее см. в нашем руководстве по тестированию.
В коде из этого примера предполагается следующее:
- Код выполняется в контексте страницы Page, которая содержит ProgressRing с именем workingProgressRing и TextBlock с именем textBlock . Эти объекты используются для индикации выполнения асинхронной операции и отображения выводимых сообщений, соответственно.
- Файл кода содержит оператор using для пространства имен Windows.Services.Store.
- Приложение — однопользовательское и выполняется только в контексте пользователя, запустившего его. Подробнее см. в разделе Покупки из приложения и пробные версии.
Если у вас есть классическое приложение, которое использует мост для классических приложений, вам может потребоваться добавить дополнительный код, не показанный в этом примере, для настройки объекта StoreContext. Дополнительные сведения см. в разделе Использование класса StoreContext в классическом приложении, в котором применяется мост для классических приложений.
Пример кода
При инициализации приложения получите для приложения объект StoreAppLicense и обрабатывайте событие OfflineLicensesChanged для получения уведомлений об изменении лицензии во время работы приложения. Например, лицензия приложения может измениться, если закончился пробный период или пользователь приобрел приложение в Магазине. При изменении лицензии получите новую лицензию и соответственно включите или отключите функции приложения.
Если пользователь купил приложение, рекомендуется сообщить ему об изменении состояния лицензирования. При необходимости попросите пользователя перезапустить приложение. Перевод приложения в новое состояние лицензирования должен быть максимально комфортным для пользователя.
private StoreContext context = null; private StoreAppLicense appLicense = null; // Call this while your app is initializing. private async void InitializeLicense() < if (context == null) < context = StoreContext.GetDefault(); // If your app is a desktop app that uses the Desktop Bridge, you // may need additional code to configure the StoreContext object. // For more info, see https://aka.ms/storecontext-for-desktop. >workingProgressRing.IsActive = true; appLicense = await context.GetAppLicenseAsync(); workingProgressRing.IsActive = false; // Register for the licenced changed event. context.OfflineLicensesChanged += context_OfflineLicensesChanged; > private async void context_OfflineLicensesChanged(StoreContext sender, object args) < // Reload the license. workingProgressRing.IsActive = true; appLicense = await context.GetAppLicenseAsync(); workingProgressRing.IsActive = false; if (appLicense.IsActive) < if (appLicense.IsTrial) < textBlock.Text = $»This is the trial version. Expiration date: «; // Show the features that are available during trial only. > else < // Show the features that are available only with a full license. >> >
Полный пример приложения см. в разделе Пример для Магазина.
Связанные темы
- Покупки из приложения и пробные версии
- Получение информации о продукте для приложений и надстроек
- Получение информации о лицензии для приложений и надстроек
- Поддержка покупок приложений и надстроек из приложения
- Поддержка покупок потребляемых надстроек
- Пример для Магазина
Источник: learn.microsoft.com
Как сделать пробный период для моего приложения на Python?
Я сделал настольное приложение в kivy и смог создать один исполняемый файл (.app) с помощью pyinstaller. Теперь я хотел отдать его клиентам с пробным периодом около 10 дней. Проблема в том, как сделать пробную версию, которая перестает работать через 10 дней после установки, и даже если пользователь деинсталлирует и устанавливает ее снова после окончания пробного периода, она не должна работать. Предоставление частичной функции в пробной версии не является вариантом.
Evnironment Mac OS и Python 2.7 с Kivy
Roshan Mehta 12 Авг 2014 в 20:52
Большинство коммерческих программ используют ключи и требуют, чтобы программное обеспечение было подключено к Интернету, чтобы «позвонить домой» и убедиться, что эти ключи действительны.
James Mertz
12 Авг 2014 в 20:56
Можете ли вы предложить какой-нибудь установщик для MAC, например, inno для windows?
Roshan Mehta
12 Авг 2014 в 20:59
Честно говоря, я ничего подобного не знаю. Я просто знаю, что у большинства софтверных компаний есть бэкэнд и финансирование, чтобы иметь возможность позаботиться об этих вещах внутри компании или с помощью очень дорогого стороннего программного обеспечения.
James Mertz
12 Авг 2014 в 21:13
Также временная метка должна быть записана / зашифрована где-то на жестком диске, кстати, вы можете использовать аппаратные настройки в качестве констант для генерации открытого ключа для Purshase, закрытый ключ предоставляется соответственно.
22 Май 2020 в 14:43
3 ответа
Лучший ответ
Для этого вам понадобится веб-сервер и база данных.
- Создайте в базе данных таблицу лицензий .
- Каждый раз, когда новый клиент платит за ваше программное обеспечение или запрашивает пробную версию, вы генерируете новую длинную случайную лицензию, вставляете ее в таблицу лицензий, связываете ее с адресом электронной почты клиента и отправляете клиенту по электронной почте.
- Каждый раз, когда клиент пытается установить программное обеспечение на свои компьютеры, вы запрашиваете лицензию и связываетесь с веб-сервером, чтобы убедиться, что лицензия существует и все еще действительна.
Используя это, люди могут просто создать несколько электронных писем и, таким образом, потенциально получить бесконечное количество пробных версий.
Затем вы можете попытаться добавить файл где-нибудь на компьютере человека, в место, где никто никогда не будет искать, и просто вставьте туда старую лицензию, чтобы при повторном запуске приложения (даже при новой установке) оно могло прочитать лицензию. оттуда и свяжитесь с веб-сервером, не запрашивая лицензию. При использовании этого метода, когда ваше приложение связывается с сервером с истекшей пробной лицензией, ваш сервер может ответить сигналом «срок действия лицензии истек», чтобы ваше приложение знало, что сейчас оно должно запросить нетериальную лицензию, а сервер должен только отныне принимать не пробные лицензии, исходящие от этого приложения. Весь этот метод ломается, если ваши клиенты понимают, что ваше приложение берет эту информацию из локального файла, потому что они могут просто удалить ее, когда найдут.
Еще одна идея, которая приходит на ум , — связать MAC-адрес портативного компьютера (или любой другой уникальный идентификатор, который вы можете придумать) с одной лицензией вместо адреса электронной почты, либо во время создания лицензии ( клиент должен будет отправить вам свой MAC-адрес при запросе пробной версии) или во время установки (ваше приложение может проверить MAC-адрес ноутбука, на котором оно работает).
Piero Hernandez 20 Май 2020 в 20:11
1) вы можете жестко запрограммировать временную метку приложения после того, как она перестанет работать, и проверять при каждом запуске, если эта временная метка больше, чем time.time (). Этот подход будет работать, если у вас есть один или несколько клиентов, и вы можете сделать пробную версию с разными датами для каждого из них.
2) используйте платформу / sdk для лицензии, например https://cryptolens.io/ или другую
Ryabchenko Alexander 22 Май 2020 в 14:09
- Сделать таблицу в базе данных
- Используйте модуль datetime и поместите системную дату в эту таблицу в качестве начальной даты
- Используйте модуль timedelta timedelta (15) (для расчета даты истечения срока действия программы здесь я использовал 15-дневную пробную версию кода) и сохраните ее в таблице базы данных как дату истечения срока действия.
- Теперь каждый раз, когда ваше приложение запускается, помещайте эту логику, которая проверяет, совпадает ли текущая дата с истечением срока действия, если она показывает ошибку, истек срок вашей явной логики
Примечание: — убедитесь, что начало и истечение срока запускаются только один раз, вместо этого дата будет изменяться снова и снова.
Источник: question-it.com