com.puzzlescapegames.admob_native 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/.github/workflows/release-package.yml +22 -0
  2. package/GoogleMobileAds/CHANGELOG.md +1517 -0
  3. package/GoogleMobileAds/CHANGELOG.md.meta +81 -0
  4. package/GoogleMobileAds/Editor/AndroidBuildPreProcessor.cs +191 -0
  5. package/GoogleMobileAds/Editor/AndroidBuildPreProcessor.cs.meta +7 -0
  6. package/GoogleMobileAds/Editor/BuildPreProcessor.cs +55 -0
  7. package/GoogleMobileAds/Editor/BuildPreProcessor.cs.meta +17 -0
  8. package/GoogleMobileAds/Editor/EditorLocalization.cs +177 -0
  9. package/GoogleMobileAds/Editor/EditorLocalization.cs.meta +17 -0
  10. package/GoogleMobileAds/Editor/EditorLocalizationData.cs +11 -0
  11. package/GoogleMobileAds/Editor/EditorLocalizationData.cs.meta +17 -0
  12. package/GoogleMobileAds/Editor/EditorPathUtils.cs +57 -0
  13. package/GoogleMobileAds/Editor/EditorPathUtils.cs.meta +17 -0
  14. package/GoogleMobileAds/Editor/GoogleMobileAds.Editor.asmdef +20 -0
  15. package/GoogleMobileAds/Editor/GoogleMobileAds.Editor.asmdef.meta +12 -0
  16. package/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml +27 -0
  17. package/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml.meta +12 -0
  18. package/GoogleMobileAds/Editor/GoogleMobileAdsSKAdNetworkItems.xml +55 -0
  19. package/GoogleMobileAds/Editor/GoogleMobileAdsSKAdNetworkItems.xml.meta +12 -0
  20. package/GoogleMobileAds/Editor/GoogleMobileAdsSettings.cs +115 -0
  21. package/GoogleMobileAds/Editor/GoogleMobileAdsSettings.cs.meta +17 -0
  22. package/GoogleMobileAds/Editor/GoogleMobileAdsSettingsEditor.cs +164 -0
  23. package/GoogleMobileAds/Editor/GoogleMobileAdsSettingsEditor.cs.meta +17 -0
  24. package/GoogleMobileAds/Editor/GoogleUmpDependencies.xml +16 -0
  25. package/GoogleMobileAds/Editor/GoogleUmpDependencies.xml.meta +12 -0
  26. package/GoogleMobileAds/Editor/GradleProcessor.cs +99 -0
  27. package/GoogleMobileAds/Editor/GradleProcessor.cs.meta +17 -0
  28. package/GoogleMobileAds/Editor/ManifestProcessor.cs +249 -0
  29. package/GoogleMobileAds/Editor/ManifestProcessor.cs.meta +17 -0
  30. package/GoogleMobileAds/Editor/PListProcessor.cs +232 -0
  31. package/GoogleMobileAds/Editor/PListProcessor.cs.meta +17 -0
  32. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/1024x768.png +0 -0
  33. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/1024x768.png.meta +103 -0
  34. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/300x250.png +0 -0
  35. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/300x250.png.meta +103 -0
  36. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/320x100.png +0 -0
  37. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/320x100.png.meta +103 -0
  38. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/320x480.png +0 -0
  39. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/320x480.png.meta +103 -0
  40. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/320x50.png +0 -0
  41. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/320x50.png.meta +103 -0
  42. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/468x60.png +0 -0
  43. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/468x60.png.meta +103 -0
  44. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/480x320.png +0 -0
  45. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/480x320.png.meta +103 -0
  46. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/728x90.png +0 -0
  47. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/728x90.png.meta +103 -0
  48. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/768x1024.png +0 -0
  49. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/768x1024.png.meta +103 -0
  50. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/AdInspectorHome.png +0 -0
  51. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages/AdInspectorHome.png.meta +131 -0
  52. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdImages.meta +8 -0
  53. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdInspector/768x1024.prefab +504 -0
  54. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdInspector/768x1024.prefab.meta +12 -0
  55. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AdInspector.meta +8 -0
  56. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AppOpen/1024x768.prefab +472 -0
  57. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AppOpen/1024x768.prefab.meta +12 -0
  58. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AppOpen/768x1024.prefab +472 -0
  59. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AppOpen/768x1024.prefab.meta +12 -0
  60. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/AppOpen.meta +8 -0
  61. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Banners/ADAPTIVE.prefab +292 -0
  62. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Banners/ADAPTIVE.prefab.meta +13 -0
  63. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Banners/BANNER.prefab +217 -0
  64. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Banners/BANNER.prefab.meta +13 -0
  65. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Banners/CENTER.prefab +292 -0
  66. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Banners/CENTER.prefab.meta +13 -0
  67. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Banners/FULL_BANNER.prefab +217 -0
  68. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Banners/FULL_BANNER.prefab.meta +13 -0
  69. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Banners/LARGE_BANNER.prefab +217 -0
  70. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Banners/LARGE_BANNER.prefab.meta +13 -0
  71. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Banners/LEADERBOARD.prefab +217 -0
  72. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Banners/LEADERBOARD.prefab.meta +13 -0
  73. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Banners/MEDIUM_RECTANGLE.prefab +217 -0
  74. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Banners/MEDIUM_RECTANGLE.prefab.meta +13 -0
  75. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Banners/SMART_BANNER.prefab +292 -0
  76. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Banners/SMART_BANNER.prefab.meta +13 -0
  77. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Banners.meta +8 -0
  78. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Interstitials/1024x768.prefab +472 -0
  79. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Interstitials/1024x768.prefab.meta +13 -0
  80. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Interstitials/768x1024.prefab +472 -0
  81. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Interstitials/768x1024.prefab.meta +13 -0
  82. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Interstitials.meta +8 -0
  83. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Rewarded/1024x768.prefab +547 -0
  84. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Rewarded/1024x768.prefab.meta +13 -0
  85. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Rewarded/768x1024.prefab +547 -0
  86. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Rewarded/768x1024.prefab.meta +13 -0
  87. package/GoogleMobileAds/Editor/Resources/PlaceholderAds/Rewarded.meta +8 -0
  88. package/GoogleMobileAds/Editor/Resources/PlaceholderAds.meta +8 -0
  89. package/GoogleMobileAds/Editor/Resources/Ump/ConsentForm.png +0 -0
  90. package/GoogleMobileAds/Editor/Resources/Ump/ConsentForm.png.meta +145 -0
  91. package/GoogleMobileAds/Editor/Resources/Ump/ConsentForm.prefab +525 -0
  92. package/GoogleMobileAds/Editor/Resources/Ump/ConsentForm.prefab.meta +12 -0
  93. package/GoogleMobileAds/Editor/Resources/Ump.meta +8 -0
  94. package/GoogleMobileAds/Editor/Resources.meta +8 -0
  95. package/GoogleMobileAds/Editor/Utils.cs +91 -0
  96. package/GoogleMobileAds/Editor/Utils.cs.meta +17 -0
  97. package/GoogleMobileAds/Editor.meta +8 -0
  98. package/GoogleMobileAds/GoogleMobileAds.Android.dll +0 -0
  99. package/GoogleMobileAds/GoogleMobileAds.Android.dll.meta +81 -0
  100. package/GoogleMobileAds/GoogleMobileAds.Common.dll +0 -0
  101. package/GoogleMobileAds/GoogleMobileAds.Common.dll.meta +11 -0
  102. package/GoogleMobileAds/GoogleMobileAds.Core.dll +0 -0
  103. package/GoogleMobileAds/GoogleMobileAds.Core.dll.meta +11 -0
  104. package/GoogleMobileAds/GoogleMobileAds.Ump.Android.dll +0 -0
  105. package/GoogleMobileAds/GoogleMobileAds.Ump.Android.dll.meta +81 -0
  106. package/GoogleMobileAds/GoogleMobileAds.Ump.Unity.dll +0 -0
  107. package/GoogleMobileAds/GoogleMobileAds.Ump.Unity.dll.meta +81 -0
  108. package/GoogleMobileAds/GoogleMobileAds.Ump.dll +0 -0
  109. package/GoogleMobileAds/GoogleMobileAds.Ump.dll.meta +11 -0
  110. package/GoogleMobileAds/GoogleMobileAds.Ump.iOS.dll +0 -0
  111. package/GoogleMobileAds/GoogleMobileAds.Ump.iOS.dll.meta +81 -0
  112. package/GoogleMobileAds/GoogleMobileAds.Unity.dll +0 -0
  113. package/GoogleMobileAds/GoogleMobileAds.Unity.dll.meta +81 -0
  114. package/GoogleMobileAds/GoogleMobileAds.dll +0 -0
  115. package/GoogleMobileAds/GoogleMobileAds.dll.meta +11 -0
  116. package/GoogleMobileAds/GoogleMobileAds.iOS.dll +0 -0
  117. package/GoogleMobileAds/GoogleMobileAds.iOS.dll.meta +81 -0
  118. package/GoogleMobileAds/GoogleMobileAds_version-10.7.0_manifest.txt +78 -0
  119. package/GoogleMobileAds/GoogleMobileAds_version-10.7.0_manifest.txt.meta +10 -0
  120. package/GoogleMobileAds/LICENSE +202 -0
  121. package/GoogleMobileAds/LICENSE.meta +81 -0
  122. package/GoogleMobileAds/Resources/GoogleMobileAdsSettings.asset +22 -0
  123. package/GoogleMobileAds/Resources/GoogleMobileAdsSettings.asset.meta +8 -0
  124. package/GoogleMobileAds/Resources/gma_settings_editor_localization_data.json +72 -0
  125. package/GoogleMobileAds/Resources/gma_settings_editor_localization_data.json.meta +12 -0
  126. package/GoogleMobileAds/Resources.meta +8 -0
  127. package/GoogleMobileAds/link.xml +18 -0
  128. package/GoogleMobileAds/link.xml.meta +11 -0
  129. package/GoogleMobileAds.meta +8 -0
  130. package/Plugins/Android/GoogleMobileAdsPlugin.androidlib/AndroidManifest.xml +14 -0
  131. package/Plugins/Android/GoogleMobileAdsPlugin.androidlib/packaging_options.gradle +5 -0
  132. package/Plugins/Android/GoogleMobileAdsPlugin.androidlib/project.properties +2 -0
  133. package/Plugins/Android/GoogleMobileAdsPlugin.androidlib.meta +32 -0
  134. package/Plugins/Android/googlemobileads-unity.aar +0 -0
  135. package/Plugins/Android/googlemobileads-unity.aar.meta +81 -0
  136. package/Plugins/Android.meta +8 -0
  137. package/Plugins/iOS/GADUAdNetworkExtras.h +10 -0
  138. package/Plugins/iOS/GADUAdNetworkExtras.h.meta +81 -0
  139. package/Plugins/iOS/NativeTemplates/GADTMediumTemplateView.xib +192 -0
  140. package/Plugins/iOS/NativeTemplates/GADTMediumTemplateView.xib.meta +81 -0
  141. package/Plugins/iOS/NativeTemplates/GADTSmallTemplateView.xib +119 -0
  142. package/Plugins/iOS/NativeTemplates/GADTSmallTemplateView.xib.meta +81 -0
  143. package/Plugins/iOS/NativeTemplates.meta +8 -0
  144. package/Plugins/iOS/unity-plugin-library.a +0 -0
  145. package/Plugins/iOS/unity-plugin-library.a.meta +81 -0
  146. package/Plugins/iOS.meta +8 -0
  147. package/Plugins.meta +8 -0
  148. package/README.md +4 -0
  149. package/README.md.meta +7 -0
  150. package/Runtime/NativeAdMob.cs +102 -0
  151. package/Runtime/NativeAdMob.cs.meta +3 -0
  152. package/Runtime/Puzzlescape.AdMob.asmdef +3 -0
  153. package/Runtime/Puzzlescape.AdMob.asmdef.meta +7 -0
  154. package/Runtime.meta +8 -0
  155. package/package.json +11 -0
  156. package/package.json.meta +7 -0
@@ -0,0 +1,27 @@
1
+ <dependencies>
2
+ <androidPackages>
3
+ <androidPackage spec="com.google.android.gms:play-services-ads:24.9.0">
4
+ <repositories>
5
+ <repository>https://maven.google.com/</repository>
6
+ </repositories>
7
+ </androidPackage>
8
+ <androidPackage spec="androidx.constraintlayout:constraintlayout:2.1.4">
9
+ <repositories>
10
+ <repository>https://maven.google.com/</repository>
11
+ </repositories>
12
+ </androidPackage>
13
+ <androidPackage spec="androidx.lifecycle:lifecycle-process:2.6.2">
14
+ <repositories>
15
+ <repository>https://maven.google.com/</repository>
16
+ </repositories>
17
+ </androidPackage>
18
+ </androidPackages>
19
+
20
+ <iosPods>
21
+ <iosPod name="Google-Mobile-Ads-SDK" version="~> 12.14">
22
+ <sources>
23
+ <source>https://github.com/CocoaPods/Specs</source>
24
+ </sources>
25
+ </iosPod>
26
+ </iosPods>
27
+ </dependencies>
@@ -0,0 +1,12 @@
1
+ fileFormatVersion: 2
2
+ guid: 2c9357ed17521401bb7b6733145ebcd9
3
+ labels:
4
+ - gvh
5
+ - gvh_version-10.7.0
6
+ - gvhp_exportpath-GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml
7
+ timeCreated: 1504855478
8
+ licenseType: Pro
9
+ TextScriptImporter:
10
+ userData:
11
+ assetBundleName:
12
+ assetBundleVariant:
@@ -0,0 +1,55 @@
1
+ <SKAdNetworkItems>
2
+ <!-- Google -->
3
+ <SKAdNetworkIdentifier>cstr6suwn9.skadnetwork</SKAdNetworkIdentifier>
4
+
5
+ <!-- Third party buyers. See https://developers.google.com/admob/ios/3p-skadnetworks
6
+ for more information. -->
7
+ <SKAdNetworkIdentifier>4fzdc2evr5.skadnetwork</SKAdNetworkIdentifier>
8
+ <SKAdNetworkIdentifier>2fnua5tdw4.skadnetwork</SKAdNetworkIdentifier>
9
+ <SKAdNetworkIdentifier>ydx93a7ass.skadnetwork</SKAdNetworkIdentifier>
10
+ <SKAdNetworkIdentifier>p78axxw29g.skadnetwork</SKAdNetworkIdentifier>
11
+ <SKAdNetworkIdentifier>v72qych5uu.skadnetwork</SKAdNetworkIdentifier>
12
+ <SKAdNetworkIdentifier>ludvb6z3bs.skadnetwork</SKAdNetworkIdentifier>
13
+ <SKAdNetworkIdentifier>cp8zw746q7.skadnetwork</SKAdNetworkIdentifier>
14
+ <SKAdNetworkIdentifier>3sh42y64q3.skadnetwork</SKAdNetworkIdentifier>
15
+ <SKAdNetworkIdentifier>c6k4g5qg8m.skadnetwork</SKAdNetworkIdentifier>
16
+ <SKAdNetworkIdentifier>s39g8k73mm.skadnetwork</SKAdNetworkIdentifier>
17
+ <SKAdNetworkIdentifier>3qy4746246.skadnetwork</SKAdNetworkIdentifier>
18
+ <SKAdNetworkIdentifier>f38h382jlk.skadnetwork</SKAdNetworkIdentifier>
19
+ <SKAdNetworkIdentifier>hs6bdukanm.skadnetwork</SKAdNetworkIdentifier>
20
+ <SKAdNetworkIdentifier>mlmmfzh3r3.skadnetwork</SKAdNetworkIdentifier>
21
+ <SKAdNetworkIdentifier>v4nxqhlyqp.skadnetwork</SKAdNetworkIdentifier>
22
+ <SKAdNetworkIdentifier>wzmmz9fp6w.skadnetwork</SKAdNetworkIdentifier>
23
+ <SKAdNetworkIdentifier>su67r6k2v3.skadnetwork</SKAdNetworkIdentifier>
24
+ <SKAdNetworkIdentifier>yclnxrl5pm.skadnetwork</SKAdNetworkIdentifier>
25
+ <SKAdNetworkIdentifier>t38b2kh725.skadnetwork</SKAdNetworkIdentifier>
26
+ <SKAdNetworkIdentifier>7ug5zh24hu.skadnetwork</SKAdNetworkIdentifier>
27
+ <SKAdNetworkIdentifier>gta9lk7p23.skadnetwork</SKAdNetworkIdentifier>
28
+ <SKAdNetworkIdentifier>vutu7akeur.skadnetwork</SKAdNetworkIdentifier>
29
+ <SKAdNetworkIdentifier>y5ghdn5j9k.skadnetwork</SKAdNetworkIdentifier>
30
+ <SKAdNetworkIdentifier>v9wttpbfk9.skadnetwork</SKAdNetworkIdentifier>
31
+ <SKAdNetworkIdentifier>n38lu8286q.skadnetwork</SKAdNetworkIdentifier>
32
+ <SKAdNetworkIdentifier>47vhws6wlr.skadnetwork</SKAdNetworkIdentifier>
33
+ <SKAdNetworkIdentifier>kbd757ywx3.skadnetwork</SKAdNetworkIdentifier>
34
+ <SKAdNetworkIdentifier>9t245vhmpl.skadnetwork</SKAdNetworkIdentifier>
35
+ <SKAdNetworkIdentifier>a2p9lx4jpn.skadnetwork</SKAdNetworkIdentifier>
36
+ <SKAdNetworkIdentifier>22mmun2rn5.skadnetwork</SKAdNetworkIdentifier>
37
+ <SKAdNetworkIdentifier>44jx6755aq.skadnetwork</SKAdNetworkIdentifier>
38
+ <SKAdNetworkIdentifier>k674qkevps.skadnetwork</SKAdNetworkIdentifier>
39
+ <SKAdNetworkIdentifier>4468km3ulz.skadnetwork</SKAdNetworkIdentifier>
40
+ <SKAdNetworkIdentifier>2u9pt9hc89.skadnetwork</SKAdNetworkIdentifier>
41
+ <SKAdNetworkIdentifier>8s468mfl3y.skadnetwork</SKAdNetworkIdentifier>
42
+ <SKAdNetworkIdentifier>klf5c3l5u5.skadnetwork</SKAdNetworkIdentifier>
43
+ <SKAdNetworkIdentifier>ppxm28t8ap.skadnetwork</SKAdNetworkIdentifier>
44
+ <SKAdNetworkIdentifier>kbmxgpxpgc.skadnetwork</SKAdNetworkIdentifier>
45
+ <SKAdNetworkIdentifier>uw77j35x4d.skadnetwork</SKAdNetworkIdentifier>
46
+ <SKAdNetworkIdentifier>578prtvx9j.skadnetwork</SKAdNetworkIdentifier>
47
+ <SKAdNetworkIdentifier>4dzt52r2t5.skadnetwork</SKAdNetworkIdentifier>
48
+ <SKAdNetworkIdentifier>tl55sbb4fm.skadnetwork</SKAdNetworkIdentifier>
49
+ <SKAdNetworkIdentifier>c3frkrj4fj.skadnetwork</SKAdNetworkIdentifier>
50
+ <SKAdNetworkIdentifier>e5fvkxwrpn.skadnetwork</SKAdNetworkIdentifier>
51
+ <SKAdNetworkIdentifier>8c4e2ghe7u.skadnetwork</SKAdNetworkIdentifier>
52
+ <SKAdNetworkIdentifier>3rd42ekr43.skadnetwork</SKAdNetworkIdentifier>
53
+ <SKAdNetworkIdentifier>97r2b46745.skadnetwork</SKAdNetworkIdentifier>
54
+ <SKAdNetworkIdentifier>3qcr597p9d.skadnetwork</SKAdNetworkIdentifier>
55
+ </SKAdNetworkItems>
@@ -0,0 +1,12 @@
1
+ fileFormatVersion: 2
2
+ guid: b18ecf64be00344e7b039c69e9af56bf
3
+ labels:
4
+ - gvh
5
+ - gvh_version-10.7.0
6
+ - gvhp_exportpath-GoogleMobileAds/Editor/GoogleMobileAdsSKAdNetworkItems.xml
7
+ timeCreated: 1480838400
8
+ TextScriptImporter:
9
+ externalObjects: {}
10
+ userData:
11
+ assetBundleName:
12
+ assetBundleVariant:
@@ -0,0 +1,115 @@
1
+ using System;
2
+ using System.IO;
3
+ using UnityEditor;
4
+ using UnityEngine;
5
+
6
+ namespace GoogleMobileAds.Editor
7
+ {
8
+ internal class GoogleMobileAdsSettings : ScriptableObject
9
+ {
10
+ private const string MobileAdsSettingsResDir = "Assets/GoogleMobileAds/Resources";
11
+
12
+ private const string MobileAdsSettingsFile = "GoogleMobileAdsSettings";
13
+
14
+ private const string MobileAdsSettingsFileExtension = ".asset";
15
+
16
+ internal static GoogleMobileAdsSettings LoadInstance()
17
+ {
18
+ // Read from resources.
19
+ var instance = Resources.Load<GoogleMobileAdsSettings>(MobileAdsSettingsFile);
20
+
21
+ // Create instance if null.
22
+ if (instance == null)
23
+ {
24
+ Directory.CreateDirectory(MobileAdsSettingsResDir);
25
+ instance = ScriptableObject.CreateInstance<GoogleMobileAdsSettings>();
26
+ string assetPath = Path.Combine(MobileAdsSettingsResDir,
27
+ MobileAdsSettingsFile + MobileAdsSettingsFileExtension);
28
+ AssetDatabase.CreateAsset(instance, assetPath);
29
+ AssetDatabase.SaveAssets();
30
+ }
31
+
32
+ return instance;
33
+ }
34
+
35
+ [SerializeField]
36
+ private string adMobAndroidAppId = string.Empty;
37
+
38
+ [SerializeField]
39
+ private string adMobIOSAppId = string.Empty;
40
+
41
+ [SerializeField]
42
+ private bool enableKotlinXCoroutinesPackagingOption = true;
43
+
44
+ [SerializeField]
45
+ private bool enableGradleBuildPreProcessor = true;
46
+
47
+ [SerializeField]
48
+ private bool disableOptimizeInitialization;
49
+
50
+ [SerializeField]
51
+ private bool disableOptimizeAdLoading;
52
+
53
+ [SerializeField]
54
+ private string userTrackingUsageDescription;
55
+
56
+ [SerializeField]
57
+ private string userLanguage = "en";
58
+
59
+ public string GoogleMobileAdsAndroidAppId
60
+ {
61
+ get { return adMobAndroidAppId; }
62
+
63
+ set { adMobAndroidAppId = value; }
64
+ }
65
+
66
+ public bool EnableGradleBuildPreProcessor
67
+ {
68
+ get { return enableGradleBuildPreProcessor; }
69
+
70
+ set { enableGradleBuildPreProcessor = value; }
71
+ }
72
+
73
+ public bool EnableKotlinXCoroutinesPackagingOption
74
+ {
75
+ get { return enableKotlinXCoroutinesPackagingOption; }
76
+
77
+ set { enableKotlinXCoroutinesPackagingOption = value; }
78
+ }
79
+
80
+ public string GoogleMobileAdsIOSAppId
81
+ {
82
+ get { return adMobIOSAppId; }
83
+
84
+ set { adMobIOSAppId = value; }
85
+ }
86
+
87
+ public bool DisableOptimizeInitialization
88
+ {
89
+ get { return disableOptimizeInitialization; }
90
+
91
+ set { disableOptimizeInitialization = value; }
92
+ }
93
+
94
+ public bool DisableOptimizeAdLoading
95
+ {
96
+ get { return disableOptimizeAdLoading; }
97
+
98
+ set { disableOptimizeAdLoading = value; }
99
+ }
100
+
101
+ public string UserTrackingUsageDescription
102
+ {
103
+ get { return userTrackingUsageDescription; }
104
+
105
+ set { userTrackingUsageDescription = value; }
106
+ }
107
+
108
+ public string UserLanguage
109
+ {
110
+ get { return userLanguage; }
111
+
112
+ set { userLanguage = value; }
113
+ }
114
+ }
115
+ }
@@ -0,0 +1,17 @@
1
+ fileFormatVersion: 2
2
+ guid: a187246822bbb47529482707f3e0eff8
3
+ labels:
4
+ - gvh
5
+ - gvh_version-10.7.0
6
+ - gvhp_exportpath-GoogleMobileAds/Editor/GoogleMobileAdsSettings.cs
7
+ timeCreated: 1480838400
8
+ MonoImporter:
9
+ externalObjects: {}
10
+ serializedVersion: 2
11
+ defaultReferences: []
12
+ executionOrder: 0
13
+ icon:
14
+ instanceID: 0
15
+ userData:
16
+ assetBundleName:
17
+ assetBundleVariant:
@@ -0,0 +1,164 @@
1
+ #if UNITY_6000_0_OR_NEWER || UNITY_2023 || UNITY_2022 || UNITY_2021_3_55 || UNITY_2021_3_54 || UNITY_2021_3_53 || UNITY_2021_3_52 || UNITY_2021_3_51 || UNITY_2021_3_50 || UNITY_2021_3_49 || UNITY_2021_3_48 || UNITY_2021_3_47 || UNITY_2021_3_46 || UNITY_2021_3_45 || UNITY_2021_3_44 || UNITY_2021_3_43 || UNITY_2021_3_42 || UNITY_2021_3_41
2
+ #define ANDROID_GRADLE_BUILD_PRE_PROCESSOR_ENABLED
3
+ #endif
4
+
5
+ using System;
6
+ using UnityEditor;
7
+ using UnityEngine;
8
+
9
+ namespace GoogleMobileAds.Editor
10
+ {
11
+ [InitializeOnLoad]
12
+ [CustomEditor(typeof(GoogleMobileAdsSettings))]
13
+ public class GoogleMobileAdsSettingsEditor : UnityEditor.Editor
14
+ {
15
+ SerializedProperty _appIdAndroid;
16
+ SerializedProperty _appIdiOS;
17
+ SerializedProperty _enableGradleBuildPreProcessor;
18
+ SerializedProperty _enableKotlinXCoroutinesPackagingOption;
19
+ SerializedProperty _disableOptimizeInitialization;
20
+ SerializedProperty _disableOptimizeAdLoading;
21
+ SerializedProperty _userLanguage;
22
+ SerializedProperty _userTrackingUsageDescription;
23
+
24
+ // Using an ordered list of languages is computationally expensive when trying to create an
25
+ // array out of them for purposes of showing a dropdown menu. Care should be taken to ensure
26
+ // these arrays are kept in sync.
27
+ string[] availableLanguages = new string[] { "English", "French"};
28
+ string[] languageCodes = new string[] { "en", "fr" };
29
+ int selectedIndex = 0;
30
+
31
+ [MenuItem("Assets/Google Mobile Ads/Settings...")]
32
+ public static void OpenInspector()
33
+ {
34
+ Selection.activeObject = GoogleMobileAdsSettings.LoadInstance();
35
+ }
36
+
37
+ public void OnEnable()
38
+ {
39
+ _appIdAndroid = serializedObject.FindProperty("adMobAndroidAppId");
40
+ _appIdiOS = serializedObject.FindProperty("adMobIOSAppId");
41
+ _enableGradleBuildPreProcessor =
42
+ serializedObject.FindProperty("enableGradleBuildPreProcessor");
43
+ _enableKotlinXCoroutinesPackagingOption =
44
+ serializedObject.FindProperty("enableKotlinXCoroutinesPackagingOption");
45
+ _disableOptimizeInitialization = serializedObject.FindProperty("disableOptimizeInitialization");
46
+ _disableOptimizeAdLoading = serializedObject.FindProperty("disableOptimizeAdLoading");
47
+ _userLanguage = serializedObject.FindProperty("userLanguage");
48
+ _userTrackingUsageDescription =
49
+ serializedObject.FindProperty("userTrackingUsageDescription");
50
+
51
+ selectedIndex = Array.IndexOf(languageCodes, _userLanguage.stringValue);
52
+ selectedIndex = selectedIndex >= 0 ? selectedIndex : 0;
53
+ }
54
+
55
+ public override void OnInspectorGUI()
56
+ {
57
+ // Make sure the Settings object has all recent changes.
58
+ serializedObject.Update();
59
+
60
+ var settings = (GoogleMobileAdsSettings)target;
61
+
62
+ if (settings == null)
63
+ {
64
+ UnityEngine.Debug.LogError("GoogleMobileAdsSettings is null.");
65
+ return;
66
+ }
67
+
68
+ EditorLocalization localization = new EditorLocalization();
69
+ EditorGUI.BeginChangeCheck();
70
+ selectedIndex = EditorGUILayout.Popup("Language", selectedIndex, availableLanguages);
71
+ if (EditorGUI.EndChangeCheck())
72
+ {
73
+ _userLanguage.stringValue = languageCodes[selectedIndex];
74
+ }
75
+
76
+ EditorGUIUtility.labelWidth = 60.0f;
77
+ EditorGUILayout.LabelField(localization.ForKey("GMA_APP_ID_LABEL"),
78
+ EditorStyles.boldLabel);
79
+ EditorGUI.indentLevel++;
80
+
81
+ EditorGUILayout.PropertyField(_appIdAndroid, new GUIContent("Android"));
82
+
83
+ EditorGUILayout.PropertyField(_appIdiOS, new GUIContent("iOS"));
84
+
85
+ EditorGUILayout.HelpBox(localization.ForKey("GMA_APP_ID_HELPBOX"), MessageType.Info);
86
+
87
+ EditorGUI.indentLevel--;
88
+ EditorGUILayout.Separator();
89
+
90
+ EditorGUIUtility.labelWidth = 325.0f;
91
+ EditorGUILayout.LabelField(localization.ForKey("ANDROID_SETTINGS_LABEL"),
92
+ EditorStyles.boldLabel);
93
+ EditorGUI.indentLevel++;
94
+
95
+ EditorGUI.BeginChangeCheck();
96
+
97
+ #if ANDROID_GRADLE_BUILD_PRE_PROCESSOR_ENABLED
98
+ EditorGUILayout.PropertyField(
99
+ _enableGradleBuildPreProcessor,
100
+ new GUIContent(
101
+ localization.ForKey("ENABLE_GRADLE_BUILD_PRE_PROCESSOR_SETTING")));
102
+
103
+ if (settings.EnableGradleBuildPreProcessor)
104
+ {
105
+ EditorGUILayout.HelpBox(
106
+ localization.ForKey("ENABLE_GRADLE_BUILD_PRE_PROCESSOR_HELPBOX"),
107
+ MessageType.Info);
108
+ }
109
+ #endif
110
+
111
+ EditorGUILayout.PropertyField(
112
+ _enableKotlinXCoroutinesPackagingOption,
113
+ new GUIContent(
114
+ localization.ForKey("ENABLE_KOTLINX_COROUTINES_PACKAGING_OPTION_SETTING")));
115
+
116
+ if (settings.EnableKotlinXCoroutinesPackagingOption)
117
+ {
118
+ EditorGUILayout.HelpBox(
119
+ localization.ForKey("ENABLE_KOTLINX_COROUTINES_PACKAGING_OPTION_HELPBOX"),
120
+ MessageType.Info);
121
+ }
122
+
123
+
124
+ EditorGUILayout.PropertyField(
125
+ _disableOptimizeInitialization,
126
+ new GUIContent(localization.ForKey("DISABLE_OPTIMIZE_INITIALIZATION_SETTING")));
127
+ if (settings.DisableOptimizeInitialization)
128
+ {
129
+ EditorGUILayout.HelpBox(localization.ForKey("DISABLE_OPTIMIZE_INITIALIZATION_HELPBOX"),
130
+ MessageType.Info);
131
+ }
132
+
133
+ EditorGUILayout.PropertyField(
134
+ _disableOptimizeAdLoading,
135
+ new GUIContent(localization.ForKey("DISABLE_OPTIMIZE_AD_LOADING_SETTING")));
136
+
137
+ if (settings.DisableOptimizeAdLoading)
138
+ {
139
+ EditorGUILayout.HelpBox(localization.ForKey("DISABLE_OPTIMIZE_AD_LOADING_HELPBOX"),
140
+ MessageType.Info);
141
+ }
142
+
143
+ EditorGUI.indentLevel--;
144
+ EditorGUILayout.Separator();
145
+
146
+ EditorGUIUtility.labelWidth = 300.0f;
147
+ EditorGUILayout.LabelField(localization.ForKey("UMP_SPECIFIC_SETTINGS_LABEL"),
148
+ EditorStyles.boldLabel);
149
+ EditorGUI.indentLevel++;
150
+
151
+ EditorGUILayout.PropertyField(
152
+ _userTrackingUsageDescription,
153
+ new GUIContent(localization.ForKey("USER_TRACKING_USAGE_DESCRIPTION_SETTING")));
154
+
155
+ EditorGUILayout.HelpBox(localization.ForKey("USER_TRACKING_USAGE_DESCRIPTION_HELPBOX"),
156
+ MessageType.Info);
157
+
158
+ EditorGUI.indentLevel--;
159
+ EditorGUILayout.Separator();
160
+
161
+ serializedObject.ApplyModifiedProperties();
162
+ }
163
+ }
164
+ }
@@ -0,0 +1,17 @@
1
+ fileFormatVersion: 2
2
+ guid: 8afb1338afbd34c4fac628cd6175c032
3
+ labels:
4
+ - gvh
5
+ - gvh_version-10.7.0
6
+ - gvhp_exportpath-GoogleMobileAds/Editor/GoogleMobileAdsSettingsEditor.cs
7
+ timeCreated: 1480838400
8
+ MonoImporter:
9
+ externalObjects: {}
10
+ serializedVersion: 2
11
+ defaultReferences: []
12
+ executionOrder: 0
13
+ icon:
14
+ instanceID: 0
15
+ userData:
16
+ assetBundleName:
17
+ assetBundleVariant:
@@ -0,0 +1,16 @@
1
+ <dependencies>
2
+ <androidPackages>
3
+ <androidPackage spec="com.google.android.ump:user-messaging-platform:3.2.0">
4
+ <repositories>
5
+ <repository>https://maven.google.com/</repository>
6
+ </repositories>
7
+ </androidPackage>
8
+ </androidPackages>
9
+ <iosPods>
10
+ <iosPod name="GoogleUserMessagingPlatform" version="3.0.0">
11
+ <sources>
12
+ <source>https://github.com/CocoaPods/Specs</source>
13
+ </sources>
14
+ </iosPod>
15
+ </iosPods>
16
+ </dependencies>
@@ -0,0 +1,12 @@
1
+ fileFormatVersion: 2
2
+ guid: f7225ce7103aa4556994e2c2be08cd37
3
+ labels:
4
+ - gvh
5
+ - gvh_version-10.7.0
6
+ - gvhp_exportpath-GoogleMobileAds/Editor/GoogleUmpDependencies.xml
7
+ timeCreated: 1480838400
8
+ TextScriptImporter:
9
+ externalObjects: {}
10
+ userData:
11
+ assetBundleName:
12
+ assetBundleVariant:
@@ -0,0 +1,99 @@
1
+ using System;
2
+ using System.IO;
3
+ using UnityEditor.Android;
4
+
5
+ using GoogleMobileAds.Editor;
6
+
7
+ public class GradleProcessor : IPostGenerateGradleAndroidProject
8
+ {
9
+ public int callbackOrder { get { return 0; } }
10
+
11
+ private const string GMA_PACKAGING_OPTIONS_LAUNCHER =
12
+ "apply from: '../unityLibrary/GoogleMobileAdsPlugin.androidlib/packaging_options.gradle'";
13
+
14
+ private const string GMA_PACKAGING_OPTIONS =
15
+ "apply from: 'GoogleMobileAdsPlugin.androidlib/packaging_options.gradle'";
16
+
17
+ private const string GMA_VALIDATE_GRADLE_DEPENDENCIES =
18
+ "gradle.projectsEvaluated { apply from: 'GoogleMobileAdsPlugin.androidlib/validate_dependencies.gradle' }";
19
+
20
+ public void OnPostGenerateGradleAndroidProject(string path)
21
+ {
22
+ var rootDirinfo = new DirectoryInfo(path);
23
+ var rootPath = rootDirinfo.Parent.FullName;
24
+ var gradleList = Directory.GetFiles(rootPath, "build.gradle", SearchOption.AllDirectories);
25
+
26
+ var packagingOptionsLauncher = GMA_PACKAGING_OPTIONS_LAUNCHER;
27
+ var packagingOptionsUnityLibrary = GMA_PACKAGING_OPTIONS;
28
+ var validateGradleDependencies = GMA_VALIDATE_GRADLE_DEPENDENCIES;
29
+
30
+ // Windows path requires '\\'
31
+ #if UNITY_EDITOR_WIN
32
+ packagingOptionsLauncher = packagingOptionsLauncher.Replace("/","\\\\");
33
+ packagingOptionsUnityLibrary = packagingOptionsUnityLibrary.Replace("/","\\\\");
34
+ validateGradleDependencies = validateGradleDependencies.Replace("/","\\\\");
35
+ #endif
36
+
37
+ foreach (var gradlepath in gradleList)
38
+ {
39
+ if (!gradlepath.Contains("unityLibrary/build.gradle") &&
40
+ !gradlepath.Contains("launcher/build.gradle") &&
41
+ !gradlepath.Contains("unityLibrary\\build.gradle") &&
42
+ !gradlepath.Contains("launcher\\build.gradle"))
43
+ {
44
+ continue;
45
+ }
46
+
47
+ var contents = File.ReadAllText(gradlepath);
48
+ // Delete existing packaging_options and then set it if enabled.
49
+ if (contents.Contains("packaging_options.gradle"))
50
+ {
51
+ contents = DeleteLineContainingSubstring(contents, "packaging_options.gradle");
52
+ }
53
+
54
+ if (!GoogleMobileAdsSettings.LoadInstance().EnableKotlinXCoroutinesPackagingOption)
55
+ {
56
+ File.WriteAllText(gradlepath, contents);
57
+ continue;
58
+ }
59
+
60
+ if (gradlepath.Contains("unityLibrary/build.gradle") || gradlepath.Contains("unityLibrary\\build.gradle"))
61
+ {
62
+ contents += Environment.NewLine + packagingOptionsUnityLibrary;
63
+ }
64
+ else if (gradlepath.Contains("launcher/build.gradle") || gradlepath.Contains("launcher\\build.gradle"))
65
+ {
66
+ contents += Environment.NewLine + packagingOptionsLauncher;
67
+ }
68
+ File.WriteAllText(gradlepath, contents);
69
+ }
70
+
71
+ // TODO (b/311555203) Use delete then write approach above to update this Gradle script too.
72
+ var unityLibraryGradle = Directory.GetFiles(rootPath, "unityLibrary/build.gradle",
73
+ SearchOption.TopDirectoryOnly);
74
+
75
+ foreach (var gradlePath in unityLibraryGradle)
76
+ {
77
+ var contents = File.ReadAllText(gradlePath);
78
+ if (contents.Contains(validateGradleDependencies))
79
+ {
80
+ contents = DeleteLineContainingSubstring(contents, validateGradleDependencies);
81
+ File.WriteAllText(gradlePath, contents);
82
+ }
83
+ }
84
+ }
85
+
86
+ private string DeleteLineContainingSubstring(string file, string substring)
87
+ {
88
+ string newFile = "";
89
+ var lines = file.Split(new[] { Environment.NewLine }, StringSplitOptions.None);
90
+ foreach (var line in lines)
91
+ {
92
+ if (!line.Contains(substring))
93
+ {
94
+ newFile += line + Environment.NewLine;
95
+ }
96
+ }
97
+ return newFile;
98
+ }
99
+ }
@@ -0,0 +1,17 @@
1
+ fileFormatVersion: 2
2
+ guid: ee0016d28899644a9bbcb67f438d41bd
3
+ labels:
4
+ - gvh
5
+ - gvh_version-10.7.0
6
+ - gvhp_exportpath-GoogleMobileAds/Editor/GradleProcessor.cs
7
+ timeCreated: 1480838400
8
+ MonoImporter:
9
+ externalObjects: {}
10
+ serializedVersion: 2
11
+ defaultReferences: []
12
+ executionOrder: 0
13
+ icon:
14
+ instanceID: 0
15
+ userData:
16
+ assetBundleName:
17
+ assetBundleVariant: