117
edits
Changes
no edit summary
<tt>kjYX790gTytRaXV04IvC-xZH3A18sj5b1Tf3I-J5XVS1xsj-j0797KwxxLpBl26HPvWMm</tt>
'''ВниманиеAttention!''' После того как ваше приложение будет готово и Вы решите провести открытыйWhen your application is ready and you decide to make an opened/публичный тестpublic test, зарегистрируйтесь как send us a request to receive a test key by registering as [[Developers|разработчик приложенийdeveloper]] и отправьте нам запрос на получение ключа продукта для Вашего приложения, with a description of the application and a link to download it. После проверки Вашего приложения, мы предоставим специальный ключ продукта, который позволит Вам в течение After verification of your product we will give you a special product key which will allow you to make opened/public tests within 30 дней провести открытые/публичные тесты для любых пользователейdays for any users, в том числе и для пользователей, у которых нет подключенной опции including users who don't have enabled NoADsoption.Test for All!
== Формат ключа продукта Authorization of application ==Ключ продукта представляет собой строку из четырех групп символов, разделенных знаком "-". Каждая группа может состоять из символов [0-9A-Za-z]. Первая группа символов называется "'''публичная часть ключа продукта'''" и передается в открытом виде в различных запросах.Below the schema of application authorization is described:
<tt>HELLOBG version=''api_version''</tt>
* движок отсылает в ответengine sends the answer
<tt>HELLOTS version=''engine_version'' key=''request_key''</tt>
* приложение формирует ответный ключ и отсылает его движкуapplication generates response key and send it to engine
<tt>READY key=''response_key''</tt>
;''request_key''
: представляет собой буквенноrandom alpha-цифровую строку, сгенерированную случайным образомnumeric string
;''response_key''
: формируется из is generated from ''request_key'' и ключа продукта по следующему алгоритму, представленного в виде псевдокодаand product key with the following algorithm (described in pseudocode): <tt><nowiki>signature = hex(sha1(request_key + product_key)); // сгенерировать подпись запросаgenerate the request signaturex = product_key.split("-")[0]; // вырезаем все символы до первого знака cut all chars until first "-" из ключа продуктаfrom the product keyresponse_key = x + "-" + signature; // отправляем движку вырезанную на предыдущем этапе строку и подпись, разделенные знаком send the string from the previous step and request signature ↵ separated by hyphen ("-") char to the engine</nowiki></tt>
== Пример Example ==Для примера предположим, что приложение использует ключ продукта In this example we suppose that the application has a product key 123456-111111-222222-333333
<tt>hex(sha1("5eb1f78f123456-111111-222222-333333")) == fd2a247d83adffed56d82cca150d5fab225f1408</tt>