Skip to content

Commit 3a7b5ca

Browse files
authored
Merge pull request #3 from singular-labs/rc/5.1.0
version 5.1.0 - Singular SDK handled via UPM:
2 parents a6d5f36 + 55a66e3 commit 3a7b5ca

File tree

74 files changed

+220
-1021
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+220
-1021
lines changed

CHANGELOG.md.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

LICENSE.md.meta

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

SingularSDK.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

SingularSDK/Editor.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<dependencies>
2+
<androidPackages>
3+
<androidPackage spec="com.singular.sdk:singular_sdk:12.5.5">
4+
<repositories>
5+
<repository>https://maven.singular.net</repository>
6+
</repositories>
7+
</androidPackage>
8+
<androidPackage spec="com.android.installreferrer:installreferrer:2.2"> </androidPackage>
9+
<androidPackage spec="com.google.android.gms:play-services-appset:16.0.0"> </androidPackage>
10+
<androidPackage spec="com.google.android.gms:play-services-ads-identifier:18.0.1"> </androidPackage>
11+
</androidPackages>
12+
<iosPods>
13+
<iosPod name="Singular-SDK" version="12.4.2" minTargetSdk="12.0" bitcodeEnabled="false" addToAllTargets="false">
14+
</iosPod>
15+
</iosPods>
16+
</dependencies>

SingularSDK/Editor/Dependencies.xml.meta

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

SingularSDK/Editor/Singular.Editor.asmdef.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

SingularSDK/Editor/SingularPostBuild.cs

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,8 @@ static void AddiOSDependencies(string pathToBuiltProject)
4646
pbxProject.AddFrameworkToProject(targetGuid, "AdSupport.framework", false);
4747
pbxProject.AddFrameworkToProject(targetGuid, "Webkit.framework", false);
4848
pbxProject.AddFrameworkToProject(targetGuid, "StoreKit.framework", false);
49-
pbxProject.AddFrameworkToProject(targetGuid, "AdServices.framework", true);
50-
51-
49+
pbxProject.AddFrameworkToProject(targetGuid, "AdServices.framework", true); // optional=true
50+
5251
// Add .dylib
5352
pbxProject.AddFileToBuild(targetGuid, pbxProject.AddFile("usr/lib/libsqlite3.0.tbd", "Frameworks/libsqlite3.0.tbd", PBXSourceTree.Sdk));
5453
pbxProject.AddFileToBuild(targetGuid, pbxProject.AddFile("usr/lib/libz.tbd", "Frameworks/libz.tbd", PBXSourceTree.Sdk));
@@ -64,10 +63,14 @@ static void AddiOSDependencies(string pathToBuiltProject)
6463

6564
public class SingularPostBuild: IPostGenerateGradleAndroidProject
6665
{
67-
public const string ACCESS_NETWORK_STATE = "android.permission.ACCESS_NETWORK_STATE";
68-
public const string INTERNET = "android.permission.INTERNET";
66+
public int callbackOrder { get { return 1; } }
6967

7068
public void OnPostGenerateGradleAndroidProject(string basePath)
69+
{
70+
ModifyAndroidManifestXmlFile(basePath);
71+
}
72+
73+
private void ModifyAndroidManifestXmlFile(string basePath)
7174
{
7275
string appManifestPath = Path.Combine(basePath, "src/main/AndroidManifest.xml");
7376

@@ -76,26 +79,26 @@ public void OnPostGenerateGradleAndroidProject(string basePath)
7679
manifestFile.Load(appManifestPath);
7780

7881
// Add needed permissions if they are missing.
79-
addPermissions(manifestFile);
82+
AddPermissions(manifestFile);
8083

8184
manifestFile.Save(appManifestPath);
8285

8386
// Clean the manifest file.
84-
cleanManifestFile(appManifestPath);
87+
CleanManifestFile(appManifestPath);
8588
}
8689

87-
public int callbackOrder { get { return 1; } }
88-
89-
static void addPermissions(XmlDocument manifest)
90+
static void AddPermissions(XmlDocument manifest)
9091
{
9192
List<string> existingPermissions = new List<string>();
9293

9394
XmlElement manifestRoot = manifest.DocumentElement;
9495

96+
string USES_PERMISSION_ELEMENT = "uses-permission";
97+
9598
// Check if permissions are already there.
9699
foreach (XmlNode node in manifestRoot.ChildNodes)
97100
{
98-
if (node.Name == "uses-permission")
101+
if (node.Name == USES_PERMISSION_ELEMENT)
99102
{
100103
foreach (XmlAttribute attribute in node.Attributes)
101104
{
@@ -104,22 +107,28 @@ static void addPermissions(XmlDocument manifest)
104107
}
105108
}
106109

107-
if (!existingPermissions.Contains(INTERNET))
110+
string[] permissionsToAdd = new[]
108111
{
109-
XmlElement element = manifest.CreateElement("uses-permission");
110-
element.SetAttribute("android__name", INTERNET);
111-
manifestRoot.AppendChild(element);
112-
}
113-
114-
if (!existingPermissions.Contains(ACCESS_NETWORK_STATE))
112+
"android.permission.ACCESS_NETWORK_STATE",
113+
"android.permission.INTERNET",
114+
"BIND_GET_INSTALL_REFERRER_SERVICE",
115+
"com.android.vending.CHECK_LICENSE",
116+
"com.google.android.gms.permission.AD_ID"
117+
};
118+
119+
string ANDROID_NAME_ATTRIBUTE = "android__name"; // see doc inside below function: cleanManifestFile
120+
foreach (string permission in permissionsToAdd)
115121
{
116-
XmlElement element = manifest.CreateElement("uses-permission");
117-
element.SetAttribute("android__name", ACCESS_NETWORK_STATE);
118-
manifestRoot.AppendChild(element);
122+
if (!existingPermissions.Contains(permission))
123+
{
124+
XmlElement element = manifest.CreateElement(USES_PERMISSION_ELEMENT);
125+
element.SetAttribute(ANDROID_NAME_ATTRIBUTE, permission);
126+
manifestRoot.AppendChild(element);
127+
}
119128
}
120129
}
121130

122-
static void cleanManifestFile(String manifestPath)
131+
static void CleanManifestFile(String manifestPath)
123132
{
124133
// Due to XML writing issue with XmlElement methods which are unable
125134
// to write "android:[param]" string, we have wrote "android__[param]" string instead.

SingularSDK/Editor/SingularPostBuild.cs.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)