Подготовка приложения к Магазину

Автор Тема: Подготовка приложения к Магазину  (Прочитано 21718 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Как работает APPAUTOLOADER?
Желателен пример с загрузкой конкретного файла адаптации.
Тестового файла ZIP готового для отработки APPAUTOLOADER.
С описанием выполнения APPAUTOLOADER

Оффлайн BearDyugin

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
Re: Подготовка приложения к Магазину
« Ответ #1 : 15-01-2016, 20:47:24 »
Как работает APPAUTOLOADER?
Желателен пример с загрузкой конкретного файла адаптации.
Тестового файла ZIP готового для отработки APPAUTOLOADER.
С описанием выполнения APPAUTOLOADER
Не совсем понятно о чём ты?
Помести свою папку бла-бла-бла.bundle ту что ты зазиповал в  C:\ProgramData\Autodesk\ApplicationPlugins и проверишь как твои AutoCAD-ы после запуска подхватят твоё приложение.

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: Подготовка приложения к Магазину
« Ответ #2 : 16-01-2016, 14:51:41 »
Спасибо! Отлично. Я понял, что bundle'ы надо размещать в
C:\ProgramData\Autodesk\ApplicationPlugins
а не в
%appdata%\Autodesk\ApplicationPlugins
Видимо, устаревшая информация?

Как воздух нужен образец. Работающий! С заглушками-модулями LISP и DLL.
Простейший!
Чтобы я мог модифицировать под свое приложение.
Спасибо.
 

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Подготовка приложения к Магазину
« Ответ #3 : 16-01-2016, 15:53:02 »
Спасибо! Отлично. Я понял, что bundle'ы надо размещать в
C:\ProgramData\Autodesk\ApplicationPlugins
а не в
%appdata%\Autodesk\ApplicationPlugins
Видимо, устаревшая информация?
Нет. И оттуда работает. Особенности под AutoCAD 2016: http://adndevblog.typepad.com/autocad/2015/05/autocad-2016-trusted-paths-and-autoloader.html
Как воздух нужен образец. Работающий! С заглушками-модулями LISP и DLL.
Простейший!
Чтобы я мог модифицировать под свое приложение.
Спасибо.
Вообще-то ты бы мог скачать любое бесплатное приложение из магазина приложений и посмотреть/модифицировать под себя.
Вот тебе полезный пример: http://adn-cis.org/assets/gallery/AutoCAD/Autodesk%20DWG%20MgdDBG.bundle.zip
Он подходит под версии AutoCAD 2012...2016
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн BearDyugin

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
Re: Подготовка приложения к Магазину
« Ответ #4 : 16-01-2016, 19:04:57 »
С заглушками-модулями LISP и DLL.
На каком языке ты разговариваешь? что такое "заглушки-модули"?

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: Подготовка приложения к Магазину
« Ответ #5 : 18-01-2016, 08:59:47 »
При программировании сверху-вниз используют т.н. программы заглушки. Это пустые программы, они только сообщают, что в программы вошли и передали правильно параметры.
Очень нужен учебный пакет простейший пакет 'Учебное приложение AutoCAD.bundle'. Работающий.
С Lisp и DLL заглушками.
Предложенный пример не сработал.
Дайте еще примеры.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Подготовка приложения к Магазину
« Ответ #6 : 18-01-2016, 15:10:55 »
Предложенный пример не сработал.
Что значит не сработал? Как ты это определил? В какой версии AutoCAD ты проверял?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: Подготовка приложения к Магазину
« Ответ #7 : 19-01-2016, 07:13:01 »
Спасибо за правильный совет. Сработало приложение Slope (Откос) из Магазина . Приложение устанавливается в
C:\ProgramData\Autodesk\ApplicationPlugin
Как заранее в PackageContents задать, что приложение будет установлено там
или в
%appdata%/Autodesk/ApplicationPlugins
?


Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Подготовка приложения к Магазину
« Ответ #8 : 19-01-2016, 09:32:20 »
Как заранее в PackageContents задать, что приложение будет установлено там
или в
%appdata%/Autodesk/ApplicationPlugins
?
В PackageContents это никак не задаётся. Нужен полноценный инсталлятор, который будет помещать твоё приложение в нужное место.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: Подготовка приложения к Магазину
« Ответ #9 : 20-01-2016, 08:42:13 »
То есть Приложение после установки у пользователя должно уметь проверять, где находится?
Только два варианта расположения?
C:\ProgramData\Autodesk\ApplicationPlugins
%appdata%\Autodesk\ApplicationPlugins

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 611
  • Карма: 155
    • ПГСу Бложик
Re: Подготовка приложения к Магазину
« Ответ #10 : 20-01-2016, 11:04:20 »
1. А почему этот топик не в разделе
Autodesk App Store (ранее Autodesk Exchange Apps)
?
2. Моё маленькое ИМХО на ситуацию:
Тут написано:
Цитировать
Файл приложения(AppFile)
Максимальный размер файла —150 МБ.Расширение файла —zip, msi или pdf. Чтобы ускорить процесс проверки и упаковки продукта, включите файлы приложения, файл справки(txt, doc, html или pdf) и файл значка приложения (bmp или jpg) в загружаемый вами zip-архив.
и судя по одинаковым инсталяторам установленных мной программ, Вам достаточно залить .bundle файл в магазин, в дальнейшем он будет преобразован в инсталяционный пакет.
А вот и подтверждение: тут
Цитировать
Нужно ли использовать какой-либо стандартный формат программы установки?
Если ваш продукт подготовлен в соответствии с нашими инструкциями, мы сами создадим для
вас программу установки.

И вот иинтересная ссылка: http://download.autodesk.com/media/adn/DevTV_Autoloader_Format_Explained/DevTV_Autoloader_Format_Explained.html

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Подготовка приложения к Магазину
« Ответ #11 : 20-01-2016, 15:09:36 »
То есть Приложение после установки у пользователя должно уметь проверять, где находится?
Зачем? Мне кажется, что мы разговариваем на разных языках. AutoCAD загрузит из bundle приложение и после этого оно может работать. Что еще надо. Такое впечатление, что вы что-то недоговариваете...
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: Подготовка приложения к Магазину
« Ответ #12 : 20-01-2016, 21:47:42 »
После установки приложения Приложение запускает DLL-программу в формате SModeller.exe. Программа себя регистрирует в реестре Windows. AutoCAD при первом запуске приложения необходимо запускать от Администратора. Чтобы запустить программу необходимо определить место Приложения.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Подготовка приложения к Магазину
« Ответ #13 : 20-01-2016, 22:20:24 »
запускает DLL-программу в формате SModeller.exe.
??? Каким образом запускает???
AutoCAD при первом запуске приложения необходимо запускать от Администратора.
Жуть.
Чтобы запустить программу необходимо определить место Приложения.
Какую программу? DLL которая exe? Если в составе приложения есть нормальная .NET сборка (dll-файл), то получить каталог, в которой она находится, из неё самой не представляет труда - на форуме уже неоднократно обсуждалось. Впрочем и в exe-файле при его запуске определить где он находится тоже очень просто. Это касается и C/C++ приложений и .NET-приложений, и т.д.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: Подготовка приложения к Магазину
« Ответ #14 : 20-01-2016, 22:24:24 »
Все так. Я боюсь стандартный установщик, который распаковывает ims не сможет ввести в реестр SModeller.exe.
Поэтому Приложение его запускает. Если только 2 места, то это я сделаю без  труда.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Подготовка приложения к Магазину
« Ответ #15 : 20-01-2016, 22:31:54 »
Все так.
Что так? Ничего не понял.
Я боюсь стандартный установщик, который распаковывает ims не сможет ввести в реестр SModeller.exe.
Наверное msi, а не ims. И он то уж точно сможет внести данные в реестр - прав хватит, так как:
1. Можно сообщить пользователю, что у него не хватает прав для инсталляции если инсталляция запущена нет от имени Администратора.
2. Можно принудительно заставить его распаковывать bundle в %ProgramData%\Autodesk\ApplicationPlugin

Ну и на всякий случай: Получить имя папки, где находится запущенный dll-файл
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: Подготовка приложения к Магазину
« Ответ #16 : 21-01-2016, 07:40:19 »
Кто формирует msi, который устанавливает bundle?
Я думал, что команда apps store.
Когда и где разработчик (то есть я) может установить опции
- где установить bundle,
- запустить для регистрации exe
?

Оффлайн BearDyugin

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
Re: Подготовка приложения к Магазину
« Ответ #17 : 21-01-2016, 10:34:57 »
Кто формирует msi, который устанавливает bundle?
Я думал, что команда apps store.
В общем я сам не особо разбираюсь :-)

Но на сколько я понял, msi формируют как ты и предположил команда apps store.
Этот MSI помещает наш boundle в одно из доступных для этого мест, заранее придуманных Autodesk (об этом в начали темы писали), ну и что-то там куда-то там записывает, чтоб наше приложение появилось в "Программах и компонентах" чтоб его в случаи сего можно было удалить нафиг, стандартным путем. И как мне кажется на этом работа установщика msi заканчивается.

Дальше уже AutoCAD-ы начиная с 2012(2013 точно) при запуске заглядывают, в эти папки с boundle-ами и читают  PackageContents, в которых уже указано какие модули в какие AutoCAD-ы загружать.
Опять же не знаю для чего вводить exe в реестр, и умеет ли при необходимости это делать сам AutoCAD встретив описание таких exe  в PackageContents?

Оффлайн Николай Горлов

  • ADN
  • *
  • Сообщений: 238
  • Карма: 34
Re: Подготовка приложения к Магазину
« Ответ #18 : 21-01-2016, 11:17:41 »
так, давайте по порядку. в требованиях магазина значится, что приложение должно после инсталляции встроиться в автокад и нормально работать без  каких-либо дополнительных телодвижений с бубном или запросов каких-то ключей у создателя плагина (бесплатное - постоянно, демоверсия - определенный период времени). как именно это будет сделано их мягко говоря, волнует не сильно, но сделать это можно двумя способами:
первый вариант. они предлагают нам заливать файлы в zip архиве в структурированном виде (думаю схематическое описание папки *.bundle приводить не стоит, да и от правил можно отступать). дальше они из этой папки после тестирования содержимого на работоспособность просто делают msi-инсталлер, который в процессе своей работы пихает папку плагина с её содержимым по одному из двух путей. по поводу логики распределения путей я вопросы не задавал, но напрашивается закономерность: бесплатные программы под текущего пользователя, платные в общую папку (это из личного опыта).
второй вариант. не хочу я никакой папки автозагрузки, моё приложение состоит из 50-100 команд и имеет собственное меню, справку и т.п. в этом случае в магазин на проверку выкладывается СОБСТВЕННЫЙ инсталлятор, который в процессе своей работы корректно сможет установить программу хоть куда, настроить все пути доступа, привязать меню, проинсталлировать COM объекты и т.п. короче говоря, в этом случае они запускают инсталлятор, ждут пока всё поставится, отвечая на вопросы в процессе установки и потом запускают автокад. если что-то не работает, пишут письмо с описанием проблемы и ждут ответа с нашей стороны.

так что, если не устраивает стандартный подход к папке bundle, то всегда можно слепить собственный инсталлятор.
PS: с папкой bundle тоже не всё гладко и приходится как минимум 1 раз возвращать им на доработку из-за того, что или в xml файле чего-то намудрят или хлама лишнего накидают в папку (в основном картинки, хотя у меня в первой программе было аж два html файла идентичных кроме картинок левых :) )

Оффлайн BearDyugin

  • ADN Club
  • ****
  • Сообщений: 270
  • Карма: 24
  • Геодезист
Re: Подготовка приложения к Магазину
« Ответ #19 : 21-01-2016, 11:24:40 »
в этом случае они запускают инсталлятор, ждут пока всё поставится, отвечая на вопросы в процессе установки и потом запускают автокад. если что-то не работает, пишут письмо с описанием проблемы и ждут ответа с нашей стороны.
А что этот инсталлятор, ещё им на компьютер, помимо приложения AutoCAD, наустанавливал они не проверяют?

Отмечено как Решение Валериян 03-02-2016, 22:14:54

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Подготовка приложения к Магазину
« Ответ #20 : 21-01-2016, 11:26:55 »
в этом случае в магазин на проверку выкладывается СОБСТВЕННЫЙ инсталлятор
Вот об этом я и говорил неоднократно в этой теме.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Николай Горлов

  • ADN
  • *
  • Сообщений: 238
  • Карма: 34
Re: Подготовка приложения к Магазину
« Ответ #21 : 21-01-2016, 11:34:11 »
А что этот инсталлятор, ещё им на компьютер, помимо приложения AutoCAD, наустанавливал они не проверяют?
я так подозреваю, что вся работа идет в песочнице а не на каком-то конкретном компьютере. так что могут и не смотреть, а только антивирусом прошерстить, хотя... кто их знает )))

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: Подготовка приложения к Магазину
« Ответ #22 : 03-02-2016, 22:25:10 »
Спасибо большое. С bundle вроде все прояснилось.
AutoCADы загружают Приложение.

Появилась другая проблема.
Есть технология помесячной и годовой активации приложения в App Exchange
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24244237
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24243971
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24243607
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24243865
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24244123

Для этого используется класс RestClient d C #
Visual Studio 10 Windows 7 и методы RestRequest и т.д.
Откуда можно скачать библиотеку для реализации данной технологии и как подсоединить
к проекту C#.

Спасибо.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Подготовка приложения к Магазину
« Ответ #23 : 03-02-2016, 23:27:59 »
Эта: http://restsharp.org/ ?
Из всех ссылок, которые ты привёл к делу имеет отношение только эти две ссылки:
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24244237
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24243865
Остальные для защиты WEB-приложений, а у тебя (как я понимаю) то, что называется Desktop-приложение.
По первой ссылке есть пример: https://github.com/ADN-DevTech/Termlicensing
Но если ты внимательно прочитал, то для него требуется создание своего сервера, который будет обслуживать IPN-запросы. Не думаю, что у тебя появится желание этим заниматься. Тебе легче воспользоваться Entitlement API. Пример здесь: http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24243865
Там как раз и ссылка на RestSharp.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: Подготовка приложения к Магазину
« Ответ #24 : 04-02-2016, 07:33:44 »
Именно это я имел в виду.
А именно
Код - C# [Выбрать]
  1. ...
  2. //check for online entitlement
  3.  
  4.     RestClient client = new RestClient("https://apps.autodesk.com");
  5.  
  6.     RestRequest req = new RestRequest("webservices/checkentitlement");
  7.  
  8.     req.Method = Method.GET;
  9. ...

Чтобы этот фрагмент сработал нужна правильная библиотека. Откуда взять, как подключить?




 
Код - C# [Выбрать]
  1.    req.AddParameter("userid", _userID);
  2.  
  3.     req.AddParameter("appid", _appID);
  4.  
« Последнее редактирование: 04-02-2016, 16:49:51 от Александр Ривилис »

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 611
  • Карма: 155
    • ПГСу Бложик
Re: Подготовка приложения к Магазину
« Ответ #25 : 04-02-2016, 07:59:55 »
Чтобы этот фрагмент сработал нужна правильная библиотека. Откуда взять, как подключить?
Вам же уже давали ссылку http://restsharp.org/ там есть кнопочка NuGet, это значит, что этот пакет можно поставить через управление пакетами NuGet в MS VS (Сервис - Диспетчер пакетов NuGet - Управление пакетами NuGet для решения. В открывшимся окне в строке поиска вбить restsharp и собственно установить)

Только это круто, что автодеск предлагает использовать открытую библиотеку, вот бы еще эта библиотека стабильно работала...
Извините, вам запрещён просмотр содержимого спойлеров.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Подготовка приложения к Магазину
« Ответ #26 : 04-02-2016, 08:39:05 »
Валериян
Как форматировать код на нашем форуме написано у меня в подписи. Жду исправления.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Николай Горлов

  • ADN
  • *
  • Сообщений: 238
  • Карма: 34
Re: Подготовка приложения к Магазину
« Ответ #27 : 04-02-2016, 10:38:51 »
Есть технология помесячной и годовой активации приложения в App Exchange
по поводу технологии. работает оно приблизительно так (в случае, если пользоваться автодесковской онлайн "защитой"), если объяснять на пальцах :)
всё написанное ниже - личные умозаключения, которые, надеюсь, не несут конфиденциальной информации :)
для каждого приложения есть таблица с полями "360ID", "дата начала", "дата окончания", ...
после покупки приложения (нажал кнопку купить и оплатил покупку) строка в такой таблице заполняется в соответствии с тем, какую кнопку нажал:
- постоянная версия,
- месячная подписка,
- годовая подписка.
если скачал ДЕМО или бесплатную версию, в эту таблицу даты не ставятся

дальше, когда отправляем запрос на сервер https://apps.autodesk.com/webservices/checkentitlement... это дает файлу checkentitlement.php данные для проверки валидности пользователя. если для указанного приложения есть пользователь с указанным ID и текущая дата сервера находится между датами в полях  "дата начала", "дата окончания", то на возврат идет true. во всех остальных случаях - false.

теперь по поводу RestAPI. вот посмотрел я как оно работает на С++ (через лисп, вызывающий C# библиотеку), поржал минут с 15, сел и написал своё собственное. если знания позволяют, не стоит хвататься за сырой готовый код, который к тому же написан на C#.

PS: надеюсь дотнетовцев я не обижу своим вопросом, так что спрошу. ребята, а вы в курсе, что C# - интерпретируемый а не компиллируемый язык? защита, написанная на C# при желании ломается за пол часа написанием своей собственной dll по мотивам вашей? :):):). главное, чтоб возврат из функций был таким, как при успешной проверке валидности :)

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 611
  • Карма: 155
    • ПГСу Бложик
Re: Подготовка приложения к Магазину
« Ответ #28 : 04-02-2016, 11:23:12 »
PS: надеюсь дотнетовцев я не обижу своим вопросом, так что спрошу. ребята, а вы в курсе, что C# - интерпретируемый а не компиллируемый язык? защита, написанная на C# при желании ломается за пол часа написанием своей собственной dll по мотивам вашей? :):):). главное, чтоб возврат из функций был таким, как при успешной проверке валидности
не обидишь и да, в курсе. Более того, сам качал и смотрел внутренности программ выложенных в магазине, было интересно.

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: Подготовка приложения к Магазину
« Ответ #29 : 04-02-2016, 12:10:42 »
Так получается, без собственного web-сервиса не обойтись?
Если все у пользователя взламывается.

Оффлайн Николай Горлов

  • ADN
  • *
  • Сообщений: 238
  • Карма: 34
Re: Подготовка приложения к Магазину
« Ответ #30 : 04-02-2016, 12:28:35 »
Так получается, без собственного web-сервиса не обойтись?
а при чем тут собственный веб-сервис, если запрос то идет из dll, собранной на C# :):):):)
к тому же:
1. собственный веб-сервис - удовольствие не из дешевых
2. что вы будете делать со своими пользователями, если некачественно написанный сервер тупо ляжет после взлома или если провайдер закроет сайт удалив БД пользователей?
3. каким-то чудом туда добавились пользователи, ничего не купившие ))))

PS: лично для меня вопрос о собственной онлайн проверке на своём сервере отпадает из-за пунктов 1-2, т.к. 1 - это около $1000 (ssl сертификат + доменное имя + плата за хостинг каждый год + ...), а 2 - это головная боль с постоянным резервированием базы и утаскиванием её к себе. мне хватает и того, что раз в год матюкаю тушки, ответственные з хранение у себя сайта нашей организации. они то PHP криво обновят, то закроют доступ к тому, о чем и сами не подозревают, то переустановят UNIX на сервере, криво скопировав файлы назад (права доступа такие, что или не открыть или полный доступ откуда угодно ))) )
к тому же, тот "готовый" вариант сервера, который есть в мануалах требует банки кофе и недели беспробудных правок минимум, ну либо на заказ еще баксов за 500. и всё ради чего? пятибаксовыми программами я только в ноль выйду через 3 года )))

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Подготовка приложения к Магазину
« Ответ #31 : 04-02-2016, 12:43:46 »
Так получается, без собственного web-сервиса не обойтись?
Взламывается всё что угодно. В том числе и собственный web-сервис.

P.S.: Повторюсь:
Валериян
Как форматировать код на нашем форуме написано у меня в подписи. Жду исправления.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 611
  • Карма: 155
    • ПГСу Бложик
Re: Подготовка приложения к Магазину
« Ответ #32 : 04-02-2016, 12:48:42 »
т.к. 1 - это около $1000 (ssl сертификат + доменное имя + плата за хостинг каждый год + ...)
эк Вы размахнулись то! VPS стоит порядка 5 баксов в месяц (Это если хостинга не достаточно, хотя по мне, для этой задачи вполне достаточно хостинга за 12,5 рублей (увы, было так) 40 рублей в месяц с PHP + SQLite), доменное имя от 130 рублей в год (зона ru), SSL сертификат можно и бесплатно получить если заморочиться, хотя и цена не кусается
Так что на круг выходит 5*12+6+5=71$ в год...
Вот только всем этим заниматься нужно, мороки много...

Оффлайн Николай Горлов

  • ADN
  • *
  • Сообщений: 238
  • Карма: 34
Re: Подготовка приложения к Магазину
« Ответ #33 : 04-02-2016, 13:12:14 »
хотя и цена не кусается
:o :o :o ого как цены упали.
смотрел последний раз на цены осенью. дешевле всего было брать 3-х летний. с ценой  от $400.00 до $1000 на разных сайтах.
годовые шли по $200-$400. про хостинг "где-то там лежит себе тихонько в городе кукуево и работает с мизерной пропускной способностью и ограничением в 100 транзакций в день" лучше промолчу. так что мою цену в посте выше можно скинуть баксов на ... так, стоп. бакс же не по 8 :). да, итого получится баксов 300-400 с новыми ценами на сертификаты (если не брать бесплатный годовой у китайцев)... но мы кажется отвлеклись от темы :)

а по теме, защиту ни в коем случае нельзя писать на интерпретируемом языке, т.к. это и не защита вовсе, а
Более того, сам качал и смотрел внутренности программ выложенных в магазине, было интересно.

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: Подготовка приложения к Магазину
« Ответ #34 : 04-02-2016, 13:43:35 »
Хостинг на 1GB довольно дешевый.
Одну страничку держать для генерации кода активации по
ID пользователя и ID приложения не думаю, что будет большая нагрузка на трафик.

Оффлайн ВалериянАвтор темы

  • ADN OPEN
  • Сообщений: 37
  • Карма: 0
    • spliner.ru
  • Skype: muftejev
Re: Подготовка приложения к Магазину
« Ответ #35 : 04-02-2016, 13:48:55 »
Потом. Код активации генерируется только один раз при начале работы с Приложением.
Понятно, что списки покупателей надо надо резервировать у себя.  И уметь восстанавливать.
В принципе, не так много опций.

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 611
  • Карма: 155
    • ПГСу Бложик
Re: Подготовка приложения к Магазину
« Ответ #36 : 04-02-2016, 14:41:11 »
про хостинг "где-то там лежит себе тихонько в городе кукуево и работает с мизерной пропускной способностью и ограничением в 100 транзакций в день" лучше промолчу
Не утрируй, тебе при загрузки приложения надо проверить валидность лицензии, для этого достаточно послать на сервер userId и appId, это пара десятков байт и обратно получить 1 бит, с этим справиться любой хостинг. Ну не будет там активности подобной DDos, а с учетом часовых поясов и распределенного начала рабочего дня это вообще не достижимо. Ну а если программа настолько популярна, что сервер захлёбывается от потока запросов на валидацию, то и расширить его не проблема, с учетом таких Чудовищных продаж программы, деньги на это точно будут.
По молодости баловался статистикой использования своих программ (криворукий я тогда был и молодой) и все это работало на сайте с 5мБ дискового пространства и без БД, проблем не было, к тому же VPS  легко масштабируются под возрастающие нужды, так что 70$ в год, это реальная цена для начала своей деятельности.
Хотя по мне, сервиса по валидации от аутодеска вполне достаточно, особенно с учетом интерпритируемости программы.

А по поводу защиты, так она от честных людей, не более того. В магазине полно шаблонов для ревита и сборок блоков продается, их защитить то вообще не реально.

Оффлайн Николай Горлов

  • ADN
  • *
  • Сообщений: 238
  • Карма: 34
Re: Подготовка приложения к Магазину
« Ответ #37 : 04-02-2016, 15:13:26 »
Хостинг на 1GB довольно дешевый.
Одну страничку держать для генерации кода активации по
ID пользователя и ID приложения не думаю, что будет большая нагрузка на трафик.
Потом. Код активации генерируется только один раз при начале работы с Приложением.
Понятно, что списки покупателей надо надо резервировать у себя.  И уметь восстанавливать.
В принципе, не так много опций.

ну, тогда могу сказать только - дорогу осилит идущий.
ну и в догонку ссылочек на то, что нужно делать и как с этим жить:
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24243607
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=24244123
https://github.com/ADN-DevTech/Termlicensing
https://github.com/ADN-DevTech/Exchange-IPNListener-Sample

достаточно послать на сервер userId и appId, это пара десятков байт и обратно получить 1 бит
вот это как-раз и есть защита от честных людей. даже в примерах автодеска идет как-минимум два запроса. один на проверку валидности, а второй следом "а был ли предыдущий запрос". ну а если честно, то
Цитировать
Хотя по мне, сервиса по валидации от аутодеска вполне достаточно
придерживаюсь того же мнения. кстати, не уверен, но вроде бы в самом блюснап API есть онлайн проверка и всё такое, так что даже свой сайт городить не нужно. всего-то создать юр. лицо  для получения доступа к кошельку и этому самому API :), ну и разобраться как оно работает.

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

Оффлайн Алексей Терно

  • ADN Club
  • ****
  • Сообщений: 381
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
Re: Подготовка приложения к Магазину
« Ответ #38 : 20-02-2016, 10:10:16 »
Если использовать этот код для проверки купленности приложения:

Код - C# [Выбрать]
  1. [CommandMethod("CheckEntitleAutoCAD")]
  2. static public void CheckEntitleAutoCAD()
  3. {
  4.     String _appID = "appstore.exchange.autodesk.com:screenshot:en";
  5.     //Steps to get the user id
  6.     String _userID = Application.GetSystemVariable("ONLINEUSERID") as String;
  7.     //Not logged in with Autodesk Id, hence we can not get user id
  8.  
  9.     if (_userID.Equals(""))
  10.     {
  11.         return;
  12.     }
  13.  
  14.     //check for online entitlement
  15.     RestClient client = new RestClient("https://apps.autodesk.com");
  16.     RestRequest req = new RestRequest("webservices/checkentitlement");
  17.     req.Method = Method.GET;
  18.     req.AddParameter("userid", _userID);
  19.     req.AddParameter("appid", _appID);
  20.  
  21.     ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;
  22.  
  23.     IRestResponse<EntitlementResult> resp = client.Execute<EntitlementResult>(req);
  24.  
  25.     if (resp.Data != null && resp.Data.IsValid)
  26.     {
  27.     //User has downloaded the App from the store and hence is a valid user...
  28.     }
  29.     else
  30.     {
  31.     //Not a valid user. Entitlement check failed.  
  32.     }
  33. }

можно ли проверять триальный период?

Оффлайн Николай Горлов

  • ADN
  • *
  • Сообщений: 238
  • Карма: 34
Re: Подготовка приложения к Магазину
« Ответ #39 : 22-02-2016, 12:26:55 »
Если использовать этот код ... можно ли проверять триальный период?
ну, если вкратце, то нужно понять, что же делает этот код.
код отправляет запрос на "checkentitlement" с указанными двумя переменными: userid и appid. на возврат передаются те же переменные и еще два поля. первое - true/false, второе - говорит о правильности формирования запроса.
если совсем на пальцах, то в ответ на вопрос "а может ли пользователь с таким-то ID пользоваться в данный момент времени таким-то приложением?" мы получаем да или нет. вот и всё.

теперь по поводу того, что значит триальный период.
если это просто приложение типа "дэмо", то пользуются все и сколько угодно, т.к. оно ничем не отличается от "free" приложения. если это включенная галочка "30-дневная пробная версия" во время публикации платного приложения или приложения по подписке, то пользователь становится дествительным пользователем полнофункционального приложения на 30 дней с момента скачивания. потом, через 30 дней, запрос будет возвращать false. следовательно, приложение перекачивается под новым userID и еще есть 30 дней ))) (и так пока не надоест).

Оффлайн Алексей Терно

  • ADN Club
  • ****
  • Сообщений: 381
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
Re: Подготовка приложения к Магазину
« Ответ #40 : 23-02-2016, 12:51:12 »
Логично )))