com.xd.sdk.tap 0.0.6-xd.2 → 0.0.6-xd.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Compliance/Runtime/Public/TapTapCompliance.cs +2 -3
- package/Compliance/link.xml.meta +1 -1
- package/Core/Editor/TapSDKCoreCompile.cs +1 -0
- package/Core/Resources/TapMessage.prefab.meta +0 -0
- package/Core/Resources/tap_toast_background.png +0 -0
- package/Core/Resources/tap_toast_background1.png +0 -0
- package/Core/Runtime/Internal/Utils/TapMessage.cs +0 -0
- package/Core/Runtime/Internal/Utils/TapMessage.cs.meta +0 -0
- package/Core/Runtime/Public/TapTapSDK.cs +2 -2
- package/Core/Standalone/Plugins/macOS/TapDBDeviceInfo.bundle/Contents/MacOS/TapDBDeviceInfo +0 -0
- package/Core/Standalone/Plugins/macOS/libtapsdkcorecpp.dylib.meta +1 -1
- package/Core/Standalone/Runtime/Internal/Bean/TapGatekeeper.cs +0 -2
- package/Core/Standalone/Runtime/Internal/Tracker.cs +4 -4
- package/Core/Standalone/Runtime/Internal/User.cs +2 -3
- package/Core/Standalone/Runtime/Public/TapCoreStandalone.cs +0 -14
- package/Core/link.xml.meta +1 -1
- package/Editor/Android/TapWrapperAndroidGradleProcessor.cs +20 -10
- package/License/Runtime/Public/TapTapLicense.cs +1 -1
- package/License/link.xml.meta +1 -1
- package/Login/Runtime/Public/TapTapLogin.cs +1 -1
- package/Login/Standalone/Resources/Sprites/taptap-login-button-bg.png +0 -0
- package/Login/Standalone/Resources/Sprites/taptap-scan-tips-error.png +0 -0
- package/Login/Standalone/Resources/Sprites/taptap-scan-tips-info.png +0 -0
- package/Login/link.xml.meta +1 -1
- package/Moment/Runtime/Public/TapTapMoment.cs +1 -1
- package/Moment/link.xml.meta +1 -1
- package/Plugins/Android/XDGBridgeTapTapWrapper_v7_7.0.0.aar +0 -0
- package/Plugins/Android/XDGBridgeTapTapWrapper_v7_7.0.0.aar.meta +3 -0
- package/Plugins/Android.meta +3 -0
- package/Plugins/iOS/TapTapSDKLoginAppDelegate.mm +3 -0
- package/Plugins/iOS.meta +3 -0
- package/Plugins.meta +3 -0
- package/Review/Runtime/Public/TapTapReview.cs +1 -1
- package/Review/link.xml.meta +1 -1
- package/Runtime/Internal/Mobile/XDGTapBridgeConstants.cs +33 -0
- package/Runtime/Internal/Mobile/XDGTapBridgeConstants.cs.meta +3 -0
- package/Runtime/Internal/Mobile/XDGTapSDKInternalImpl.cs +301 -0
- package/Runtime/Internal/Mobile/XDGTapSDKInternalImpl.cs.meta +3 -0
- package/Runtime/Internal/Mobile.meta +3 -0
- package/Runtime/Internal/Standalone/XDGTapSDKInternalImpl.cs +116 -0
- package/Runtime/Internal/Standalone/XDGTapSDKInternalImpl.cs.meta +3 -0
- package/Runtime/Internal/Standalone.meta +3 -0
- package/Runtime/Internal/XDGTapSDKInternal.cs +118 -0
- package/Runtime/Internal/XDGTapSDKInternal.cs.meta +3 -0
- package/Runtime/Public/IXDGTapSDK.cs +44 -0
- package/Runtime/Public/IXDGTapSDK.cs.meta +3 -0
- package/Runtime/Public/TapSDKEventHandler.cs +15 -8
- package/Runtime/Public/XDGTapSDK.cs +23 -18
- package/Runtime/XD.SDK.Tap.asmdef +3 -3
- package/Update/Runtime/Public/TapTapUpdate.cs +1 -1
- package/Update/link.xml.meta +1 -1
- package/package.json +1 -1
- package/Login/Plugins/iOS/TapTapSDKLoginAppDelegate.mm +0 -41
- package/Update/Mobile/Editor/TapAndroidProvider.txt +0 -58
- package/Update/Mobile/Editor/TapAndroidProvider.txt.meta +0 -7
- /package/{Login/Plugins → Plugins}/iOS/TapTapSDKLoginAppDelegate.mm.meta +0 -0
|
@@ -3,7 +3,6 @@ using TapSDK.Core;
|
|
|
3
3
|
using TapSDK.Compliance.Model;
|
|
4
4
|
using TapSDK.Compliance.Internal;
|
|
5
5
|
using System.Threading.Tasks;
|
|
6
|
-
using TapSDK.Core.Internal.Log;
|
|
7
6
|
|
|
8
7
|
namespace TapSDK.Compliance
|
|
9
8
|
{
|
|
@@ -11,12 +10,12 @@ namespace TapSDK.Compliance
|
|
|
11
10
|
public static class TapTapCompliance
|
|
12
11
|
{
|
|
13
12
|
|
|
14
|
-
public static readonly string Version = "4.8.1-beta.
|
|
13
|
+
public static readonly string Version = "4.8.1-beta.6";
|
|
15
14
|
|
|
16
15
|
public static void RegisterComplianceCallback(Action<int, string> callback)
|
|
17
16
|
{
|
|
18
17
|
if (ComplianceJobManager.IsInit() == false) {
|
|
19
|
-
|
|
18
|
+
TapLogger.Warn("TapSDK::ComplianceUIKit is not init, please call Init first!");
|
|
20
19
|
}
|
|
21
20
|
ComplianceJobManager.Job?.RegisterComplianceCallback(callback);
|
|
22
21
|
}
|
package/Compliance/link.xml.meta
CHANGED
|
@@ -91,6 +91,7 @@ namespace TapSDK.Core.Editor
|
|
|
91
91
|
string modulePackageName,
|
|
92
92
|
string moduleName, string[] bundleNames, string target, string projPath, PBXProject proj, string podSpecName = "")
|
|
93
93
|
{
|
|
94
|
+
// TIPS: bundle 资源会被 XDSDK 脚本处理,这里直接屏蔽相关逻辑
|
|
94
95
|
return true;
|
|
95
96
|
|
|
96
97
|
var resourcePath = Path.Combine(path, resourceName);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -12,7 +12,7 @@ using System.ComponentModel;
|
|
|
12
12
|
|
|
13
13
|
namespace TapSDK.Core {
|
|
14
14
|
public class TapTapSDK {
|
|
15
|
-
public static readonly string Version = "4.8.1-beta.
|
|
15
|
+
public static readonly string Version = "4.8.1-beta.6";
|
|
16
16
|
|
|
17
17
|
public static string SDKPlatform = "TapSDK-Unity";
|
|
18
18
|
|
|
@@ -54,7 +54,7 @@ namespace TapSDK.Core {
|
|
|
54
54
|
initTasks = initTasks.OrderBy(task => task.Order).ToList();
|
|
55
55
|
foreach (IInitTask task in initTasks)
|
|
56
56
|
{
|
|
57
|
-
|
|
57
|
+
TapLogger.Debug($"Init: {task.GetType().Name}");
|
|
58
58
|
task.Init(coreOption);
|
|
59
59
|
}
|
|
60
60
|
}
|
|
File without changes
|
|
@@ -20,8 +20,6 @@ namespace TapSDK.Core.Standalone.Internal.Bean
|
|
|
20
20
|
[Serializable]
|
|
21
21
|
internal class TapGatekeeperSwitch
|
|
22
22
|
{
|
|
23
|
-
[JsonProperty("auto_event")]
|
|
24
|
-
public bool AutoEvent { get; set; } = true;
|
|
25
23
|
|
|
26
24
|
[JsonProperty("heartbeat")]
|
|
27
25
|
public bool Heartbeat { get; set; } = true;
|
|
@@ -28,10 +28,10 @@ namespace TapSDK.Core.Standalone.Internal {
|
|
|
28
28
|
sender = new EventSender();
|
|
29
29
|
|
|
30
30
|
InitBasicProps();
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
|
|
32
|
+
Dictionary<string, object> props = new Dictionary<string, object>(basicProps);
|
|
33
|
+
TrackEvent(Constants.DEVICE_LOGIN, props, true);
|
|
34
|
+
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
public void AddCommonProperty(string key, object value) {
|
|
@@ -30,9 +30,8 @@ namespace TapSDK.Core.Standalone.Internal {
|
|
|
30
30
|
// 再执行新用户登录逻辑
|
|
31
31
|
Id = userId;
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
33
|
+
TapEventStandalone.Tracker?.TrackEvent(Constants.USER_LOGIN, props, true);
|
|
34
|
+
|
|
36
35
|
|
|
37
36
|
Dictionary<string, object> updateProps = new Dictionary<string, object> {
|
|
38
37
|
{ "has_user", true },
|
|
@@ -29,7 +29,6 @@ namespace TapSDK.Core.Standalone
|
|
|
29
29
|
|
|
30
30
|
// client 信息是否匹配
|
|
31
31
|
internal static bool isClientInfoMatched = true;
|
|
32
|
-
internal static bool enableAutoEvent = true;
|
|
33
32
|
|
|
34
33
|
internal static TapGatekeeper gatekeeperData = new TapGatekeeper();
|
|
35
34
|
|
|
@@ -96,7 +95,6 @@ namespace TapSDK.Core.Standalone
|
|
|
96
95
|
try
|
|
97
96
|
{
|
|
98
97
|
TapGatekeeper tapGatekeeper = JsonConvert.DeserializeObject<TapGatekeeper>(clientSettings);
|
|
99
|
-
SetAutoEvent(tapGatekeeper);
|
|
100
98
|
if (tapGatekeeper.Switch?.Heartbeat == true)
|
|
101
99
|
{
|
|
102
100
|
TapAppDurationStandalone.Enable();
|
|
@@ -163,7 +161,6 @@ namespace TapSDK.Core.Standalone
|
|
|
163
161
|
json: body,
|
|
164
162
|
onSuccess: (data) =>
|
|
165
163
|
{
|
|
166
|
-
SetAutoEvent(data);
|
|
167
164
|
if (data.Switch?.Heartbeat == true)
|
|
168
165
|
{
|
|
169
166
|
TapAppDurationStandalone.Enable();
|
|
@@ -199,17 +196,6 @@ namespace TapSDK.Core.Standalone
|
|
|
199
196
|
File.WriteAllText(Path.Combine(Application.persistentDataPath, Constants.ClientSettingsFileName + "_" + TapTapSDK.taptapSdkOptions.clientId + ".json"), json);
|
|
200
197
|
}
|
|
201
198
|
|
|
202
|
-
private void SetAutoEvent(TapGatekeeper gatekeeper)
|
|
203
|
-
{
|
|
204
|
-
if (gatekeeper != null)
|
|
205
|
-
{
|
|
206
|
-
var switchData = gatekeeper.Switch;
|
|
207
|
-
if (switchData != null)
|
|
208
|
-
{
|
|
209
|
-
enableAutoEvent = switchData.AutoEvent;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
199
|
|
|
214
200
|
public static bool CheckInitState()
|
|
215
201
|
{
|
package/Core/link.xml.meta
CHANGED
|
@@ -19,19 +19,29 @@ namespace XD.SDK.Tap.Editor
|
|
|
19
19
|
|
|
20
20
|
protected override List<AndroidGradleProjectConfig.Dependency> GenerateDependencies()
|
|
21
21
|
{
|
|
22
|
-
|
|
22
|
+
var dependencies = new List<AndroidGradleProjectConfig.Dependency>
|
|
23
23
|
{
|
|
24
|
-
new AndroidGradleProjectConfig.Dependency(group: "com.taptap.sdk", module: "tap-core
|
|
25
|
-
version: VersionCatalog.TapTapSdk),
|
|
26
|
-
new AndroidGradleProjectConfig.Dependency(group: "com.taptap.sdk", module: "tap-login-unity",
|
|
27
|
-
version: VersionCatalog.TapTapSdk),
|
|
28
|
-
new AndroidGradleProjectConfig.Dependency(group: "com.taptap.sdk", module: "tap-compliance",
|
|
29
|
-
version: VersionCatalog.TapTapSdk),
|
|
30
|
-
new AndroidGradleProjectConfig.Dependency(group: "com.taptap.sdk", module: "tap-moment-unity",
|
|
31
|
-
version: VersionCatalog.TapTapSdk),
|
|
32
|
-
new AndroidGradleProjectConfig.Dependency(group: "com.taptap.sdk", module: "tap-review-unity",
|
|
24
|
+
new AndroidGradleProjectConfig.Dependency(group: "com.taptap.sdk", module: "tap-core",
|
|
33
25
|
version: VersionCatalog.TapTapSdk),
|
|
26
|
+
new AndroidGradleProjectConfig.Dependency(group: "com.taptap.sdk", module: "tap-login",
|
|
27
|
+
version: VersionCatalog.TapTapSdk)
|
|
34
28
|
};
|
|
29
|
+
|
|
30
|
+
var regionType = configModel?.region_type ?? string.Empty;
|
|
31
|
+
if (!"cn".Equals(regionType.ToLower())) return dependencies;
|
|
32
|
+
|
|
33
|
+
dependencies.Add(new AndroidGradleProjectConfig.Dependency(group: "com.taptap.sdk", module: "tap-compliance",
|
|
34
|
+
version: VersionCatalog.TapTapSdk));
|
|
35
|
+
dependencies.Add(new AndroidGradleProjectConfig.Dependency(group: "com.taptap.sdk", module: "tap-moment",
|
|
36
|
+
version: VersionCatalog.TapTapSdk));
|
|
37
|
+
dependencies.Add(new AndroidGradleProjectConfig.Dependency(group: "com.taptap.sdk", module: "tap-review",
|
|
38
|
+
version: VersionCatalog.TapTapSdk));
|
|
39
|
+
dependencies.Add(new AndroidGradleProjectConfig.Dependency(group: "com.taptap.sdk", module: "tap-license",
|
|
40
|
+
version: VersionCatalog.TapTapSdk));
|
|
41
|
+
dependencies.Add(new AndroidGradleProjectConfig.Dependency(group: "com.taptap.sdk", module: "tap-update",
|
|
42
|
+
version: VersionCatalog.TapTapSdk));
|
|
43
|
+
|
|
44
|
+
return dependencies;
|
|
35
45
|
}
|
|
36
46
|
}
|
|
37
47
|
}
|
package/License/link.xml.meta
CHANGED
|
@@ -7,7 +7,7 @@ namespace TapSDK.Login
|
|
|
7
7
|
public class TapTapLogin
|
|
8
8
|
{
|
|
9
9
|
|
|
10
|
-
public static readonly string Version = "4.8.1-beta.
|
|
10
|
+
public static readonly string Version = "4.8.1-beta.6";
|
|
11
11
|
|
|
12
12
|
public const string TAP_LOGIN_SCOPE_BASIC_INFO = "basic_info";
|
|
13
13
|
public const string TAP_LOGIN_SCOPE_PUBLIC_PROFILE = "public_profile";
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/Login/link.xml.meta
CHANGED
package/Moment/link.xml.meta
CHANGED
|
Binary file
|
package/Plugins/iOS.meta
ADDED
package/Plugins.meta
ADDED
package/Review/link.xml.meta
CHANGED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
namespace XD.SDK.Tap.Internal.Mobile
|
|
2
|
+
{
|
|
3
|
+
public class XDGTapBridgeConstants
|
|
4
|
+
{
|
|
5
|
+
public static class Moment
|
|
6
|
+
{
|
|
7
|
+
public const string BridgeName = "XDGBridgeMoment";
|
|
8
|
+
public const string ServiceName = "com.xd.sdk.taptap.bridge.moment.BridgeMoment";
|
|
9
|
+
public const string ServiceImpl = "com.xd.sdk.taptap.bridge.moment.BridgeMomentImpl";
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
public static class Review
|
|
13
|
+
{
|
|
14
|
+
public const string BridgeName = "XDGBridgeReview";
|
|
15
|
+
public const string ServiceName = "com.xd.sdk.taptap.bridge.review.BridgeReview";
|
|
16
|
+
public const string ServiceImpl = "com.xd.sdk.taptap.bridge.review.BridgeReviewImpl";
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
public static class Update
|
|
20
|
+
{
|
|
21
|
+
public const string BridgeName = "XDGBridgeUpdate";
|
|
22
|
+
public const string ServiceName = "com.xd.sdk.taptap.bridge.update.BridgeUpdate";
|
|
23
|
+
public const string ServiceImpl = "com.xd.sdk.taptap.bridge.update.BridgeUpdateImpl";
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public static class License
|
|
27
|
+
{
|
|
28
|
+
public const string BridgeName = "XDGBridgeLicense";
|
|
29
|
+
public const string ServiceName = "com.xd.sdk.taptap.bridge.license.BridgeLicense";
|
|
30
|
+
public const string ServiceImpl = "com.xd.sdk.taptap.bridge.license.BridgeLicenseImpl";
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
#if UNITY_IOS || UNITY_ANDROID
|
|
2
|
+
using System;
|
|
3
|
+
using System.Collections.Generic;
|
|
4
|
+
using System.Linq;
|
|
5
|
+
using Newtonsoft.Json;
|
|
6
|
+
#if UNITY_ANDROID || UNITY_EDITOR || UNITY_STANDALONE
|
|
7
|
+
using TapSDK.License;
|
|
8
|
+
#endif
|
|
9
|
+
using TapSDK.Moment;
|
|
10
|
+
using UnityEngine;
|
|
11
|
+
using XD.SDK.Common.Internal.Mobile.Bridge;
|
|
12
|
+
using XD.SDK.Tap.Public;
|
|
13
|
+
using XD.SDK.Common;
|
|
14
|
+
using XD.SDK.Common.Internal;
|
|
15
|
+
|
|
16
|
+
namespace XD.SDK.Tap.Internal.Mobile
|
|
17
|
+
{
|
|
18
|
+
public class XDGTapSDKInternalImpl : IXDGTapSDK
|
|
19
|
+
{
|
|
20
|
+
private static XDGTapSDKInternalImpl _instance;
|
|
21
|
+
|
|
22
|
+
private static readonly object LockObj = new object();
|
|
23
|
+
|
|
24
|
+
public static XDGTapSDKInternalImpl Instance
|
|
25
|
+
{
|
|
26
|
+
get
|
|
27
|
+
{
|
|
28
|
+
if (_instance == null)
|
|
29
|
+
{
|
|
30
|
+
lock (LockObj)
|
|
31
|
+
{
|
|
32
|
+
if (_instance == null)
|
|
33
|
+
{
|
|
34
|
+
_instance = new XDGTapSDKInternalImpl();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return _instance;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
private XDGTapSDKInternalImpl()
|
|
44
|
+
{
|
|
45
|
+
EngineBridge.GetInstance().Register(XDGTapBridgeConstants.Moment.ServiceName, XDGTapBridgeConstants.Moment.ServiceImpl);
|
|
46
|
+
EngineBridge.GetInstance().Register(XDGTapBridgeConstants.Review.ServiceName, XDGTapBridgeConstants.Review.ServiceImpl);
|
|
47
|
+
EngineBridge.GetInstance().Register(XDGTapBridgeConstants.Update.ServiceName, XDGTapBridgeConstants.Update.ServiceImpl);
|
|
48
|
+
EngineBridge.GetInstance().Register(XDGTapBridgeConstants.License.ServiceName, XDGTapBridgeConstants.License.ServiceImpl);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public void SetMomentCallback(Action<int, string> callback)
|
|
52
|
+
{
|
|
53
|
+
var command = new Command.Builder()
|
|
54
|
+
.Service(XDGTapBridgeConstants.Moment.BridgeName)
|
|
55
|
+
.Method("setCallback")
|
|
56
|
+
.Callback(true)
|
|
57
|
+
.OnceTime(false)
|
|
58
|
+
.CommandBuilder();
|
|
59
|
+
|
|
60
|
+
EngineBridge.GetInstance().CallHandler(command, result =>
|
|
61
|
+
{
|
|
62
|
+
if (!XDGTool.CheckResultSuccess(result))
|
|
63
|
+
{
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
var dic = XDGJson.Deserialize(result.content) as Dictionary<string, object>;
|
|
68
|
+
var code = XDDictionary.GetValue<int>(dic, "code");
|
|
69
|
+
var msg = XDDictionary.GetValue<string>(dic, "msg");
|
|
70
|
+
callback?.Invoke(code, msg);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
public void MomentOpen()
|
|
75
|
+
{
|
|
76
|
+
var command = new Command.Builder()
|
|
77
|
+
.Service(XDGTapBridgeConstants.Moment.BridgeName)
|
|
78
|
+
.Method("open")
|
|
79
|
+
.Callback(false)
|
|
80
|
+
.OnceTime(true)
|
|
81
|
+
.CommandBuilder();
|
|
82
|
+
EngineBridge.GetInstance().CallHandler(command);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
public void MomentOpenScene(string sceneId)
|
|
86
|
+
{
|
|
87
|
+
var command = new Command.Builder()
|
|
88
|
+
.Service(XDGTapBridgeConstants.Moment.BridgeName)
|
|
89
|
+
.Method("openScene")
|
|
90
|
+
.Args("openScene", sceneId)
|
|
91
|
+
.Callback(false)
|
|
92
|
+
.OnceTime(true)
|
|
93
|
+
.CommandBuilder();
|
|
94
|
+
EngineBridge.GetInstance().CallHandler(command);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
public void MomentFetchNotification()
|
|
98
|
+
{
|
|
99
|
+
var command = new Command.Builder()
|
|
100
|
+
.Service(XDGTapBridgeConstants.Moment.BridgeName)
|
|
101
|
+
.Method("fetchNotification")
|
|
102
|
+
.Callback(false)
|
|
103
|
+
.OnceTime(true)
|
|
104
|
+
.CommandBuilder();
|
|
105
|
+
EngineBridge.GetInstance().CallHandler(command);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
public void MomentClose(string title, string content)
|
|
109
|
+
{
|
|
110
|
+
var command = new Command.Builder()
|
|
111
|
+
.Service(XDGTapBridgeConstants.Moment.BridgeName)
|
|
112
|
+
.Method("closeWithTitle")
|
|
113
|
+
.Args("closeWithTitle", title)
|
|
114
|
+
.Args("content", content)
|
|
115
|
+
.Callback(false)
|
|
116
|
+
.OnceTime(true)
|
|
117
|
+
.CommandBuilder();
|
|
118
|
+
EngineBridge.GetInstance().CallHandler(command);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
public void MomentClose()
|
|
122
|
+
{
|
|
123
|
+
var command = new Command.Builder()
|
|
124
|
+
.Service(XDGTapBridgeConstants.Moment.BridgeName)
|
|
125
|
+
.Method("close")
|
|
126
|
+
.Callback(false)
|
|
127
|
+
.OnceTime(true)
|
|
128
|
+
.CommandBuilder();
|
|
129
|
+
EngineBridge.GetInstance().CallHandler(command);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
public void MomentPublish(PublishMetaData metaData)
|
|
133
|
+
{
|
|
134
|
+
var json = JsonConvert.SerializeObject(metaData);
|
|
135
|
+
var command = new Command.Builder()
|
|
136
|
+
.Service(XDGTapBridgeConstants.Moment.BridgeName)
|
|
137
|
+
.Method("publish")
|
|
138
|
+
.Args("publish", json)
|
|
139
|
+
.Callback(false)
|
|
140
|
+
.OnceTime(true)
|
|
141
|
+
.CommandBuilder();
|
|
142
|
+
EngineBridge.GetInstance().CallHandler(command);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
#if UNITY_ANDROID || UNITY_EDITOR || UNITY_STANDALONE
|
|
146
|
+
public void RegisterLicenseCallback(ITapLicenseCallback callback)
|
|
147
|
+
{
|
|
148
|
+
var command = new Command.Builder()
|
|
149
|
+
.Service(XDGTapBridgeConstants.License.BridgeName)
|
|
150
|
+
.Method("registerLicenseCallback")
|
|
151
|
+
.Callback(true)
|
|
152
|
+
.OnceTime(false)
|
|
153
|
+
.CommandBuilder();
|
|
154
|
+
EngineBridge.GetInstance().CallHandler(command, result =>
|
|
155
|
+
{
|
|
156
|
+
var xdgError = result.Parse2XDGError();
|
|
157
|
+
if (xdgError != null)
|
|
158
|
+
{
|
|
159
|
+
callback.OnLicenseFailed();
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
var dic = XDGJson.Deserialize(result.content) as Dictionary<string, object>;
|
|
164
|
+
if (XDDictionary.GetValue<bool>(dic, "success"))
|
|
165
|
+
{
|
|
166
|
+
callback.OnLicenseSuccess();
|
|
167
|
+
}
|
|
168
|
+
else
|
|
169
|
+
{
|
|
170
|
+
callback.OnLicenseFailed();
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
public void RegisterDLCCallback(ITapDlcCallback callback)
|
|
176
|
+
{
|
|
177
|
+
var command = new Command.Builder()
|
|
178
|
+
.Service(XDGTapBridgeConstants.License.BridgeName)
|
|
179
|
+
.Method("registerDLCCallback")
|
|
180
|
+
.Callback(true)
|
|
181
|
+
.OnceTime(false)
|
|
182
|
+
.CommandBuilder();
|
|
183
|
+
|
|
184
|
+
EngineBridge.GetInstance().CallHandler(command, result =>
|
|
185
|
+
{
|
|
186
|
+
var xdgError = result.Parse2XDGError();
|
|
187
|
+
if (xdgError != null)
|
|
188
|
+
{
|
|
189
|
+
Debug.Log($"[TapLicense] RegisterDLCCallback Error:{xdgError.ToJson()} ");
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
var dic = XDGJson.Deserialize(result.content) as Dictionary<string, object>;
|
|
194
|
+
if (dic?.ContainsKey("purchaseResult") == true)
|
|
195
|
+
{
|
|
196
|
+
var purchaseResult = XDDictionary.GetValue<Dictionary<string, object>>(dic, "purchaseResult");
|
|
197
|
+
var skuId = XDDictionary.GetValue<string>(purchaseResult, "skuId");
|
|
198
|
+
var status = XDDictionary.GetValue<int>(purchaseResult, "status");
|
|
199
|
+
callback.OnOrderCallBack(skuId, (TapLicensePurchasedCode)status);
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
if (dic?.ContainsKey("queryResult") != true) return;
|
|
204
|
+
|
|
205
|
+
var queryResult = XDDictionary.GetValue<Dictionary<string, object>>(dic, "queryResult");
|
|
206
|
+
var code = XDDictionary.GetValue<int>(queryResult, "resultCode");
|
|
207
|
+
var list = XDDictionary.GetValue<Dictionary<string, object>>(queryResult, "resultList");
|
|
208
|
+
callback.OnQueryCallBack((TapLicenseQueryCode)code, list);
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
public void CheckLicense(bool force = false)
|
|
213
|
+
{
|
|
214
|
+
var command = new Command.Builder()
|
|
215
|
+
.Service(XDGTapBridgeConstants.License.BridgeName)
|
|
216
|
+
.Method("checkLicense")
|
|
217
|
+
.Args("forceCheck", force)
|
|
218
|
+
.Callback(true)
|
|
219
|
+
.OnceTime(true)
|
|
220
|
+
.CommandBuilder();
|
|
221
|
+
|
|
222
|
+
EngineBridge.GetInstance().CallHandler(command);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
public void QueryDLC(string[] dlcList)
|
|
227
|
+
{
|
|
228
|
+
var command = new Command.Builder()
|
|
229
|
+
.Service(XDGTapBridgeConstants.License.BridgeName)
|
|
230
|
+
.Method("queryDLC")
|
|
231
|
+
.Args("skuList", dlcList.ToList())
|
|
232
|
+
.Callback(false)
|
|
233
|
+
.OnceTime(true)
|
|
234
|
+
.CommandBuilder();
|
|
235
|
+
|
|
236
|
+
EngineBridge.GetInstance().CallHandler(command);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
public void PurchaseDLC(string dlc)
|
|
240
|
+
{
|
|
241
|
+
var command = new Command.Builder()
|
|
242
|
+
.Service(XDGTapBridgeConstants.License.BridgeName)
|
|
243
|
+
.Method("purchaseDLC")
|
|
244
|
+
.Args("skuId", dlc)
|
|
245
|
+
.Callback(false)
|
|
246
|
+
.OnceTime(true)
|
|
247
|
+
.CommandBuilder();
|
|
248
|
+
|
|
249
|
+
EngineBridge.GetInstance().CallHandler(command);
|
|
250
|
+
}
|
|
251
|
+
#endif
|
|
252
|
+
public void OpenReview()
|
|
253
|
+
{
|
|
254
|
+
var command = new Command.Builder()
|
|
255
|
+
.Service(XDGTapBridgeConstants.Review.BridgeName)
|
|
256
|
+
.Method("openReview")
|
|
257
|
+
.Callback(false)
|
|
258
|
+
.OnceTime(true)
|
|
259
|
+
.CommandBuilder();
|
|
260
|
+
EngineBridge.GetInstance().CallHandler(command);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
public void UpdateGame(Action action)
|
|
264
|
+
{
|
|
265
|
+
var command = new Command.Builder()
|
|
266
|
+
.Service(XDGTapBridgeConstants.Update.BridgeName)
|
|
267
|
+
.Method("updateGame")
|
|
268
|
+
.Callback(true)
|
|
269
|
+
.OnceTime(false)
|
|
270
|
+
.CommandBuilder();
|
|
271
|
+
|
|
272
|
+
EngineBridge.GetInstance().CallHandler(command, result =>
|
|
273
|
+
{
|
|
274
|
+
if (!XDGTool.CheckResultSuccess(result))
|
|
275
|
+
{
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
var dic = XDGJson.Deserialize(result.content) as Dictionary<string, object>;
|
|
280
|
+
var isCancel = XDDictionary.GetValue<bool>(dic, "cancel");
|
|
281
|
+
if (isCancel)
|
|
282
|
+
{
|
|
283
|
+
action?.Invoke();
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
public void CheckForceUpdate()
|
|
289
|
+
{
|
|
290
|
+
// 按照本项目桥接规则调用 Android 侧 Update 桥
|
|
291
|
+
var command = new Command.Builder()
|
|
292
|
+
.Service(XDGTapBridgeConstants.Update.BridgeName)
|
|
293
|
+
.Method("checkForceUpdate")
|
|
294
|
+
.Callback(false)
|
|
295
|
+
.OnceTime(true)
|
|
296
|
+
.CommandBuilder();
|
|
297
|
+
EngineBridge.GetInstance().CallHandler(command);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
#endif
|