Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@agru/sdk

Package Overview
Dependencies
Maintainers
1
Versions
42
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@agru/sdk

AG RU SDK for the games integration

  • 1.0.8-2
  • npm
  • Socket score

Version published
Weekly downloads
102
decreased by-64.71%
Maintainers
1
Weekly downloads
 
Created
Source

Bundle Size Version

@agru/sdk

Мост между iframe игры и ag.ru

Установка

# npm
npm i @agru/sdk
# yarn
yarn add @agru/sdk
# pnpm
pnpm add @agru/sdk

Установка используя CDN

Внимание
Скрипт необходимо вставить перед вашим основным скриптом игры!

<script src="https://unpkg.com/@agru/sdk/dist/umd/index.min.js"></script>

Начало работы

import { AgRuSdk } from '@agru/sdk';

const sdk = new AgRuSdk({
  // ...
});

Используя CDN версию, класс AgRuSdk доступен глобально.

const sdk = new AgRuSdk({
  // ...
});

API

options

Объект с настройками SDK.

{
  debug: boolean;
}

params

Объект с параметрами iframe.

  • app_id - Идентификатор игры
  • auth_key - Зашифрованная строка в HMAC SHA256 16-бит: "{app_id}._.{playerid}._.{game_sid}"
  • game_sid - Идентификатор игровой сессии
  • playerid - Идентификатор игрока

getSaveData

Получить игровые данные пользователя с сервера.

const [data, error] = await sdk.getSaveData();

или

sdk.getSaveData((data, error) => {
  // ...
});

Пример ответа:

{
  "ключ": "значение"
}

getUsers

Получить информацию о пользователях.

Необходимо передать массив ID пользователей.

const [data, error] = await sdk.getUsers([1001, 1002, 1003]);

или

sdk.getUsers([1001, 1002, 1003], (data, error) => {
  // ...
});

Пример ответа:

{
  /**
   * Ссылка на аватар пользователя.
   */
  avatar: string;

  /**
   * Идентификатор пользователя.
   */
  id: number;

  /**
   * Никнейм пользователя.
   */
  name: string;
}

isAppUser

Относится ли пользователь к данной игре.

Необходимо передать ID пользователя.

const [data, error] = await sdk.isAppUser(1001);

или

sdk.isAppUser(1001, (data, error) => {
  // ...
});

Пример ответа:

true;

on

Слушать событие и обрабатывать.

Необходимо передать ключ метода и обработчик.

import { AgRuSdkMethods } from '@agru/sdk';

sdk.on(AgRuSdkMethods.SayHello, (data, error) => {
  // ...
});

или используя CDN версию

sdk.on(AgRuSdkMethods.SayHello, (data, error) => {
  // ...
});

once

Слушать событие и обработать один раз.

Необходимо передать ключ метода и обработчик.

import { AgRuSdkMethods } from '@agru/sdk';

sdk.once(AgRuSdkMethods.SayHello, (data, error) => {
  // ...
});

или используя CDN версию

sdk.once(AgRuSdkMethods.SayHello, (data, error) => {
  // ...
});

sayHello

Вывести приветственную фразу. Показывает, что инициализация прошла успешно.

const [data, error] = await sdk.sayHello();

или

sdk.sayHello((data, error) => {
  // ...
});

Пример ответа:

"And here's Johnny";

showCampaign

Показать рекламную кампанию.

const [data, error] = await sdk.showCampaign('default');

или

sdk.showCampaign('default', (data, error) => {
  // ...
});

Пример ответа:

{
  status: true,
  type: 'default',
};

Показать мотивированную рекламу (rewarded video).

const [data, error] = await sdk.showCampaign('rewarded');

или

sdk.showCampaign('rewarded', (data, error) => {
  // ...
});

Пример ответа:

{
  status: true,
  type: 'rewarded',
};

Пример отслеживания состояния:

let isCampaignVisible = false;

sdk.on(AgRuSdkMethods.ShowCampaign, ({ status, type }) => {
  if (type === 'rewarded') {
    // Проверка на rewarded video.
  }

  isCampaignVisible = status;
});

// Показываем баннер.
sdk.showCampaign('default');

// Показываем видео рекламу.
sdk.showCampaign('rewarded');

setSaveData

Сохранить игровые данные пользователя на сервер.

const [data, error] = await sdk.setSaveData({
  ключ: 'значение',
});

или

sdk.setSaveData(
  {
    ключ: 'значение',
  },
  (data, error) => {
    // ...
  }
);

Пример ответа:

true;

Методы SDK

enum AgRuSdkMethods {
  GetSaveData = 'agru-getSaveData',
  GetUsers = 'agru-getUsers',
  IsAppUser = 'agru-isAppUser',
  SayHello = 'agru-sayHello',
  ShowCampaign = 'agru-showCampaign',
  SetSaveData = 'agru-setSaveData',
}

Keywords

FAQs

Package last updated on 29 Nov 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc