You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.4 KiB
C#
66 lines
2.4 KiB
C#
//
|
|
// AppLovinBuildPostProcessor.cs
|
|
// AppLovin MAX Unity Plugin
|
|
//
|
|
// Created by Santosh Bagadi on 8/29/19.
|
|
// Copyright © 2019 AppLovin. All rights reserved.
|
|
//
|
|
|
|
#if UNITY_ANDROID
|
|
|
|
using System.IO;
|
|
using UnityEditor.Android;
|
|
using UnityEngine;
|
|
|
|
namespace AppLovinMax.Scripts.IntegrationManager.Editor
|
|
{
|
|
/// <summary>
|
|
/// Adds Quality Service plugin to the Gradle project once the project has been exported. See <see cref="AppLovinProcessGradleBuildFile"/> for more details.
|
|
/// </summary>
|
|
public class AppLovinPostProcessGradleProject : AppLovinProcessGradleBuildFile, IPostGenerateGradleAndroidProject
|
|
{
|
|
public void OnPostGenerateGradleAndroidProject(string path)
|
|
{
|
|
if (!AppLovinSettings.Instance.QualityServiceEnabled) return;
|
|
|
|
#if UNITY_2019_3_OR_NEWER
|
|
// On Unity 2019.3+, the path returned is the path to the unityLibrary's module.
|
|
// The AppLovin Quality Service buildscript closure related lines need to be added to the root build.gradle file.
|
|
var rootGradleBuildFilePath = Path.Combine(path, "../build.gradle");
|
|
#if UNITY_2022_2_OR_NEWER
|
|
if (!AddPluginToRootGradleBuildFile(rootGradleBuildFilePath)) return;
|
|
|
|
var rootSettingsGradleFilePath = Path.Combine(path, "../settings.gradle");
|
|
if (!AddAppLovinRepository(rootSettingsGradleFilePath)) return;
|
|
#else
|
|
var buildScriptChangesAdded = AddQualityServiceBuildScriptLines(rootGradleBuildFilePath);
|
|
if (!buildScriptChangesAdded) return;
|
|
#endif
|
|
|
|
// The plugin needs to be added to the application module (named launcher)
|
|
var applicationGradleBuildFilePath = Path.Combine(path, "../launcher/build.gradle");
|
|
#else
|
|
// If Gradle template is enabled, we would have already updated the plugin.
|
|
if (AppLovinIntegrationManager.GradleTemplateEnabled) return;
|
|
|
|
var applicationGradleBuildFilePath = Path.Combine(path, "build.gradle");
|
|
#endif
|
|
|
|
if (!File.Exists(applicationGradleBuildFilePath))
|
|
{
|
|
MaxSdkLogger.UserWarning("Couldn't find build.gradle file. Failed to add AppLovin Quality Service plugin to the gradle project.");
|
|
return;
|
|
}
|
|
|
|
AddAppLovinQualityServicePlugin(applicationGradleBuildFilePath);
|
|
}
|
|
|
|
public int callbackOrder
|
|
{
|
|
get { return int.MaxValue; }
|
|
}
|
|
}
|
|
}
|
|
|
|
#endif
|