# Remote Config - переменные

Внутри нашей платформы появилась новая возможность - Remote config. Эта функция позволяет создать переменные, которые вы можете использовать в любом вашем проекте, а также внутри no-node конструктора. Загрузите переменные в ваш проекта используя нашу API или NPM библиотеку - <https://www.npmjs.com/package/bekender-remote-config>

<figure><img src="https://2365701060-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5j27dVA9H781kr1KsrbT%2Fuploads%2FclCc7j22LFX8YDPegBc3%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202024-10-13%20%D0%B2%2022.29.43.png?alt=media&#x26;token=04a16eb3-2751-4912-8bc1-102657099742" alt=""><figcaption></figcaption></figure>

Например вы можете использовать переменные&#x20;

* для включения отдельных фичей внутри вашего приложения, используя boolean значения. Это может быть полезно при выпуске новых фичей, когда приложение еще не протестировано, чтобы мгновенно отключить функционал, в котором возникла ошибка. Просто измените значение переменной на false. При этом важно заранее настроить логику для отображения вашей фичи при включенное feature флаге переменной.
* вы можете производить различные тесты с использованием conditions условий. Просто настройте условие при котором будет отображаться конкретная переменная. Например условие по платформе - чтобы отобразить конкретный контент в приложении только для IOS и другой контент для ANDROID и тд.
* Conditions условия также содержат возможность для AB тестирования. Используйте рандомное распределение для значения переменной между вашими пользователями. И например 20% пользователей всегда будут получать одно значение переменной, а остальные 80% другое.&#x20;

## Настройка переменной.&#x20;

<figure><img src="https://2365701060-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5j27dVA9H781kr1KsrbT%2Fuploads%2FQRQOTBpwJviygFQHgtKa%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202024-10-13%20%D0%B2%2022.35.55.png?alt=media&#x26;token=472c2db9-bad7-427e-ada2-005235ca814a" alt=""><figcaption><p>Настройка переменной</p></figcaption></figure>

Для создания переменной просто укажите ее название, тип данных и значение. При необходимости можно добавить условия для отображения разных значений переменной по платформе, по языку, по версии пользователя или рандомное значение из нескольких возможных.&#x20;

<figure><img src="https://2365701060-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5j27dVA9H781kr1KsrbT%2Fuploads%2FLuLBT7xoBmfwQqocs8Bl%2Fimage.png?alt=media&#x26;token=4e6cea9f-ae3b-4beb-bb42-0e40e971d53d" alt=""><figcaption><p>Настройка условий для переменной</p></figcaption></figure>

## Получение переменной с использование NPM библиотеки

Для получения ваших переменных внутри ваших js/ts проектов с кодом (для мобильных приложений, например react-native или для react/angular/vue web приложений или просто в html проектах.)

```javascript
import {bekenderRemoteConfig} from "bekender-remote-config"

window.addEventListener('load', async ()=>{
    //fetch variables once from remote side when app is opened
    const isFetched = await bekenderRemoteConfig.initFetch({
        //platform: '',
        //remote_config_project_id: '',
        //api_key: 'd100f647a8ac41c98...',
        //user_uniq_id: '1234',
        //lang_key: 'ru',
        //version: 1
    })
    console.log({isFetched})
    
    //use received variables in sync mode (example variable name: "landing_url")
    //you can configure your own variables in https://cloud.bekender.ru
    const landingUrl = bekenderRemoteConfig.getString('landing_url');
    console.log({landingUrl})
})
```

Создайте ваш api ключ в настройках вашего акаунта внутри сервиса nana800.io

remote\_config\_project\_id - это айди вашего проекта переменных. Пример на фото:&#x20;

<figure><img src="https://2365701060-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5j27dVA9H781kr1KsrbT%2Fuploads%2FPe8RAh5v5U6emKjAkCW9%2Fimage.png?alt=media&#x26;token=e32d02fa-9829-4229-bc1a-aa49875c48d1" alt=""><figcaption></figcaption></figure>

version, platform, user\_uniq\_id, lang\_key - опциональные параметры, которые участвуют в настройке и получении ваших переменных по условию.&#x20;

## Использование переменных внутри no-node конструктора. (бесплатно)&#x20;

Просто используйте REMOTE\_CONFIG ключ для ваших динамических переменных. Подробнее смотрите в разделе [по настройке контекста. ](https://nana800.gitbook.io/doc/features/kontekst-vypoleneniya-skhemy)

<figure><img src="https://2365701060-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5j27dVA9H781kr1KsrbT%2Fuploads%2FRIx0jXWz3cWpeu8kCqLy%2Fimage.png?alt=media&#x26;token=e58c5674-75ca-4ad6-820e-199fb935fe57" alt=""><figcaption><p>Использование переменных внутри no-code конструктора.</p></figcaption></figure>

## **Тарификация**

Стоимость использования remote-config переменных: \
1000 запросов вашего набора переменных = 100р в месяц.\
Соответственно 100 тыс запросов = 10 тыс р в месяц.\
Списание происходит каждое первое число с вашего внутреннего акаунта. \
Тарификация взымается только за использование вне no-code плфтформы. Это значит вы можете бесплатно использовать ваши переменные прямо в ваших no-code проектах и оплачивать только отдельно процессы внутри самого конструктора в соответсвии с тарифами на no-node конструктор.

{% hint style="info" %}
Мы создаем для вас многофункциональную платформу, которая позволяет вам снизить затраты на разработку и написание кода. Используете nana800.io и зарабатывайте больше.&#x20;

[nana800.io](https://nana800.io)
{% endhint %}
