# com.didabu.core.unity

> Didabu Unity Core

Latest version **0.6.11** (published 2022-04-28) · 0 weekly downloads

## Install

```sh
npm install com.didabu.core.unity
pnpm add com.didabu.core.unity
yarn add com.didabu.core.unity
bun add com.didabu.core.unity
```

## Health

**Score 10/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; low quality score; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.6.11 |
| Published | 2022-04-28 |
| First published | 2021-11-23 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 138.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Didabu |
| Maintainers | mogafa |
| Keywords | mogafa, didabu, unity |

## Links

- npm: https://www.npmjs.com/package/com.didabu.core.unity
- npm.io page: https://npm.io/package/com.didabu.core.unity

## Dependencies (1)

- [com.mogafa.common.unity](https://npm.io/package/com.mogafa.common.unity.md) 0.6.5

## Alternatives

- [@sindresorhus/slugify](https://npm.io/package/@sindresorhus/slugify.md) — 3.7M weekly downloads
- [solid-js](https://npm.io/package/solid-js.md) — 2.7M weekly downloads
- [expo-glass-effect](https://npm.io/package/expo-glass-effect.md) — 2.5M weekly downloads
- [nanoassert](https://npm.io/package/nanoassert.md) — 780.8K weekly downloads
- [@ffmpeg/ffmpeg](https://npm.io/package/@ffmpeg/ffmpeg.md) — 529.5K weekly downloads

## Recent versions

- 0.6.11 (latest) — 2022-04-28
- 1.0.0-beta.7 (beta) — 2022-09-29
- 1.0.0-beta.6 — 2022-09-19
- 1.0.0-beta.5 — 2022-06-24
- 1.0.0-beta.4 — 2022-06-23
- 1.0.0-beta.3 — 2022-06-20
- 1.0.0-beta.2 — 2022-06-13
- 1.0.0-beta.1 — 2022-06-02
- 1.0.0-beta.0 — 2022-05-27
- 0.6.10 — 2022-04-02
- 0.6.9 — 2022-03-28
- 0.6.8 — 2022-03-28
- 0.6.7 — 2022-03-28
- 0.6.6 — 2022-03-25
- 0.6.5 — 2022-03-21
- … 9 more at https://npm.io/package/com.didabu.core.unity/versions

## README

# Didabu
# Installtion

修改Packages目录下的manifest.json文件，增加scopedRegistries节（如果没有的话），然后增加以下仓库配置：

```json
  "scopedRegistries": [
    {
      "name": "npmjs",
      "url": "https://registry.npmjs.org",
      "scopes": [
        "com.onesignal",
        "com.modesttree.zenject",
        "com.applovin.max.unity",
        "com.mogafa",
        "com.didabu",
        "com.bugly.unity",
        "com.facebook.unity"
      ]
    }
  ]
```
在dependencies下添加：

开发环境（Github）
```json
    "com.didabu.core.unity": "ssh://git@github.com/didabu/unity-core.git#upm_dev",
```
开发环境（aliyun）
```json
    "com.didabu.core.unity": "ssh://git@code.aliyun.com/didabu/unity-core.git#upm_dev",
```
正式环境
```json
    "com.didabu.core.unity": "0.2.2",
```
# 初始化
在网站创建App后，设置好参数，然后下载参数json文件，放置到Resources中（如果更新App版本时，最好同时更新json文件），调用Didabu.Application.Init方法初始化Didabu：
```csharp
Didabu.Application.Init("YOUR_DIDABU_APP_ID","YOUR_APP_DEV_KEY");
```
## 沙箱环境
开发过程中设置沙箱环境为true，正式环境设置为false：
```csharp
//开发环境
Didabu.Application.IsSandbox = true;
//正式环境
Didabu.Application.IsSandbox = false;
```
## 日志等级
```csharp
//设置日志级别
Didabu.Application.LogLevel = LogLevel.Debug;
//获取日志组件
var logger = IocContainer.Resolve<ILogger>();
logger.LogDebug("Test log.");
```
或者继承自MogafaBase（MogafaMonoBehaviourBase），可以在类中直接使用Logger来记录日志
```csharp
public class TestClass : MogafaBase //MogafaMonoBehaviourBase
{
    public void TestMethod()
    {
        Logger.LogDebug("Enter TestMethod.");
    }
    public async void SaveDataTest()
    {
        await LocalStorage.SetString("testname1", "testvalue");
        await LocalStorage.SetInt("testname2", 100);
        await LocalStorage.SetLong("testname3", 1000L);
        await LocalStorage.SetFloat("testname4", 0.01f);
    }
}
```
## 选择HttpClient
Didabu提供两种内置的HttpClient供选择，一种是.net提供的HttpClient，另外一种是Unity提供WebRequest，通过以下方式来选择：
```csharp
//选择.net提供的HttpClient
Didabu.Application.UseDefaultHttpClient();

//选择unity的WebRequest
Didabu.Application.UseUnityWebRequestHttpClient();
```
# Features
## 资产操作
```csharp
var assetCode = "0301";

//增加资产
Didabu.Application.AddAsset(assetCode, 500);
//减少资产
Didabu.Application.SubAsset(assetCode, 100);
//获取资产
var assetValue = Didabu.Application.GetAsset(assetCode);
//获取资产排行榜

```
## 用户行为操作
```csharp
var behaviourCode = "7001";
//记录用户行为次数
var times = await Didabu.Application.AddBehaviour(behaviourCode, 1);
//获取用户行为次数
var behaviourCode = await Didabu.Application.GetBehaviour(behaviourCode);
```
## App数据操作
```csharp
var appDataCode = "5001";
//记录app数据
Didabu.Application.SetAppData(appDataCode, "00:02.635");
//获取app数据
var appData = Didabu.Application.GetAppData(appDataCode);
//获取app数据的排行榜
List<AppDataLeaderboardDto> leaderboards = await Didabu.Application.GetAppDataLeaderboard(appDataCode);
//倒序获取app数据排行榜
leaderboards = await Didabu.Application.GetAppDataLeaderboard(appDataCode, true);
```

## AB分组操作
```csharp
if(Didabu.Application.IsAbGroup("ABGroup", "A"))
{
    //如果ABGroup分组为A，则作相应处理
}
```

---
_Source: https://npm.io/package/com.didabu.core.unity · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
