Changes

Jump to: navigation, search

Application Developers Example

1,632 bytes removed, 12:18, 6 September 2017
no edit summary
==Общая информацияCommon information==Данный пример пошагово описывает все необходимые шаги для настройки работы стороннего приложения с движком This example is a step-by-step description of all necessary steps to set up work of a third-party application with Ace Streamengine.
Во всех запросах для примера будут использоваться такие переменныеAll requests for the example will use the following variables:* ключ продукта product key <tt>kjYX790gTytRaXV04IvC-xZH3A18sj5b1Tf3I-J5XVS1xsj-j0797KwxxLpBl26HPvWMm</tt>
* API Key: <tt>94d585bda4883a40d969d723adcaba36033e61d8</tt>
* API Secret: <tt>b5dbd62b494664f5bfa9</tt>
Эти данные приведены исключительно для наглядности примераThese data are presented only to illustrate the example, в will not work in a "боевомreal life" режиме они работать не будут.
==Регистрация разработчика и получение ключа продуктаDeveloper's registration and getting a product key==Для начала Вам необходимо зарегистрироваться в системе To start you have to register in Ace Stream как разработчик приложений, после чего Вы сможете зарегистрировать свое приложение и получить для него ключ продуктаsystem as application developer. Как это сделать, описано в разделе After that you will be able to register your application and get the product key for it. How to do this is described in a section [[Developers/en|РазработчикиDevelopers]].
==Работа с движкомWorking with the engine==По умолчанию работать с Вашим приложением будет только движок, для которого активирована опция By default only the engine with activated NoADsoption will work with your application.
Если эта опция не активированаIf this option is not activated, то на любую попытку воспроизвести что-либо движок будет возвращать ошибку с таким текстомthe engine will return an error with the following text to any attempt to play anything:"No ADs option must be activated to use this product"
Соответственно, для начала работы Вашему приложению необходимо проверить, активирована ли опция NoADs на движке.Example of such an error according to [[Engine_API/en|Engine API]]: <nowiki>>> START PID 94c2fd8fb9bc8f2fc71a2cbe9d4b866f227a0209 0<< STATE 1<< STATUS main:starting<< STATE 0<< STATUS main:idle<< STATUS main:err;0;No ADs option must be activated to use this product</nowiki>
So, to start working your application has to check whether NoADs option is activated on the engine. ==Проверка активации опции Checking activation of NoADs на движкеoption on the engine==Метод Method [[Engine_Service_API/en#get_services|get_services]] сервисного of service engine API движка позволяет узнать, какие опции активированы на движкеallows to find out what options are activated on the engine. Для этого нужно отправить To do this you have to send HTTP GET запрос на движокrequest to the engine:
<nowiki>http://localhost:6878/webui/api/service?method=get_services&product_key=kjYX790gTytRaXV04IvC</nowiki>
В запросе нужно передать публичную часть ключа продукта In the request you have to send a public part of the product key (kjYX790gTytRaXV04IvC) в параметре in parameter <tt>product_key</tt>.
'''Варианты ответовResponse options'''
*если возникла ошибка if an error was occured (такого не должно бытьthis should not happen, так что в этом случаеso in this case, пожалуйстаplease, вышлите нам логи движкаsend us engine's logs)
<nowiki>{"status": "error", "error": "error description"}</nowiki>
*если на движке не активирована опция if NoADsoption is not activated on the engine
<nowiki>{"status": "ok", "services":[]}</nowiki>
*если на движке активирована опция if NoADsoption is activated on the engine
<nowiki>{
"status": "ok",
}</nowiki>
В возвращаемом списке могут быть и другие опции, кроме There may be other options except NoADsin the returned list. Для того, чтобы узнатьTo find out, активирована ли конкретная опцияwhether a specific option is activated, нужно пройтись по списку и проверять поле you have to go through the list and check field <tt>id</tt> каждого элемента of each element (<tt>id</tt> опции of NoADs option - <tt>noAds</tt>).
Если опция If NoADs не активированаoption is not activated, Ваше приложения может ее активироватьyour application can activate it. Для этого нужно выполнить такие шагиTo do this you have to follow these steps:* создать новый ключ пользователя create a new user key (метод method [[Reseller_API/en#createUserKey|createUserKey]] of API для реселлеровfor resellers)* активировать опцию activate NoADs для этого ключа пользователя option for this user key (метод method [[Reseller_API/en#activateService|activateService]] of API для реселлеровfor resellers)* загрузить ключ пользователя в движок load user key to the engine (метод method [[Engine_Service_API/en#load_extension|extension]] сервисного of service engine API движка)
Задача ключа пользователя - идентифицировать пользователя Вашего приложения в системе Task of user key is to identify user of your application in Ace Stream без необходимости для пользователя регистрироваться в нашей системеsystem without the need for the user to register in our system,.
Если у Вас есть возможность связать созданный с помощью If you are able to bind user key, created using developer API разработчика ключ пользователя с конкретным пользователем Вашего приложения, мы рекомендуем вам сделать этоwith a specific user of your application, we recommend you to do that. В этом случае при необходимостиIn this case, if necessary, напримерfor example, повторно активировать дополнительную опцию для пользователя не нужно будет создавать новый ключ пользователяre-activate an additional option for the user you will not need to create a new user key. Достаточно будет сделать активации опции для существующегоIt will be enough to activate the option for existing one.
Ниже более подробно описаны шаги по созданию нового ключа пользователя и активации.
More detailed steps about creating a new user key and activation are below. ==Создание ключа пользователяCreating user key==ЗапросMethod [[Developer_API/en#createUserKey|createUserKey ]] of developer's API is used. Request: <nowiki>https://api.acestream.net/resellerdeveloper?method=createUserKey &crarr;
&api_key=94d585bda4883a40d969d723adcaba36033e61d8 &crarr;
&api_version=1.0 &crarr;
&sign=fcf118b246892d80111de2661b79edb27ff48f08</nowiki>
ОтветResponse:
<nowiki>{
"userKey":"84acee3a529bafaa65215af6f86d03fe38020b2d",
}</nowiki>
==АктивацияActivation==ЗапросMethod [[Developer_API/en#activateService|activateService]] of developer's API is used. In the example NoADs option is activated for 1 month. Request: <nowiki>https://api.acestream.net/resellerdeveloper?service=noAds &crarr; &period=m1 &crarr; &user_key=84acee3a529bafaa65215af6f86d03fe38020b2d &crarr; &method=activateService &crarr;
&api_key=94d585bda4883a40d969d723adcaba36033e61d8 &crarr;
&api_version=1.0 &crarr;
&product=kjYX790gTytRaXV04IvC &crarr;
&user_key=84acee3a529bafaa65215af6f86d03fe38020b2d &crarr;
&service=noAds &crarr;
&period=m1 &crarr;
&sign=2f55622fb9c21af5b950c210774ea34247d1a073</nowiki>
ОтветResponse:
<nowiki>{"validFrom":1401204680,"validTo":1403796680}</nowiki>
==Загрузка ключа в движокLoading key to the engine==ЗапросMethod [[Engine_Service_API/en#load_extension|load_extension]] of service engine API is used. Request:
<nowiki>POST /webui/api/service?method=load_extension HTTP/1.1
Host: localhost
L6OBnbrMrXSsjxahdQM2yFWRE\/gG91mEB6JNN0z99oswOiMghx0=</nowiki>
ОтветResponse:
<nowiki>HTTP/1.0 200 OK
Server: BaseHTTP/0.3 Python/2.7.2

Navigation menu