update: 添加 Adjust preinstall Tracker
--story=1020232 --user=yufei.hu 【中台】【SDK】添加 Adjust Preinstall Tracker 功能 https://www.tapd.cn/33527076/s/1147510hotfix/v1.0.12.2
parent
0c4d6b31e9
commit
8b5f42706e
|
|
@ -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 injected,skip ...
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 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
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue