update: 添加 Adjust preinstall Tracker

--story=1020232 --user=yufei.hu 【中台】【SDK】添加 Adjust Preinstall Tracker 功能 https://www.tapd.cn/33527076/s/1147510
hotfix/v1.0.12.2
胡宇飞 2024-05-30 09:41:22 +08:00
parent 0c4d6b31e9
commit 8b5f42706e
2 changed files with 60 additions and 1 deletions

View File

@ -32,6 +32,7 @@ namespace Guru.Editor
private XmlElement _manifestNode;
private XmlElement _applicationNode;
private XmlElement _queriesNode;
#region Initiallize
@ -103,6 +104,8 @@ namespace Guru.Editor
// --- Root Nodes ---
_manifestNode = _doc.SelectSingleNode("manifest") as XmlElement;
_applicationNode = _doc.SelectSingleNode("manifest/application") as XmlElement;
_queriesNode = _doc.SelectSingleNode("manifest/queries") as XmlElement;
AddXmlnsAndroid();
AddXmlnsTools();
@ -270,6 +273,44 @@ namespace Guru.Editor
return false;
}
/// <summary>
/// 添加 Queries Intent
/// </summary>
/// <param name="value"></param>
/// <param name="keyName"></param>
/// <returns></returns>
public void AddQueriesIntent(string value, string keyName = "name")
{
if (_queriesNode == null)
{
_queriesNode = _doc.CreateElement("queries");
_manifestNode?.AppendChild(_queriesNode);
}
var intentList = _queriesNode.SelectNodes("intent");
if (intentList != null)
{
foreach (XmlElement intent in intentList)
{
var action = intent?.SelectSingleNode("action") as XmlElement;
if (action != null
&& action.GetAttribute(keyName, NamespaceAndroid) == value)
{
return; // Has injectedskip ...
}
}
}
// Inject new intent node
XmlElement intentNode = _doc.CreateElement("intent");
_queriesNode.AppendChild(intentNode);
XmlElement actionNode = _doc.CreateElement("action");
intentNode.AppendChild(actionNode);
actionNode.SetAttribute(keyName, NamespaceAndroid, value);
}
#endregion
#region Data Opration
@ -319,6 +360,17 @@ namespace Guru.Editor
return false;
}
public bool TryRootNode(string nodeName, out XmlElement node)
{
node = null;
if (_doc != null)
{
node = _doc.SelectSingleNode(nodeName) as XmlElement;
return node != null;
}
return false;
}
#endregion
#region Output

View File

@ -22,13 +22,17 @@ namespace Guru.Editor
private const string PermissionReadLogs = "android.permission.READ_LOGS";
private const string NetworkSecurityConfig = "networkSecurityConfig";
private const string NetworkSecurityConfigValue = "@xml/network_security_config";
private const string PermissionAdjustReadPermission = "com.adjust.preinstall.READ_PERMISSION"; // Adjust permission
private const string AdjustQueriesActionValue = "com.attribution.REFERRAL_PROVIDER"; // Adjust action
// Add Permissions
private static string[] addPermissions = new[]
{
PermissionReadPostNotifications,
PermissionAdjustReadPermission,
};
// Remove Permissions
private static string[] removePermissions = new[]
{
PermissionReadPhoneState,
@ -82,6 +86,9 @@ namespace Guru.Editor
// --- Bundle Id ---
doc.SetPackageName(PlayerSettings.applicationIdentifier);
// --- Adjust Preinstall (Content provider) ---
doc.AddQueriesIntent(AdjustQueriesActionValue);
doc.Save();
}