Skip to content

Commit 4bdc351

Browse files
author
debugeve
committed
[修改]1. 调整参数形式,适配GravityEngine
1 parent 493be4a commit 4bdc351

File tree

2 files changed

+63
-2
lines changed

2 files changed

+63
-2
lines changed

Runtime/GameAnalytics/GameAnalyticsByGravityEngineManager.cs

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Collections.Generic;
22
using GameFrameX.GameAnalytics.Runtime;
3+
using GameFrameX.Runtime;
34
using GravityEngine;
45
using GravitySDK.PC.Constant;
56
using UnityEngine;
@@ -13,16 +14,39 @@ public sealed class GameAnalyticsByGravityEngineManager : BaseGameAnalyticsManag
1314
{
1415
private readonly Dictionary<string, object> m_publicProperties = new Dictionary<string, object>();
1516

16-
public override void Init(string appid, string channelId, string channel, string appKey, string secretKey)
17+
private readonly Dictionary<string, string> m_Args = new Dictionary<string, string>();
18+
19+
public override void Init(Dictionary<string, string> args)
20+
{
21+
Log.Info("GameAnalyticsByGravityEngineManager Init, args:" + Utility.Json.ToJson(args));
22+
23+
m_Args["accessToken"] = args["accessToken"];
24+
m_Args["channel"] = args["channel"];
25+
m_Args["debug"] = args["debug"];
26+
}
27+
28+
public override void ManualInit(Dictionary<string, string> args)
1729
{
30+
Log.Info("GameAnalyticsByGravityEngineManager ManualInit, args:" + Utility.Json.ToJson(args));
31+
1832
var gravityEngineAPI = Object.FindObjectOfType<GravityEngineAPI>();
1933
if (gravityEngineAPI == null)
2034
{
2135
Debug.LogError("在场景中找不到GravityEngineAPI组件,请确保场景中存在一个GravityEngineAPI组件");
2236
return;
2337
}
2438

25-
GravityEngineAPI.StartGravityEngine(appid, channelId, GravityEngineAPI.SDKRunMode.NORMAL, channel);
39+
m_Args["clientId"] = args["clientId"];
40+
41+
bool debug = false;
42+
if (m_Args.ContainsKey("debug"))
43+
{
44+
debug = m_Args["debug"] == "true";
45+
}
46+
47+
Log.Info("GameAnalyticsByGravityEngineManager ManualInit with accessToken:" + m_Args["accessToken"] + ", clientId:" + m_Args["clientId"] + ", channel:" + m_Args["channel"]);
48+
49+
GravityEngineAPI.StartGravityEngine(m_Args["accessToken"], m_Args["clientId"], debug ? GravityEngineAPI.SDKRunMode.DEBUG : GravityEngineAPI.SDKRunMode.NORMAL, m_Args["channel"]);
2650
#if UNITY_WEBGL
2751
#if ENABLE_WECHAT_MINI_GAME && GRAVITY_WECHAT_GAME_MODE
2852
GravityEngineAPI.EnableAutoTrack(AUTO_TRACK_EVENTS.WECHAT_GAME_ALL);
@@ -34,6 +58,21 @@ public override void Init(string appid, string channelId, string channel, string
3458
#else
3559
GravityEngineAPI.EnableAutoTrack(AUTO_TRACK_EVENTS.APP_ALL);
3660
#endif
61+
62+
m_IsInit = true;
63+
Log.Info("GameAnalyticsByGravityEngineManager ManualInit Success");
64+
65+
int version = 1;
66+
if (m_Args.ContainsKey("version"))
67+
{
68+
version = int.Parse(m_Args["version"]);
69+
}
70+
GravityEngineAPI.Initialize(m_Args["clientId"], "default", version, m_Args["clientId"], false, new InitializeCallbackImpl());
71+
}
72+
73+
public override bool IsManualInit()
74+
{
75+
return true;
3776
}
3877

3978
public override void SetPublicProperties(string key, object value)
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using System.Collections.Generic;
2+
using GravityEngine;
3+
using UnityEngine;
4+
5+
namespace GameFrameX.GameAnalytics.GravityEngine.Runtime
6+
{
7+
public class InitializeCallbackImpl : IInitializeCallback
8+
{
9+
// 初始化失败之后回调,errorMsg为报错信息
10+
public void onFailed(string errorMsg)
11+
{
12+
Debug.Log("GravityEngine initialize failed! Error: " + errorMsg);
13+
}
14+
15+
// 初始化成功之后回调
16+
public void onSuccess(Dictionary<string, object> responseJson)
17+
{
18+
Debug.Log("GravityEngine initialize success!");
19+
GravityEngineAPI.Flush();
20+
}
21+
}
22+
}

0 commit comments

Comments
 (0)