You've already forked Commercialization.topon
feat(android): integrate gromore csj mix sdk for rewarded and interstitial
This commit is contained in:
@@ -1,9 +1,3 @@
|
|||||||
<dependencies>
|
<dependencies>
|
||||||
<androidPackages>
|
<!-- CSJ + GroMore mix integration is provided by local AARs in Assets/Plugins/Android. -->
|
||||||
<repositories>
|
|
||||||
<repository>https://artifact.bytedance.com/repository/pangle</repository>
|
|
||||||
</repositories>
|
|
||||||
<androidPackage spec="com.anythink.sdk:adapter-taku-csj:7.3.0.8.1.1"/>
|
|
||||||
<androidPackage spec="com.pangle.cn:ads-sdk-pro:7.3.0.8"/>
|
|
||||||
</androidPackages>
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"name":"csj","version":"7.3.0.8","country":1,"path":"Assets/AnyThinkPlugin/AnyThinkAds\\Plugins/Android/China/mediation/csj"}
|
{"name":"csj","version":"7.5.1.0","country":1,"path":"Assets/AnyThinkPlugin/AnyThinkAds\\Plugins/Android/China/mediation/csj"}
|
||||||
|
|||||||
Binary file not shown.
@@ -0,0 +1,32 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 89da22c2144f47ea823de749873367b4
|
||||||
|
PluginImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
iconMap: {}
|
||||||
|
executionOrder: {}
|
||||||
|
defineConstraints: []
|
||||||
|
isPreloaded: 0
|
||||||
|
isOverridable: 0
|
||||||
|
isExplicitlyReferenced: 0
|
||||||
|
validateReferences: 1
|
||||||
|
platformData:
|
||||||
|
- first:
|
||||||
|
Android: Android
|
||||||
|
second:
|
||||||
|
enabled: 1
|
||||||
|
settings: {}
|
||||||
|
- first:
|
||||||
|
Any:
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings: {}
|
||||||
|
- first:
|
||||||
|
Editor: Editor
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
DefaultValueInitialized: true
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,32 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 417c2272592f46b0b62da859413203f3
|
||||||
|
PluginImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
iconMap: {}
|
||||||
|
executionOrder: {}
|
||||||
|
defineConstraints: []
|
||||||
|
isPreloaded: 0
|
||||||
|
isOverridable: 0
|
||||||
|
isExplicitlyReferenced: 0
|
||||||
|
validateReferences: 1
|
||||||
|
platformData:
|
||||||
|
- first:
|
||||||
|
Android: Android
|
||||||
|
second:
|
||||||
|
enabled: 1
|
||||||
|
settings: {}
|
||||||
|
- first:
|
||||||
|
Any:
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings: {}
|
||||||
|
- first:
|
||||||
|
Editor: Editor
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
DefaultValueInitialized: true
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
BIN
Assets/Plugins/Android/anythink_network_csj_mix_7.5.1.0.1.0.aar
Normal file
BIN
Assets/Plugins/Android/anythink_network_csj_mix_7.5.1.0.1.0.aar
Normal file
Binary file not shown.
@@ -0,0 +1,32 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 939a9bdebc5b4e74ae3a9a0e41078d4e
|
||||||
|
PluginImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
iconMap: {}
|
||||||
|
executionOrder: {}
|
||||||
|
defineConstraints: []
|
||||||
|
isPreloaded: 0
|
||||||
|
isOverridable: 0
|
||||||
|
isExplicitlyReferenced: 0
|
||||||
|
validateReferences: 1
|
||||||
|
platformData:
|
||||||
|
- first:
|
||||||
|
Android: Android
|
||||||
|
second:
|
||||||
|
enabled: 1
|
||||||
|
settings: {}
|
||||||
|
- first:
|
||||||
|
Any:
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings: {}
|
||||||
|
- first:
|
||||||
|
Editor: Editor
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
DefaultValueInitialized: true
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,32 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ebec76ec2d0e4765ae7fc7f2578a7a9b
|
||||||
|
PluginImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
iconMap: {}
|
||||||
|
executionOrder: {}
|
||||||
|
defineConstraints: []
|
||||||
|
isPreloaded: 0
|
||||||
|
isOverridable: 0
|
||||||
|
isExplicitlyReferenced: 0
|
||||||
|
validateReferences: 1
|
||||||
|
platformData:
|
||||||
|
- first:
|
||||||
|
Android: Android
|
||||||
|
second:
|
||||||
|
enabled: 1
|
||||||
|
settings: {}
|
||||||
|
- first:
|
||||||
|
Any:
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings: {}
|
||||||
|
- first:
|
||||||
|
Editor: Editor
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
DefaultValueInitialized: true
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
BIN
Assets/Plugins/Android/open_ad_sdk_7.5.1.0.aar
Normal file
BIN
Assets/Plugins/Android/open_ad_sdk_7.5.1.0.aar
Normal file
Binary file not shown.
32
Assets/Plugins/Android/open_ad_sdk_7.5.1.0.aar.meta
Normal file
32
Assets/Plugins/Android/open_ad_sdk_7.5.1.0.aar.meta
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f13fb8308a95467caa53ac5a0f13563b
|
||||||
|
PluginImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
iconMap: {}
|
||||||
|
executionOrder: {}
|
||||||
|
defineConstraints: []
|
||||||
|
isPreloaded: 0
|
||||||
|
isOverridable: 0
|
||||||
|
isExplicitlyReferenced: 0
|
||||||
|
validateReferences: 1
|
||||||
|
platformData:
|
||||||
|
- first:
|
||||||
|
Android: Android
|
||||||
|
second:
|
||||||
|
enabled: 1
|
||||||
|
settings: {}
|
||||||
|
- first:
|
||||||
|
Any:
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings: {}
|
||||||
|
- first:
|
||||||
|
Editor: Editor
|
||||||
|
second:
|
||||||
|
enabled: 0
|
||||||
|
settings:
|
||||||
|
DefaultValueInitialized: true
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -54,7 +54,6 @@ namespace Topon_Adapter.Editor
|
|||||||
{
|
{
|
||||||
Directory.CreateDirectory(resXmlPath);
|
Directory.CreateDirectory(resXmlPath);
|
||||||
}
|
}
|
||||||
// var fromScriptableObject = MonoScript.FromScriptableObject(this);
|
|
||||||
var xmlPath = GetScriptsPath("AD_BuildAndroidProcess");
|
var xmlPath = GetScriptsPath("AD_BuildAndroidProcess");
|
||||||
saveFile($"{xmlPath}/alex_tt_file_path.xml", resXmlPath);
|
saveFile($"{xmlPath}/alex_tt_file_path.xml", resXmlPath);
|
||||||
saveFile($"{xmlPath}/anythink_bk_tt_file_path.xml", resXmlPath);
|
saveFile($"{xmlPath}/anythink_bk_tt_file_path.xml", resXmlPath);
|
||||||
@@ -76,20 +75,20 @@ namespace Topon_Adapter.Editor
|
|||||||
|
|
||||||
ToSingleTop (elementManifest);
|
ToSingleTop (elementManifest);
|
||||||
|
|
||||||
var queries = CreateQueries ();
|
|
||||||
|
|
||||||
var xManifestElements = elementManifest.Descendants ();
|
var xManifestElements = elementManifest.Descendants ();
|
||||||
var xApplicationElements = elementApplication.Descendants ();
|
var xApplicationElements = elementApplication.Descendants ();
|
||||||
var useQueries = xManifestElements.Where (element => element.Name.LocalName.Equals ("package"));
|
var useQueries = xManifestElements.Where (element => element.Name.LocalName.Equals ("package"));
|
||||||
XElement tencentElement = GetElementByName (useQueries, "com.tencent.mm");
|
XElement tencentElement = GetElementByName (useQueries, "com.tencent.mm");
|
||||||
if (tencentElement == null)
|
if (tencentElement == null)
|
||||||
{
|
{
|
||||||
elementManifest.Add (queries);
|
elementManifest.Add (CreateQueries ());
|
||||||
}
|
}
|
||||||
|
|
||||||
var wxElements = xApplicationElements.Where (element => element.Name.LocalName.Equals ("activity"));
|
var wxElements = xApplicationElements
|
||||||
XElement wxElement = GetElementByName (wxElements, ".wxapi.WXEntryActivity");
|
.Where (element => element.Name.LocalName.Equals ("activity"))
|
||||||
if (wxElement != null)
|
.Where (element => element.Attribute (AndroidNamespace + "name")?.Value == ".wxapi.WXEntryActivity")
|
||||||
|
.ToList ();
|
||||||
|
foreach (var wxElement in wxElements)
|
||||||
{
|
{
|
||||||
wxElement.Remove ();
|
wxElement.Remove ();
|
||||||
}
|
}
|
||||||
@@ -98,19 +97,32 @@ namespace Topon_Adapter.Editor
|
|||||||
|
|
||||||
|
|
||||||
var elementlauncherManifest = launcherManifest.Element ("manifest");
|
var elementlauncherManifest = launcherManifest.Element ("manifest");
|
||||||
var elementlauncherApplication = elementlauncherManifest.Element ("application");
|
if (elementlauncherManifest == null)
|
||||||
|
|
||||||
var launcherElements = elementlauncherApplication.Descendants ().Where (element => element.Name.LocalName.Equals ("provider"));
|
|
||||||
XElement launcherElement = GetElementByName (launcherElements, "com.bytedance.sdk.openadsdk.TTFileProvider");
|
|
||||||
if (launcherElement == null)
|
|
||||||
{
|
{
|
||||||
//增加穿山甲配置
|
ATLog.log ("[BuildAndroidProcess] Launcher AndroidManifest.xml is invalid.");
|
||||||
elementlauncherApplication.Add (CreateCSJGromore ());
|
return;
|
||||||
//在application节点下添加android:allowBackup="false" tools:replace="android:allowBackup"
|
|
||||||
elementlauncherApplication.Add (new XAttribute (AndroidNamespace + "allowBackup", "false"));
|
|
||||||
elementlauncherApplication.Add (new XAttribute (ToolsNamespace + "replace", "android:allowBackup"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var elementlauncherApplication = elementlauncherManifest.Element ("application");
|
||||||
|
if (elementlauncherApplication == null)
|
||||||
|
{
|
||||||
|
ATLog.log ("[BuildAndroidProcess] Launcher AndroidManifest.xml is invalid.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var launcherProviders = elementlauncherApplication.Descendants ()
|
||||||
|
.Where (element => element.Name.LocalName.Equals ("provider"))
|
||||||
|
.Where (element => element.Attribute (AndroidNamespace + "name")?.Value == "com.bytedance.sdk.openadsdk.TTFileProvider")
|
||||||
|
.ToList ();
|
||||||
|
foreach (var launcherProvider in launcherProviders)
|
||||||
|
{
|
||||||
|
launcherProvider.Remove ();
|
||||||
|
}
|
||||||
|
|
||||||
|
elementlauncherApplication.Add (CreateCSJGromore ());
|
||||||
|
SetOrAddAttribute (elementlauncherApplication, AndroidNamespace + "allowBackup", "false");
|
||||||
|
SetOrAddAttribute (elementlauncherApplication, ToolsNamespace + "replace", "android:allowBackup");
|
||||||
|
|
||||||
var elementMainManifest = manifest.Element ("manifest");
|
var elementMainManifest = manifest.Element ("manifest");
|
||||||
var elementMainApplication = elementMainManifest.Element ("application");
|
var elementMainApplication = elementMainManifest.Element ("application");
|
||||||
|
|
||||||
@@ -129,6 +141,12 @@ namespace Topon_Adapter.Editor
|
|||||||
|
|
||||||
public static void saveFile(string filePathName , string toFilesPath)
|
public static void saveFile(string filePathName , string toFilesPath)
|
||||||
{
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(filePathName) || !File.Exists(filePathName))
|
||||||
|
{
|
||||||
|
ATLog.log ($"[BuildAndroidProcess] Skip missing file copy: {filePathName}");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
FileInfo file = new FileInfo(filePathName);
|
FileInfo file = new FileInfo(filePathName);
|
||||||
string newFileName = file.Name;
|
string newFileName = file.Name;
|
||||||
file.CopyTo(toFilesPath + "/" + newFileName, true);
|
file.CopyTo(toFilesPath + "/" + newFileName, true);
|
||||||
@@ -223,9 +241,26 @@ namespace Topon_Adapter.Editor
|
|||||||
var elements = manifest.Descendants ().Where (element => element.Name.LocalName.Equals ("activity"));
|
var elements = manifest.Descendants ().Where (element => element.Name.LocalName.Equals ("activity"));
|
||||||
// 如果这个activity已经有了 android:launchMode="singleTask",则不再添加
|
// 如果这个activity已经有了 android:launchMode="singleTask",则不再添加
|
||||||
XElement elementByName = GetElementByName (elements , "com.unity3d.player.UnityPlayerActivity");
|
XElement elementByName = GetElementByName (elements , "com.unity3d.player.UnityPlayerActivity");
|
||||||
|
if (elementByName == null)
|
||||||
|
{
|
||||||
|
ATLog.log ("[BuildAndroidProcess] UnityPlayerActivity not found, skip launchMode patch.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
//此处将 android:launchMode="singleTask" 改为 android:launchMode="singleTop"
|
//此处将 android:launchMode="singleTask" 改为 android:launchMode="singleTop"
|
||||||
// elementByName.Add (new XAttribute (AndroidNamespace + "launchMode", "singleTop"));
|
SetOrAddAttribute (elementByName, AndroidNamespace + "launchMode", "singleTop");
|
||||||
elementByName.Attribute ( AndroidNamespace + "launchMode")?.SetValue ("singleTop");
|
}
|
||||||
|
|
||||||
|
private static void SetOrAddAttribute (XElement element, XName attributeName, string value)
|
||||||
|
{
|
||||||
|
var attribute = element.Attribute (attributeName);
|
||||||
|
if (attribute == null)
|
||||||
|
{
|
||||||
|
element.Add (new XAttribute (attributeName, value));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
attribute.SetValue (value);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int callbackOrder { get; }
|
public int callbackOrder { get; }
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"name": "com.commercialization.topon",
|
"name": "com.commercialization.topon",
|
||||||
"displayName": "Commercialization.topon",
|
"displayName": "Commercialization.topon",
|
||||||
"description": "基于topon的广告sdk封装,依赖基础商业化模块",
|
"description": "基于topon的广告sdk封装,依赖基础商业化模块",
|
||||||
"version": "1.4.5",
|
"version": "1.4.6",
|
||||||
"unity": "2021.1",
|
"unity": "2021.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|||||||
@@ -173,7 +173,7 @@ PlayerSettings:
|
|||||||
tvOS: 0
|
tvOS: 0
|
||||||
overrideDefaultApplicationIdentifier: 1
|
overrideDefaultApplicationIdentifier: 1
|
||||||
AndroidBundleVersionCode: 1
|
AndroidBundleVersionCode: 1
|
||||||
AndroidMinSdkVersion: 22
|
AndroidMinSdkVersion: 24
|
||||||
AndroidTargetSdkVersion: 0
|
AndroidTargetSdkVersion: 0
|
||||||
AndroidPreferredInstallLocation: 1
|
AndroidPreferredInstallLocation: 1
|
||||||
aotOptions:
|
aotOptions:
|
||||||
|
|||||||
Reference in New Issue
Block a user