Skip to content

Commit 965760e

Browse files
Mobile Ads Developer Relationscopybara-github
authored andcommitted
* Pass the callbacks in the constructor when creating iOS plugin classes.
* Fix typos and add null checks. PiperOrigin-RevId: 784650598
1 parent 8de125e commit 965760e

File tree

2 files changed

+51
-27
lines changed

2 files changed

+51
-27
lines changed

source/plugin/Assets/GoogleMobileAds/Platforms/iOS/Externs.cs

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -341,47 +341,42 @@ internal static extern void GADUAppOpenAdPreloaderDestroy(IntPtr appOpenAdPreloa
341341

342342
[DllImport("__Internal")]
343343
internal static extern IntPtr GADUCreateRewardedAdPreloader(
344-
IntPtr rewardedAdPreloaderClient);
344+
IntPtr rewardedAdPreloaderClient,
345+
RewardedAdPreloaderClient.GADUAdAvailableForPreloadIdCallback adPreloadedCallback,
346+
RewardedAdPreloaderClient.GADUAdFailedToPreloadForPreloadIdCallback
347+
adFailedToPreloadCallback,
348+
RewardedAdPreloaderClient.GADUAdsExhaustedForPreloadIdCallback adsExhaustedCallback);
345349

346350
[DllImport("__Internal")]
347-
internal static extern bool GADURewardedAdPreloaderPreload(IntPtr rewardedAdPreloaderClient,
351+
internal static extern bool GADURewardedAdPreloaderPreload(IntPtr rewardedAdPreloader,
348352
string preloadId, IntPtr preloadConfiguration);
349353

350354
[DllImport("__Internal")]
351-
internal static extern bool GADURewardedAdPreloaderIsAdAvailable(
352-
IntPtr rewardedAdPreloaderClient, string preloadId);
355+
internal static extern bool GADURewardedAdPreloaderIsAdAvailable(IntPtr rewardedAdPreloader,
356+
string preloadId);
353357

354358
[DllImport("__Internal")]
355359
internal static extern IntPtr GADURewardedAdPreloaderGetPreloadedAd(
356-
IntPtr rewardedAdPreloaderClient, string preloadId, IntPtr appOpenAdClientPtr);
360+
IntPtr rewardedAdPreloader, string preloadId, IntPtr appOpenAdClientPtr);
357361

358362
[DllImport("__Internal")]
359363
internal static extern int GADURewardedAdPreloaderGetNumAdsAvailable(
360-
IntPtr rewardedAdPreloaderClient, string preloadId);
364+
IntPtr rewardedAdPreloader, string preloadId);
361365

362366
[DllImport("__Internal")]
363367
internal static extern IntPtr GADURewardedAdPreloaderGetConfiguration(
364-
IntPtr rewardedAdPreloaderClient, string preloadId);
368+
IntPtr rewardedAdPreloader, string preloadId);
365369

366370
[DllImport("__Internal")]
367371
internal static extern IntPtr GADURewardedAdPreloaderGetConfigurations(
368-
IntPtr rewardedAdPreloaderClient);
372+
IntPtr rewardedAdPreloader);
369373

370374
[DllImport("__Internal")]
371-
internal static extern bool GADURewardedAdPreloaderDestroy(IntPtr rewardedAdPreloaderClient,
372-
string preloadId);
375+
internal static extern bool GADURewardedAdPreloaderDestroy(IntPtr rewardedAdPreloader,
376+
string preloadId);
373377

374378
[DllImport("__Internal")]
375-
internal static extern void GADURewardedAdPreloaderDestroyAll(
376-
IntPtr rewardedAdPreloaderClient);
377-
378-
[DllImport("__Internal")]
379-
internal static extern void GADUSetRewardedAdPreloaderCallbacks(
380-
IntPtr appOpenAdPreloader,
381-
RewardedAdPreloaderClient.GADUAdAvailableForPreloadIdCallback adPreloadedCallback,
382-
RewardedAdPreloaderClient.GADUAdFailedToPreloadForPreloadIdCallback
383-
adFailedToPreloadCallback,
384-
RewardedAdPreloaderClient.GADUAdsExhaustedForPreloadIdCallback adsExhaustedCallback);
379+
internal static extern void GADURewardedAdPreloaderDestroyAll(IntPtr rewardedAdPreloader);
385380

386381
#endregion
387382

source/plugin/Assets/GoogleMobileAds/Platforms/iOS/RewardedAdPreloaderClient.cs

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,10 @@ public RewardedAdPreloaderClient()
6262
{
6363
_rewardedAdPreloaderClientPtr = (IntPtr)GCHandle.Alloc(this);
6464
RewardedAdPreloaderPtr = Externs.GADUCreateRewardedAdPreloader(
65-
_rewardedAdPreloaderClientPtr);
66-
67-
Externs.GADUSetRewardedAdPreloaderCallbacks(
68-
RewardedAdPreloaderPtr,
69-
AdAvailableForPreloadIdCallback,
70-
AdFailedToPreloadForPreloadIdCallback,
71-
AdsExhaustedForPreloadIdCallback);
65+
_rewardedAdPreloaderClientPtr,
66+
AdAvailableForPreloadIdCallback,
67+
AdFailedToPreloadForPreloadIdCallback,
68+
AdsExhaustedForPreloadIdCallback);
7269
}
7370

7471
public bool Preload(string preloadId, PreloadConfiguration preloadConfiguration,
@@ -91,17 +88,29 @@ public bool Preload(string preloadId, PreloadConfiguration preloadConfiguration,
9188
{
9289
preloadConfigurationClient.Request = preloadConfiguration.Request;
9390
}
91+
if (RewardedAdPreloaderPtr == IntPtr.Zero)
92+
{
93+
return false;
94+
}
9495
return Externs.GADURewardedAdPreloaderPreload(RewardedAdPreloaderPtr, preloadId,
9596
preloadConfigRef);
9697
}
9798

9899
public bool IsAdAvailable(string preloadId)
99100
{
101+
if (RewardedAdPreloaderPtr == IntPtr.Zero)
102+
{
103+
return false;
104+
}
100105
return Externs.GADURewardedAdPreloaderIsAdAvailable(RewardedAdPreloaderPtr, preloadId);
101106
}
102107

103108
public IRewardedAdClient DequeueAd(string preloadId)
104109
{
110+
if (RewardedAdPreloaderPtr == IntPtr.Zero)
111+
{
112+
return null;
113+
}
105114
var rewardedAdClient = new RewardedAdClient();
106115
var rewardedAdClientPtr = (IntPtr)GCHandle.Alloc(rewardedAdClient);
107116
var rewardedAd = Externs.GADURewardedAdPreloaderGetPreloadedAd(RewardedAdPreloaderPtr,
@@ -114,12 +123,20 @@ public IRewardedAdClient DequeueAd(string preloadId)
114123

115124
public int GetNumAdsAvailable(string preloadId)
116125
{
126+
if (RewardedAdPreloaderPtr == IntPtr.Zero)
127+
{
128+
return 0;
129+
}
117130
return Externs.GADURewardedAdPreloaderGetNumAdsAvailable(RewardedAdPreloaderPtr,
118131
preloadId);
119132
}
120133

121134
public PreloadConfiguration GetConfiguration(string preloadId)
122135
{
136+
if (RewardedAdPreloaderPtr == IntPtr.Zero)
137+
{
138+
return null;
139+
}
123140
var config = Externs.GADURewardedAdPreloaderGetConfiguration(RewardedAdPreloaderPtr,
124141
preloadId);
125142
if (config == IntPtr.Zero)
@@ -140,6 +157,10 @@ public PreloadConfiguration GetConfiguration(string preloadId)
140157
public Dictionary<string, PreloadConfiguration> GetConfigurations()
141158
{
142159
var configurations = new Dictionary<string, PreloadConfiguration>();
160+
if (RewardedAdPreloaderPtr == IntPtr.Zero)
161+
{
162+
return configurations;
163+
}
143164
var configurationsPtr = Externs.GADURewardedAdPreloaderGetConfigurations(
144165
RewardedAdPreloaderPtr);
145166
// Marshall the Dictionary from configurationsPtr
@@ -162,11 +183,19 @@ public Dictionary<string, PreloadConfiguration> GetConfigurations()
162183

163184
public void Destroy(string preloadId)
164185
{
186+
if (RewardedAdPreloaderPtr == IntPtr.Zero)
187+
{
188+
return;
189+
}
165190
Externs.GADURewardedAdPreloaderDestroy(RewardedAdPreloaderPtr, preloadId);
166191
}
167192

168193
public void DestroyAll()
169194
{
195+
if (RewardedAdPreloaderPtr == IntPtr.Zero)
196+
{
197+
return;
198+
}
170199
Externs.GADURewardedAdPreloaderDestroyAll(RewardedAdPreloaderPtr);
171200
}
172201

0 commit comments

Comments
 (0)