com.azerion.bluestack 3.1.5 → 3.1.6
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/CHANGELOG.md +10 -2
- package/Editor/Android/AndroidDependencyModifier.cs +58 -0
- package/Editor/Android/AndroidDependencyParser.cs +5 -4
- package/Editor/Android/Gradle/mainTemplate.gradle +1 -1
- package/Editor/Android/ManifestProcessor.cs +1 -1
- package/Editor/BlueStackDependencies.xml +5 -1
- package/Editor/BlueStackMediationNetworks.xml +31 -0
- package/Editor/BlueStackSettings.cs +7 -0
- package/Editor/BlueStackSettingsEditor.cs +45 -22
- package/Editor/DependencyProvider.cs +17 -11
- package/Editor/MediationNetworkDependency.cs +5 -2
- package/Plugins/Android/bluestack-unity-android-bridge-2.0.0.aar +0 -0
- package/package.json +2 -2
- package/Editor/BlueStackMediationDependencies.xml +0 -8
- /package/Editor/{BlueStackMediationDependencies.xml.meta → BlueStackMediationNetworks.xml.meta} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [3.1.6] - 2024-07-26
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
- BlueStack Android SDK version upgraded to 4.4.0
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
- Manage Android mediation networks from the BlueStack Settings
|
|
10
|
+
|
|
3
11
|
## [3.1.5] - 2024-07-10
|
|
4
12
|
|
|
5
13
|
### Added
|
|
6
|
-
- Method added to refresh Banner in the editor
|
|
14
|
+
- Method added to refresh Banner in the unity editor
|
|
7
15
|
- Native ad Close method added to trigger OnNativeAdClosed event in the editor
|
|
8
16
|
|
|
9
17
|
### Changed
|
|
@@ -13,7 +21,7 @@
|
|
|
13
21
|
### Fixed
|
|
14
22
|
- Fixed the BlueStack Settings null exception issue when no settings exist
|
|
15
23
|
- Fixed the issue with saving AdMob App ids
|
|
16
|
-
- Error handled in Native ads, in case of null or empty image urls
|
|
24
|
+
- Error handled in Native ads, in case of null or empty image urls
|
|
17
25
|
|
|
18
26
|
## [3.1.4] - 2024-07-04
|
|
19
27
|
|
|
@@ -2,6 +2,7 @@ using System;
|
|
|
2
2
|
using System.Collections.Generic;
|
|
3
3
|
using System.IO;
|
|
4
4
|
using System.Xml;
|
|
5
|
+
using UnityEditor;
|
|
5
6
|
using UnityEngine;
|
|
6
7
|
|
|
7
8
|
namespace Azerion.BlueStack.Editor.Android
|
|
@@ -10,7 +11,64 @@ namespace Azerion.BlueStack.Editor.Android
|
|
|
10
11
|
{
|
|
11
12
|
void IDependencyModifier.modifyDependencies(string xmlFilePath, List<MediationNetworkDependency> dependencies)
|
|
12
13
|
{
|
|
14
|
+
XmlDocument xmlDoc = new XmlDocument();
|
|
13
15
|
|
|
16
|
+
try
|
|
17
|
+
{
|
|
18
|
+
xmlDoc.Load(xmlFilePath);
|
|
19
|
+
}
|
|
20
|
+
catch (IOException e)
|
|
21
|
+
{
|
|
22
|
+
throw new Exception("Unable to load xml, error: " + e.Message);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
XmlNode androidPackages = xmlDoc.SelectSingleNode($"//dependencies/androidPackages");
|
|
26
|
+
if (androidPackages == null)
|
|
27
|
+
{
|
|
28
|
+
Debug.LogError("No node with the name 'androidPackages' found in the xml");
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Remove all networks from the packages node
|
|
33
|
+
// androidPackages.RemoveAll();
|
|
34
|
+
|
|
35
|
+
// Add/remove networks
|
|
36
|
+
foreach (MediationNetworkDependency dependency in dependencies)
|
|
37
|
+
{
|
|
38
|
+
XmlNode packageNode = androidPackages.SelectSingleNode(
|
|
39
|
+
$"//androidPackage[@spec='{dependency.Package}']");
|
|
40
|
+
|
|
41
|
+
if (packageNode != null)
|
|
42
|
+
{
|
|
43
|
+
// Remove inactive network
|
|
44
|
+
if (!dependency.Active)
|
|
45
|
+
{
|
|
46
|
+
androidPackages.RemoveChild(packageNode);
|
|
47
|
+
}
|
|
48
|
+
// else keep it
|
|
49
|
+
}
|
|
50
|
+
else
|
|
51
|
+
{
|
|
52
|
+
// Add new active network
|
|
53
|
+
if (dependency.Active)
|
|
54
|
+
{
|
|
55
|
+
XmlElement package = xmlDoc.CreateElement("androidPackage");
|
|
56
|
+
package.SetAttribute("spec", dependency.Package);
|
|
57
|
+
if (dependency.Repositories != null)
|
|
58
|
+
{
|
|
59
|
+
XmlNode repositories = xmlDoc.ImportNode(dependency.Repositories, true);
|
|
60
|
+
package.AppendChild(repositories);
|
|
61
|
+
}
|
|
62
|
+
androidPackages.AppendChild(package);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// Replace main dependency XML content with the updated XML
|
|
68
|
+
System.IO.File.WriteAllText(xmlFilePath, xmlDoc.OuterXml);
|
|
69
|
+
AssetDatabase.Refresh();
|
|
70
|
+
|
|
71
|
+
// Debug.Log("Mediation Dependencies are updated successfully in Main Dependencies XML.");
|
|
14
72
|
}
|
|
15
73
|
|
|
16
74
|
void IDependencyModifier.modifyMediationNetworkDependencies(string xmlFilePath,
|
|
@@ -20,7 +20,6 @@ namespace Azerion.BlueStack.Editor.Android
|
|
|
20
20
|
if (specAttribute == null) continue;
|
|
21
21
|
dependencies.Add(new AndroidDependency(specAttribute.Value, "", ""));
|
|
22
22
|
}
|
|
23
|
-
|
|
24
23
|
return dependencies;
|
|
25
24
|
}
|
|
26
25
|
|
|
@@ -37,15 +36,17 @@ namespace Azerion.BlueStack.Editor.Android
|
|
|
37
36
|
var nameAttribute = androidPackageNode.Attributes?["name"];
|
|
38
37
|
var packageAttribute = androidPackageNode.Attributes?["package"];
|
|
39
38
|
var activeAttribute = androidPackageNode.Attributes?["active"];
|
|
39
|
+
var repositoriesNode = androidPackageNode.SelectSingleNode("repositories");
|
|
40
40
|
if (nameAttribute == null || packageAttribute == null) continue;
|
|
41
41
|
|
|
42
42
|
var name = nameAttribute.Value;
|
|
43
43
|
var package = packageAttribute.Value;
|
|
44
|
-
var active = bool.Parse(activeAttribute.Value);
|
|
44
|
+
var active = activeAttribute != null && bool.Parse(activeAttribute.Value);
|
|
45
45
|
|
|
46
|
-
dependencies.Add(
|
|
46
|
+
dependencies.Add(repositoriesNode != null
|
|
47
|
+
? new MediationNetworkDependency(name, package, active, repositoriesNode)
|
|
48
|
+
: new MediationNetworkDependency(name, package, active));
|
|
47
49
|
}
|
|
48
|
-
|
|
49
50
|
return dependencies;
|
|
50
51
|
}
|
|
51
52
|
}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
<dependencies>
|
|
2
2
|
<androidPackages>
|
|
3
|
-
<androidPackage spec="com.azerion:bluestack-sdk-core:4.
|
|
3
|
+
<androidPackage spec="com.azerion:bluestack-sdk-core:4.4.0">
|
|
4
|
+
<repositories>
|
|
5
|
+
<repository>https://packagecloud.io/smartadserver/android/maven2</repository>
|
|
6
|
+
</repositories>
|
|
7
|
+
</androidPackage>
|
|
4
8
|
</androidPackages>
|
|
5
9
|
<iosPods>
|
|
6
10
|
<iosPod name="BlueStack-SDK" version="4.4.6" bitcodeEnabled="false" addToAllTargets="false" subspecs="[]"/>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<networkList>
|
|
2
|
+
<androidNetworks>
|
|
3
|
+
<network name="Criteo In-App Bidding" package="com.azerion:bluestack-mediation-criteo:4.4.0.0" active="true"/>
|
|
4
|
+
<network name="AdColony" package="com.azerion:bluestack-mediation-adcolony:4.4.0.0" active="true"/>
|
|
5
|
+
<network name="Huawei" package="com.azerion:bluestack-mediation-huawei:4.4.0.0" active="true">
|
|
6
|
+
<repositories>
|
|
7
|
+
<repository>https://developer.huawei.com/repo/</repository>
|
|
8
|
+
</repositories>
|
|
9
|
+
</network>
|
|
10
|
+
<network name="GAM / AdMob" package="com.azerion:bluestack-mediation-gma:4.4.0.0" active="true"/>
|
|
11
|
+
<network name="In-App Bidding" package="com.azerion:bluestack-mediation-bidding:4.4.0.0" active="true">
|
|
12
|
+
<repositories>
|
|
13
|
+
<repository>https://packagecloud.io/smartadserver/android/maven2</repository>
|
|
14
|
+
</repositories>
|
|
15
|
+
</network>
|
|
16
|
+
<network name="Smart Display / Equativ" package="com.azerion:bluestack-mediation-smartadserver:4.4.0.0" active="true">
|
|
17
|
+
<repositories>
|
|
18
|
+
<repository>https://packagecloud.io/smartadserver/android/maven2</repository>
|
|
19
|
+
</repositories>
|
|
20
|
+
</network>
|
|
21
|
+
<network name="Ogury" package="com.azerion:bluestack-mediation-ogury:4.4.0.0" active="true">
|
|
22
|
+
<repositories>
|
|
23
|
+
<repository>https://maven.ogury.co/</repository>
|
|
24
|
+
</repositories>
|
|
25
|
+
</network>
|
|
26
|
+
</androidNetworks>
|
|
27
|
+
<iosNetworks>
|
|
28
|
+
<network name="AdMob" package="Google-Mobile-Ads-SDK" active="true"/>
|
|
29
|
+
<network name="Smart Display" package="Smart-Display-SDK" active="true"/>
|
|
30
|
+
</iosNetworks>
|
|
31
|
+
</networkList>
|
|
@@ -31,6 +31,13 @@ namespace Azerion.BlueStack.Editor
|
|
|
31
31
|
get => Instance.iOSMediationNetworks ?? new List<MediationNetworkDependency>();
|
|
32
32
|
set => Instance.iOSMediationNetworks = value;
|
|
33
33
|
}
|
|
34
|
+
|
|
35
|
+
[SerializeField] private List<MediationNetworkDependency> androidMediationNetworks;
|
|
36
|
+
public List<MediationNetworkDependency> AndroidMediationNetworks
|
|
37
|
+
{
|
|
38
|
+
get => Instance.androidMediationNetworks ?? new List<MediationNetworkDependency>();
|
|
39
|
+
set => Instance.androidMediationNetworks = value;
|
|
40
|
+
}
|
|
34
41
|
|
|
35
42
|
public static BlueStackSettings Instance
|
|
36
43
|
{
|
|
@@ -16,9 +16,7 @@ namespace Azerion.BlueStack.Editor
|
|
|
16
16
|
private const string BlueStackSettingsResDir = "Assets/Resources";
|
|
17
17
|
private const string BlueStackSettingsFile = "BlueStackSettings";
|
|
18
18
|
private const string BlueStackSettingsFileExtension = ".asset";
|
|
19
|
-
|
|
20
|
-
private List<bool> iOSMediationNetworkList = new List<bool>();
|
|
21
|
-
private List<bool> AndroidMediationNetworkList = new List<bool>();
|
|
19
|
+
|
|
22
20
|
SerializedProperty iOSMediationNetworkListProperty;
|
|
23
21
|
SerializedProperty androidMediationNetworkListProperty;
|
|
24
22
|
|
|
@@ -26,7 +24,8 @@ namespace Azerion.BlueStack.Editor
|
|
|
26
24
|
SerializedProperty androidAdmobAppIdProperty;
|
|
27
25
|
|
|
28
26
|
public static event EventHandler<List<MediationNetworkDependency>> onIOSMediationNetworksUpdateEvent;
|
|
29
|
-
public static
|
|
27
|
+
public static event EventHandler<List<MediationNetworkDependency>> onAndroidMediationNetworksUpdateEvent;
|
|
28
|
+
|
|
30
29
|
[MenuItem("Azerion/BlueStack/Settings")]
|
|
31
30
|
public static void OpenInspector()
|
|
32
31
|
{
|
|
@@ -41,7 +40,7 @@ namespace Azerion.BlueStack.Editor
|
|
|
41
40
|
{
|
|
42
41
|
if (BlueStackSettings.Instance == null)
|
|
43
42
|
{
|
|
44
|
-
try
|
|
43
|
+
try
|
|
45
44
|
{
|
|
46
45
|
Directory.CreateDirectory(BlueStackSettingsResDir);
|
|
47
46
|
BlueStackSettings.Instance = ScriptableObject.CreateInstance<BlueStackSettings>();
|
|
@@ -49,8 +48,8 @@ namespace Azerion.BlueStack.Editor
|
|
|
49
48
|
string assetPath = Path.Combine(BlueStackSettingsResDir, BlueStackSettingsFile);
|
|
50
49
|
string assetPathWithExtension = Path.ChangeExtension(assetPath, BlueStackSettingsFileExtension);
|
|
51
50
|
AssetDatabase.CreateAsset(BlueStackSettings.Instance, assetPathWithExtension);
|
|
52
|
-
AssetDatabase.SaveAssets();
|
|
53
|
-
|
|
51
|
+
AssetDatabase.SaveAssets();
|
|
52
|
+
|
|
54
53
|
return true;
|
|
55
54
|
}
|
|
56
55
|
catch (Exception e)
|
|
@@ -83,25 +82,29 @@ namespace Azerion.BlueStack.Editor
|
|
|
83
82
|
|
|
84
83
|
static void Initialize()
|
|
85
84
|
{
|
|
85
|
+
Debug.LogWarning("BlueStackSettings Initialize");
|
|
86
|
+
|
|
86
87
|
if (!DoesBlueStackSettingsExist()) return;
|
|
87
88
|
|
|
88
89
|
BlueStackSettings.Instance.IOSMediationNetworks.Clear();
|
|
89
|
-
|
|
90
|
-
// Sync/Copy base mediation dependency xml file from Package to Assets directory
|
|
91
|
-
DependencyProvider.SyncMediationDependencies();
|
|
90
|
+
BlueStackSettings.Instance.AndroidMediationNetworks.Clear();
|
|
92
91
|
|
|
93
|
-
|
|
92
|
+
// Sync/Copy base mediation dependency xml file from Package to Assets directory
|
|
93
|
+
DependencyProvider.SyncDependenciesXMLs();
|
|
94
94
|
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
var iOSMediationNetworkDependencies = DependencyProvider.GetMediationNetworkDependenciesFromAsset(new IOSDependencyParser());
|
|
96
|
+
var androidMediationNetworkDependencies = DependencyProvider.GetMediationNetworkDependenciesFromAsset(new AndroidDependencyParser());
|
|
97
97
|
|
|
98
|
-
BlueStackSettings.Instance.
|
|
99
|
-
|
|
98
|
+
BlueStackSettings.Instance.AndroidMediationNetworks = androidMediationNetworkDependencies;
|
|
99
|
+
BlueStackSettings.Instance.IOSMediationNetworks = iOSMediationNetworkDependencies;
|
|
100
100
|
|
|
101
|
+
DependencyProvider.UpdateMediationNetworkDependencies(new AndroidDependencyModifier(),
|
|
102
|
+
BlueStackSettings.Instance.AndroidMediationNetworks);
|
|
101
103
|
DependencyProvider.UpdateMediationNetworkDependencies(new IOSDependencyModifier(),
|
|
102
104
|
BlueStackSettings.Instance.IOSMediationNetworks);
|
|
105
|
+
|
|
103
106
|
}
|
|
104
|
-
|
|
107
|
+
|
|
105
108
|
public override void OnInspectorGUI()
|
|
106
109
|
{
|
|
107
110
|
EditorGUI.BeginChangeCheck();
|
|
@@ -109,12 +112,14 @@ namespace Azerion.BlueStack.Editor
|
|
|
109
112
|
|
|
110
113
|
iOSAdmobAppIdProperty = serializedObject.FindProperty("admobAppIdIOS");
|
|
111
114
|
androidAdmobAppIdProperty = serializedObject.FindProperty("admobAppIdAndroid");
|
|
112
|
-
|
|
115
|
+
|
|
113
116
|
EditorGUILayout.PropertyField(iOSAdmobAppIdProperty, new GUIContent("Admob AppId IOS: "));
|
|
114
117
|
EditorGUILayout.PropertyField(androidAdmobAppIdProperty, new GUIContent("Admob AppId Android: "));
|
|
118
|
+
|
|
119
|
+
// iOS Mediation Networks
|
|
115
120
|
EditorGUILayout.Separator();
|
|
116
121
|
EditorGUILayout.LabelField("iOS Mediation Networks: ", EditorStyles.boldLabel);
|
|
117
|
-
|
|
122
|
+
|
|
118
123
|
foreach (var dependency in BlueStackSettings.Instance.IOSMediationNetworks)
|
|
119
124
|
{
|
|
120
125
|
// dependency.Print();
|
|
@@ -124,17 +129,35 @@ namespace Azerion.BlueStack.Editor
|
|
|
124
129
|
dependency.Active = newAutomaticConfigurationFilesUpdate;
|
|
125
130
|
}
|
|
126
131
|
}
|
|
127
|
-
|
|
132
|
+
|
|
133
|
+
// Android Mediation Networks
|
|
134
|
+
EditorGUILayout.Separator();
|
|
135
|
+
EditorGUILayout.LabelField("Android Mediation Networks: ", EditorStyles.boldLabel);
|
|
136
|
+
|
|
137
|
+
foreach (var dependency in BlueStackSettings.Instance.AndroidMediationNetworks)
|
|
138
|
+
{
|
|
139
|
+
// dependency.Print();
|
|
140
|
+
bool newAutomaticConfigurationFilesUpdate = GUILayout.Toggle(dependency.Active, dependency.Name);
|
|
141
|
+
if (newAutomaticConfigurationFilesUpdate != dependency.Active)
|
|
142
|
+
{
|
|
143
|
+
dependency.Active = newAutomaticConfigurationFilesUpdate;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
128
147
|
if (EditorGUI.EndChangeCheck())
|
|
129
148
|
{
|
|
130
|
-
|
|
149
|
+
// TODO: Before triggering the event check if any change occured in the list
|
|
131
150
|
onIOSMediationNetworksUpdateEvent?.Invoke(this, BlueStackSettings.Instance.IOSMediationNetworks);
|
|
132
|
-
|
|
151
|
+
onAndroidMediationNetworksUpdateEvent?.Invoke(this, BlueStackSettings.Instance.AndroidMediationNetworks);
|
|
152
|
+
|
|
133
153
|
DependencyProvider.UpdateMediationNetworkDependencies(new IOSDependencyModifier(),
|
|
134
154
|
BlueStackSettings.Instance.IOSMediationNetworks);
|
|
155
|
+
DependencyProvider.UpdateMediationNetworkDependencies(new AndroidDependencyModifier(),
|
|
156
|
+
BlueStackSettings.Instance.AndroidMediationNetworks);
|
|
157
|
+
|
|
135
158
|
serializedObject.ApplyModifiedProperties();
|
|
136
159
|
}
|
|
137
|
-
|
|
160
|
+
|
|
138
161
|
}
|
|
139
162
|
}
|
|
140
163
|
}
|
|
@@ -12,13 +12,13 @@ namespace Azerion.BlueStack.Editor
|
|
|
12
12
|
"Packages/com.azerion.bluestack/Editor/" + "BlueStackDependencies.xml";
|
|
13
13
|
|
|
14
14
|
private static readonly string _mediationDependencyPathInPackage =
|
|
15
|
-
"Packages/com.azerion.bluestack/Editor/" + "
|
|
15
|
+
"Packages/com.azerion.bluestack/Editor/" + "BlueStackMediationNetworks.xml";
|
|
16
16
|
|
|
17
17
|
private static readonly string _editorPathInAssets = "Assets/Editor/";
|
|
18
18
|
private static readonly string _dependencyPathInAssets = _editorPathInAssets + "BlueStackDependencies.xml";
|
|
19
19
|
|
|
20
20
|
private static readonly string _mediationDependencyPathInAssets =
|
|
21
|
-
_editorPathInAssets + "
|
|
21
|
+
_editorPathInAssets + "BlueStackMediationNetworks.xml";
|
|
22
22
|
|
|
23
23
|
public static List<Dependency> GetAllDependencies(IDependencyParser parser)
|
|
24
24
|
{
|
|
@@ -33,23 +33,21 @@ namespace Azerion.BlueStack.Editor
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
public static List<MediationNetworkDependency>
|
|
36
|
+
public static List<MediationNetworkDependency> GetMediationNetworkDependenciesFromAsset(IDependencyParser parser)
|
|
37
37
|
{
|
|
38
38
|
if (File.Exists(_mediationDependencyPathInAssets))
|
|
39
39
|
{
|
|
40
40
|
return parser.parseMediationNetworkDependencies(_mediationDependencyPathInAssets);
|
|
41
41
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
return new List<MediationNetworkDependency>();
|
|
46
|
-
}
|
|
42
|
+
|
|
43
|
+
Debug.LogError("Dependencies file not found at: " + _mediationDependencyPathInAssets);
|
|
44
|
+
return new List<MediationNetworkDependency>();
|
|
47
45
|
}
|
|
48
46
|
|
|
49
47
|
public static void UpdateMediationNetworkDependencies(IDependencyModifier modifier,
|
|
50
48
|
List<MediationNetworkDependency> dependencies)
|
|
51
49
|
{
|
|
52
|
-
// Update Mediation Network Dependencies in
|
|
50
|
+
// Update Mediation Network Dependencies in BlueStackMediationNetworks.xml
|
|
53
51
|
if (File.Exists(_mediationDependencyPathInAssets))
|
|
54
52
|
{
|
|
55
53
|
modifier.modifyMediationNetworkDependencies(_mediationDependencyPathInAssets, dependencies);
|
|
@@ -70,7 +68,7 @@ namespace Azerion.BlueStack.Editor
|
|
|
70
68
|
}
|
|
71
69
|
}
|
|
72
70
|
|
|
73
|
-
public static void
|
|
71
|
+
public static void SyncDependenciesXMLs()
|
|
74
72
|
{
|
|
75
73
|
// Copy from the source
|
|
76
74
|
CopyDependenciesXMLFileToAssets();
|
|
@@ -159,7 +157,7 @@ namespace Azerion.BlueStack.Editor
|
|
|
159
157
|
|
|
160
158
|
// Save the modified XML
|
|
161
159
|
SaveMainXMLFile(mainDependencyXML.OuterXml);
|
|
162
|
-
|
|
160
|
+
|
|
163
161
|
Debug.Log("Mediation Dependency XML files merged and updated successfully.");
|
|
164
162
|
}
|
|
165
163
|
|
|
@@ -190,6 +188,7 @@ namespace Azerion.BlueStack.Editor
|
|
|
190
188
|
|
|
191
189
|
private static void CopyDependenciesXMLFileToAssets()
|
|
192
190
|
{
|
|
191
|
+
Debug.LogWarning("CopyDependenciesXMLFileToAssets - ");
|
|
193
192
|
Directory.CreateDirectory(_editorPathInAssets);
|
|
194
193
|
FileUtil.ReplaceFile(_dependencyPathInPackage, _dependencyPathInAssets);
|
|
195
194
|
AssetDatabase.Refresh();
|
|
@@ -197,6 +196,13 @@ namespace Azerion.BlueStack.Editor
|
|
|
197
196
|
|
|
198
197
|
private static bool CopyMediationDependenciesXMLFileToAssets()
|
|
199
198
|
{
|
|
199
|
+
// Delete previous BlueStackMediationDependencies.xml file - TODO: remove in future
|
|
200
|
+
if (File.Exists(_editorPathInAssets + "BlueStackMediationDependencies.xml"))
|
|
201
|
+
{
|
|
202
|
+
FileUtil.DeleteFileOrDirectory(_editorPathInAssets + "BlueStackMediationDependencies.xml");
|
|
203
|
+
AssetDatabase.Refresh();
|
|
204
|
+
}
|
|
205
|
+
|
|
200
206
|
if (!File.Exists(_mediationDependencyPathInAssets))
|
|
201
207
|
{
|
|
202
208
|
Directory.CreateDirectory(_editorPathInAssets);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
using System;
|
|
2
|
+
using System.Xml;
|
|
2
3
|
using UnityEngine;
|
|
3
4
|
|
|
4
5
|
namespace Azerion.BlueStack.Editor
|
|
@@ -6,20 +7,22 @@ namespace Azerion.BlueStack.Editor
|
|
|
6
7
|
[Serializable]
|
|
7
8
|
public class MediationNetworkDependency
|
|
8
9
|
{
|
|
9
|
-
public MediationNetworkDependency(string name, string package, bool active)
|
|
10
|
+
public MediationNetworkDependency(string name, string package, bool active, XmlNode repositories = null)
|
|
10
11
|
{
|
|
11
12
|
Name = name;
|
|
12
13
|
Package = package;
|
|
13
14
|
Active = active;
|
|
15
|
+
Repositories = repositories;
|
|
14
16
|
}
|
|
15
17
|
|
|
16
18
|
public string Name { get; set; }
|
|
17
19
|
public string Package { get; set; }
|
|
18
20
|
public bool Active { get; set; }
|
|
21
|
+
public XmlNode Repositories { get; set; }
|
|
19
22
|
|
|
20
23
|
public void Print()
|
|
21
24
|
{
|
|
22
|
-
Debug.Log("Name: " + Name + "Package: " + Package + "Active: " + Active);
|
|
25
|
+
Debug.Log("Name: " + Name + "Package: " + Package + "Active: " + Active + "\nRepositories: " + Repositories.ToString());
|
|
23
26
|
}
|
|
24
27
|
}
|
|
25
28
|
}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "com.azerion.bluestack",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.6",
|
|
4
4
|
"displayName": "BlueStack",
|
|
5
5
|
"description": "BlueStack SDK has been designed to give developers options for showing Ads from different ad networks.",
|
|
6
6
|
"unity": "2020.3",
|
|
7
7
|
"documentationUrl": "https://developers.bluestack.app/unity",
|
|
8
8
|
"changelogUrl": "https://developers.bluestack.app/unity/changelog",
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"com.google.external-dependency-manager": "1.2.
|
|
10
|
+
"com.google.external-dependency-manager": "1.2.181"
|
|
11
11
|
},
|
|
12
12
|
"author": {
|
|
13
13
|
"name": "BlueStack",
|
/package/Editor/{BlueStackMediationDependencies.xml.meta → BlueStackMediationNetworks.xml.meta}
RENAMED
|
File without changes
|