GoogleMobileAdsSettings.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using System.IO;
  2. using UnityEditor;
  3. using UnityEngine;
  4. namespace GoogleMobileAds.Editor
  5. {
  6. internal class GoogleMobileAdsSettings : ScriptableObject
  7. {
  8. private const string MobileAdsSettingsResDir = "Assets/GoogleMobileAds/Resources";
  9. private const string MobileAdsSettingsFile = "GoogleMobileAdsSettings";
  10. private const string MobileAdsSettingsFileExtension = ".asset";
  11. internal static GoogleMobileAdsSettings LoadInstance()
  12. {
  13. //Read from resources.
  14. var instance = Resources.Load<GoogleMobileAdsSettings>(MobileAdsSettingsFile);
  15. //Create instance if null.
  16. if (instance == null)
  17. {
  18. Directory.CreateDirectory(MobileAdsSettingsResDir);
  19. instance = ScriptableObject.CreateInstance<GoogleMobileAdsSettings>();
  20. string assetPath = Path.Combine(
  21. MobileAdsSettingsResDir,
  22. MobileAdsSettingsFile + MobileAdsSettingsFileExtension);
  23. AssetDatabase.CreateAsset(instance, assetPath);
  24. AssetDatabase.SaveAssets();
  25. }
  26. return instance;
  27. }
  28. [SerializeField]
  29. private string adMobAndroidAppId = string.Empty;
  30. [SerializeField]
  31. private string adMobIOSAppId = string.Empty;
  32. [SerializeField]
  33. private bool delayAppMeasurementInit;
  34. [SerializeField]
  35. private bool optimizeInitialization;
  36. [SerializeField]
  37. private bool optimizeAdLoading;
  38. public string GoogleMobileAdsAndroidAppId
  39. {
  40. get { return adMobAndroidAppId; }
  41. set { adMobAndroidAppId = value; }
  42. }
  43. public string GoogleMobileAdsIOSAppId
  44. {
  45. get { return adMobIOSAppId; }
  46. set { adMobIOSAppId = value; }
  47. }
  48. public bool DelayAppMeasurementInit
  49. {
  50. get { return delayAppMeasurementInit; }
  51. set { delayAppMeasurementInit = value; }
  52. }
  53. public bool OptimizeInitialization
  54. {
  55. get { return optimizeInitialization; }
  56. set { optimizeInitialization = value; }
  57. }
  58. public bool OptimizeAdLoading
  59. {
  60. get { return optimizeAdLoading; }
  61. set { optimizeAdLoading = value; }
  62. }
  63. }
  64. }