|
@@ -1,5 +1,3 @@
|
|
|
-[TOC]
|
|
|
-
|
|
|
# 修订记录
|
|
|
|
|
|
| 日期 | 版本 | 说明 | 作者 |
|
|
@@ -17,7 +15,7 @@
|
|
|
- Gradle Version : 7.0.2+
|
|
|
|
|
|
- Android Studio开启Android X支持,请在游戏项目根目录的**`gradle.properties`**中设置
|
|
|
-
|
|
|
+
|
|
|
```properties
|
|
|
android.useAndroidX=true
|
|
|
android.enableJetifier=true
|
|
@@ -38,9 +36,9 @@
|
|
|
- 3.拷贝对应渠道目录下**`res/values/strings.xml`**中的内容至项目中相应的文档中,如果没有strings.xml则新建一份即可,如果该目录没有则不需要处理
|
|
|
|
|
|
- 4.在应用**`build.gradle`**中**`dependencies`**节点下添加SDK依赖,目前只提供远程依赖
|
|
|
-
|
|
|
+
|
|
|
> 在项目级**`build.gradle`**文件下的**`allprojects`**节点下添加仓库的url
|
|
|
-
|
|
|
+
|
|
|
```groovy
|
|
|
allprojects {
|
|
|
repositories {
|
|
@@ -52,15 +50,28 @@
|
|
|
}
|
|
|
}
|
|
|
```
|
|
|
-
|
|
|
+
|
|
|
> 在应用级**`build.gradle`**文件下的**`allprojects`**节点下添加仓库的url
|
|
|
-
|
|
|
+
|
|
|
```groovy
|
|
|
- implementation 'io.github.yyxxgame.sdk:eyuancomm-sdk-ktx-comm:1.0.0-rc3'
|
|
|
- implementation 'io.github.yyxxgame.sdk:eyuancomm-sdk-ktx-impl:1.0.0-rc3'
|
|
|
+ implementation 'io.github.yyxxgame.sdk:eyuancomm-sdk-ktx-comm:1.0.0-rc6'
|
|
|
+ implementation 'io.github.yyxxgame.sdk:eyuancomm-sdk-ktx-impl:1.0.0-rc4'
|
|
|
+
|
|
|
+ // 以下sdk按接入需求引入,注意不能同时引入
|
|
|
+
|
|
|
+ // 元游sdk(谷歌包官网包)
|
|
|
+ implementation 'io.github.yyxxgame.sdk:eyuancomm-sdk-ktx-core:1.0.0-rc5'
|
|
|
// 以下sdk依赖在生成对应包时按需引入,为了避免资源冲突请不要同时引入
|
|
|
- implementation 'io.github.yyxxgame.sdk:eyuancomm-channel-lib-huawei:1.0.0-rc3'
|
|
|
- implementation 'io.github.yyxxgame.sdk:eyuancomm-channel-lib-oppo:1.0.0-rc3'
|
|
|
+ // 元游sdk港台繁体语言包
|
|
|
+ implementation 'io.github.yyxxgame.sdk:eyuancomm-lang-hk:1.0.0-rc4'
|
|
|
+ // 元游sdk越南语言包
|
|
|
+ implementation 'io.github.yyxxgame.sdk:eyuancomm-lang-vn:1.0.0-rc4'
|
|
|
+
|
|
|
+ // 华为渠道sdk
|
|
|
+ implementation 'io.github.yyxxgame.sdk:eyuancomm-channel-lib-huawei:1.0.0-rc4'
|
|
|
+
|
|
|
+ // oppo渠道sdk
|
|
|
+ implementation 'io.github.yyxxgame.sdk:eyuancomm-channel-lib-huawei:1.0.0-rc4'
|
|
|
```
|
|
|
|
|
|
# 3.接口说明
|
|
@@ -293,18 +304,21 @@
|
|
|
|
|
|
角色信息实体对象SdkRoleInfo,如无特别说明所有字段均不能为null或空串""
|
|
|
|
|
|
-| 参数 | 类型 | 说明 |
|
|
|
-|:-------------:|:------:|:---------------------------:|
|
|
|
-| userId | string | 当前用户ID |
|
|
|
-| serverId | string | 当前角色所在的服务器ID |
|
|
|
-| serverName | string | 当前角色所在的服务器名 |
|
|
|
-| roleId | string | 当前角色ID |
|
|
|
-| roleName | string | 当前角色名 |
|
|
|
-| roleLevel | string | 当前角色等级 |
|
|
|
-| roleCTime | long | 当前角色创建的时间戳(10位),角色一旦创建则是固定值 |
|
|
|
-| vipLevel | string | 当前Vip角色等级,若无传"none" |
|
|
|
-| balance | string | 当前角色游戏币余额,若无传"none" |
|
|
|
-| totalPurchase | int | 累计充值金额,若无传0) |
|
|
|
+| 参数 | 类型 | 说明 |
|
|
|
+|:----------:|:------:|:---------------------------:|
|
|
|
+| userId | string | 当前用户ID |
|
|
|
+| serverId | string | 当前角色所在的服务器ID |
|
|
|
+| serverName | string | 当前角色所在的服务器名 |
|
|
|
+| roleId | string | 当前角色ID |
|
|
|
+| roleName | string | 当前角色名 |
|
|
|
+| roleLevel | string | 当前角色等级 |
|
|
|
+| rolePower | int | 当前角色战力 |
|
|
|
+| roleGold | int | 当前角色元宝 |
|
|
|
+| roleChange | int | 当前角色累充金额(单位分) |
|
|
|
+| roleCTime | long | 当前角色创建的时间戳(10位),角色一旦创建则是固定值 |
|
|
|
+| vipLevel | string | 当前Vip角色等级,若无传"none" |
|
|
|
+| partyId | string | 当前角色帮派Id,若无传"none" |
|
|
|
+| partyName | string | 当前角色帮派名称,若无传"none" |
|
|
|
|
|
|
> 角色创建
|
|
|
|
|
@@ -346,26 +360,32 @@
|
|
|
|
|
|
```java
|
|
|
SdkRoleInfo gameRoleInfo = new SdkRoleInfo();
|
|
|
- //用户ID
|
|
|
+ // 用户ID
|
|
|
gameRoleInfo.setUserId(EYuanGame.getInstance().getCurrentUserId());
|
|
|
- //角色ID
|
|
|
+ // 角色ID
|
|
|
gameRoleInfo.setRoleId(roleId);
|
|
|
- //角色名称
|
|
|
+ // 角色名称
|
|
|
gameRoleInfo.setRoleName(roleName);
|
|
|
- //角色等级
|
|
|
+ // 角色等级
|
|
|
gameRoleInfo.setRoleLevel(roleLevel);
|
|
|
- //创角时间戳(角色一旦创角则是固定值)
|
|
|
+ // 创角时间戳(角色一旦创角则是固定值)
|
|
|
gameRoleInfo.setRoleCTime(System.currentTimeMillis()/1000)
|
|
|
- //服务器ID
|
|
|
+ // 角色战力
|
|
|
+ gameRoleInfo.setRolePower(100);
|
|
|
+ // 角色元宝
|
|
|
+ gameRoleInfo.setRoleGold(200);
|
|
|
+ // 角色累充金额
|
|
|
+ gameRoleInfo.setRoleChange(2000);
|
|
|
+ // 帮派Id
|
|
|
+ gameRoleInfo.setPartyId("1231");
|
|
|
+ // 帮派名称
|
|
|
+ gameRoleInfo.setPartyName("帮派1231")
|
|
|
+ // 服务器ID
|
|
|
gameRoleInfo.setServerId(serverId);
|
|
|
- //服务器名
|
|
|
+ // 服务器名
|
|
|
gameRoleInfo.setServerName(serverName);
|
|
|
- //用户VIP等级,无该字段则传空串""
|
|
|
+ // 用户VIP等级,无该字段则传空串"none"
|
|
|
gameRoleInfo.setVipLevel("1");
|
|
|
- //当前角色游戏币余额
|
|
|
- gameRoleInfo.setBalance("600");
|
|
|
- //累计充值金额,若无传0)
|
|
|
- gameRoleInfo.setTotalPurchase(0)
|
|
|
|
|
|
//角色创建
|
|
|
EYuanCommSdk.getInstance().roleCreate(this, gameRoleInfo);
|
|
@@ -594,19 +614,39 @@
|
|
|
EYuanCommSdk.getInstance().getCurrentSdkVersion();
|
|
|
```
|
|
|
|
|
|
-## 13)SDK日志接口(选接)
|
|
|
+## 13)SDK游戏打点上报(按需接入)
|
|
|
+
|
|
|
+SDK埋点事件信息实体对象SdkEvent
|
|
|
|
|
|
-> 若游戏有需要持久化java、kotlin和C++(联系我方技术获取头文件)层的日志,可以使用SDK的日志接口。SDK的日志框架底层使用C++进行开发,使用了Linux系统的mmap内存拷贝技术
|
|
|
-> SDK会默认缓存3天的日志,过期则自动删除
|
|
|
-> 缓存的文件使用Facebook开源的压缩算法zlib进行压缩
|
|
|
-> 缓存路径为**手机内部存储目录/Android/data/包名/files/dolin/zap**,即应用的私有目录
|
|
|
-> 更多使用方法请联系我方技术
|
|
|
+| 参数 | 类型 | 说明 |
|
|
|
+|:-----------:|:------:|:------------------:|
|
|
|
+| eventName | string | 事件名称 |
|
|
|
+| eventParams | string | 事件参数(预留) |
|
|
|
+| standard | bool | 是否fb标准事件 |
|
|
|
+| fbAliasName | string | fb标准事件名称,非标准事件则为"" |
|
|
|
|
|
|
```java
|
|
|
- // debug日志
|
|
|
- Logger.d(TAG,msg);
|
|
|
- // info日志
|
|
|
- Logger.i(TAG,msg);
|
|
|
- // error日志
|
|
|
- Logger.e(TAG,msg);
|
|
|
+ /**
|
|
|
+ * 游戏内打点上报
|
|
|
+ *
|
|
|
+ * @param context Aontext上下文
|
|
|
+ * @param sdkEvent SDK埋点事件信息实体对象
|
|
|
+ */
|
|
|
+ public void traceEvent(Context context, SdkEvent sdkEvent)
|
|
|
+```
|
|
|
+
|
|
|
+- 示例
|
|
|
+
|
|
|
+```java
|
|
|
+ SdkEvent tutorialEvent = new SdkEvent();
|
|
|
+ tutorialEvent.setEventName("tutorial");
|
|
|
+ joinEvent.setStandard(false);
|
|
|
+ EYuanCommSdk.getInstance().traceEvent(this, tutorialEvent);
|
|
|
+
|
|
|
+ // fb标准事件
|
|
|
+ SdkEvent joinEvent = new SdkEvent();
|
|
|
+ joinEvent.setEventName("joinin_party");
|
|
|
+ joinEvent.setStandard(true);
|
|
|
+ joinEvent.setFbAliasName("fb_mobile_achievement_unlocked");
|
|
|
+ EYuanCommSdk.getInstance().traceEvent(this, joinEvent);
|
|
|
```
|