Skip to content

Commit fd44555

Browse files
committed
add SDK Ver 6.38.0
1 parent c68a67c commit fd44555

File tree

21 files changed

+178
-46
lines changed

21 files changed

+178
-46
lines changed

FluctSDK-MediationAdapter.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Pod::Spec.new do |s|
22
s.name = "FluctSDK-MediationAdapter"
33
s.summary = "Mediation Adapter for FluctSDK ad Framework"
44
s.license = { :type => "Copyright", :text => "Copyright (c) fluct,Inc. All rights reserved." }
5-
s.version = "6.37.3"
5+
s.version = "6.38.0"
66
s.author = "fluct,Inc."
77
s.requires_arc = true
88
s.static_framework = true

FluctSDK.embeddedframework/FluctSDK.xcframework/ios-arm64_x86_64-simulator/FluctSDK.framework/_CodeSignature/CodeResources

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@
130130
</data>
131131
<key>Info.plist</key>
132132
<data>
133-
wWGoEZOVaq8DD2hlzfHhPj1lEPI=
133+
oNDWbFcqFW7ZEynDG1dj4cxvzWw=
134134
</data>
135135
<key>Modules/module.modulemap</key>
136136
<data>
Binary file not shown.

FluctSDK.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Pod::Spec.new do |s|
22
s.name = "FluctSDK"
33
s.summary = "FluctSDK ad Framework"
44
s.license = { :type => "Copyright", :text => "Copyright (c) fluct,Inc. All rights reserved." }
5-
s.version = "6.37.3"
5+
s.version = "6.38.0"
66
s.author = "fluct,Inc."
77
s.requires_arc = true
88
s.homepage = "https://fluct.jp/"

GoogleMobileAdsMediationFluct.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Pod::Spec.new do |s|
22
s.name = "GoogleMobileAdsMediationFluct"
33
s.summary = "fluct adapter used for mediation with the Google Mobile Ads SDK"
44
s.license = { :type => "Copyright", :text => "Copyright (c) fluct,Inc. All rights reserved." }
5-
s.version = "6.37.3"
5+
s.version = "6.38.0"
66
s.author = "fluct,Inc."
77
s.requires_arc = true
88
s.static_framework = true

MaxMediationAdapterFluct.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Pod::Spec.new do |s|
22
s.name = "MaxMediationAdapterFluct"
33
s.summary = "fluct adapter used for mediation with the AppLovin MAX SDK"
44
s.license = { :type => "Copyright", :text => "Copyright (c) fluct,Inc. All rights reserved." }
5-
s.version = "6.37.3"
5+
s.version = "6.38.0"
66
s.author = "fluct,Inc."
77
s.requires_arc = true
88
s.static_framework = true
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
//
2+
// ALFluctAdViewAdapter.h
3+
// MaxMediationAdapterFluct
4+
//
5+
//
6+
7+
#import "ALFluctMediationAdapter.h"
8+
#import <AppLovinSDK/AppLovinSDK.h>
9+
#import <Foundation/Foundation.h>
10+
11+
NS_ASSUME_NONNULL_BEGIN
12+
13+
@interface ALFluctAdViewAdapter : NSObject
14+
- (void)loadAdViewAdapterWithAdapter:(ALFluctMediationAdapter *)adapter
15+
parameters:(id<MAAdapterResponseParameters>)parameters
16+
adFormat:(MAAdFormat *)adFormat
17+
andNotify:(id<MAAdViewAdapterDelegate>)delegate;
18+
@end
19+
20+
NS_ASSUME_NONNULL_END
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
//
2+
// ALFluctAdViewAdapter.m
3+
// MaxMediationAdapterFluct
4+
//
5+
//
6+
7+
#import "ALFluctAdViewAdapter.h"
8+
#import "ALFluctMediationAdapterError.h"
9+
#import "ALFluctMediationAdapterParam.h"
10+
#import "ALFluctMediationAdapterUtility.h"
11+
@import FluctSDK;
12+
13+
@interface ALFluctAdViewAdapter () <FSSAdViewDelegate>
14+
@property (nonatomic, strong) FSSAdView *adView;
15+
@property (nonatomic, weak) id<MAAdViewAdapterDelegate> delegate;
16+
@property (nonatomic, weak) ALFluctMediationAdapter *parentAdapter;
17+
@end
18+
19+
@implementation ALFluctAdViewAdapter
20+
- (void)loadAdViewAdapterWithAdapter:(ALFluctMediationAdapter *)adapter
21+
parameters:(id<MAAdapterResponseParameters>)parameters
22+
adFormat:(MAAdFormat *)adFormat
23+
andNotify:(id<MAAdViewAdapterDelegate>)delegate {
24+
self.parentAdapter = adapter;
25+
if (![ALFluctMediationAdapterUtility canDeliverAds:parameters]) {
26+
[delegate didFailToLoadAdViewAdWithError:[ALFluctMediationAdapterError maxErrorFromFluctAdViewError:[NSError errorWithDomain:FSSBannerAdsSDKDomain
27+
code:FSSAdViewErrorNoAds
28+
userInfo:@{NSLocalizedDescriptionKey : @"FluctSDK dose not deliver ads to this user to comply with GDPR, CCPA"}]]];
29+
return;
30+
}
31+
ALFluctMediationAdapterParam *param = [[ALFluctMediationAdapterParam alloc] initWithParameters:parameters useCustomParameters:NO];
32+
[self.parentAdapter log:@"Loading AdView for group id: %@, unit id: %@", param.groupId, param.unitId];
33+
if (!param) {
34+
[delegate didFailToLoadAdViewAdWithError:[ALFluctMediationAdapterError maxErrorFromFluctAdViewError:[NSError errorWithDomain:FSSBannerAdsSDKDomain
35+
code:FSSAdViewErrorBadRequest
36+
userInfo:@{NSLocalizedDescriptionKey : @"FluctSDK dose not deliver ads to invalid group_id and/or unit_id"}]]];
37+
return;
38+
}
39+
self.delegate = delegate;
40+
self.adView = [[FSSAdView alloc] initWithGroupId:param.groupId
41+
unitId:param.unitId
42+
adSize:[ALFluctAdViewAdapter convertMAAdFormat:adFormat]];
43+
self.adView.delegate = self;
44+
[self.adView loadAd];
45+
}
46+
47+
+ (FSSAdSize)convertMAAdFormat:(MAAdFormat *)adFormat {
48+
FSSAdSize fssAdSize;
49+
fssAdSize.size = adFormat.size;
50+
return fssAdSize;
51+
}
52+
53+
#pragma mark - FSSAdViewDelegate
54+
55+
- (void)adViewDidStoreAd:(FSSAdView *)adView {
56+
[self.parentAdapter log:@"AdView did store for group id: %@, unit id: %@", adView.groupId, adView.unitId];
57+
[self.delegate didLoadAdForAdView:adView];
58+
__weak typeof(self) weakSelf = self;
59+
// didDisplayが呼ばれない問題の対応のためdidDisplayAdViewAdを遅延実行しています
60+
// 遅延時間が短いと正常にdidDisplayが呼ばれません
61+
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.5 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
62+
[weakSelf.delegate didDisplayAdViewAd];
63+
});
64+
}
65+
66+
- (void)adView:(FSSAdView *)adView didFailToStoreAdWithError:(NSError *)error {
67+
[self.parentAdapter log:@"AdView failed to store for group id: %@, unit id: %@, error: %@", adView.groupId, adView.unitId, error];
68+
[self.delegate didFailToLoadAdViewAdWithError:[ALFluctMediationAdapterError maxErrorFromFluctAdViewError:error]];
69+
}
70+
71+
- (void)willLeaveApplicationForAdView:(FSSAdView *)adView {
72+
[self.parentAdapter log:@"AdView will leave application for group id: %@, unit id: %@", adView.groupId, adView.unitId];
73+
[self.delegate didClickAdViewAd];
74+
}
75+
@end

MaxMediationAdapterFluct/ALFluctMediationAdapter.m

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
//
66

77
#import "ALFluctMediationAdapter.h"
8+
#import "ALFluctAdViewAdapter.h"
89
#import "ALFluctMediationAdapterError.h"
910
#import "ALFluctMediationAdapterParam.h"
1011
#import "ALFluctMediationAdapterUtility.h"
@@ -18,9 +19,8 @@ - (instancetype)initWithParentAdapter:(ALFluctMediationAdapter *)parentAdapter a
1819
@end
1920

2021
@interface ALFluctMediationAdapter ()
21-
2222
@property (nonatomic, strong) ALFluctMediationAdapterRewardedVideoAdDelegate *rewardedAdapterDelegate;
23-
23+
@property (nonatomic, strong) ALFluctAdViewAdapter *adViewAdapter;
2424
@end
2525

2626
@implementation ALFluctMediationAdapter
@@ -73,6 +73,14 @@ - (NSString *)adapterVersion {
7373

7474
- (void)destroy {
7575
self.rewardedAdapterDelegate = nil;
76+
self.adViewAdapter = nil;
77+
}
78+
79+
#pragma mark - MAAdViewAdapter
80+
81+
- (void)loadAdViewAdForParameters:(nonnull id<MAAdapterResponseParameters>)parameters adFormat:(nonnull MAAdFormat *)adFormat andNotify:(nonnull id<MAAdViewAdapterDelegate>)delegate {
82+
self.adViewAdapter = [[ALFluctAdViewAdapter alloc] init];
83+
[self.adViewAdapter loadAdViewAdapterWithAdapter:self parameters:parameters adFormat:adFormat andNotify:delegate];
7684
}
7785

7886
#pragma mark - MARewardedAdapter
@@ -81,17 +89,17 @@ - (void)loadRewardedAdForParameters:(nonnull id<MAAdapterResponseParameters>)par
8189
andNotify:(nonnull id<MARewardedAdapterDelegate>)delegate {
8290

8391
if (![ALFluctMediationAdapterUtility canDeliverAds:parameters]) {
84-
[delegate didFailToLoadRewardedAdWithError:[ALFluctMediationAdapterError maxErrorFromFluctError:[NSError errorWithDomain:FSSVideoErrorSDKDomain
85-
code:FSSVideoErrorNoAds
86-
userInfo:@{NSLocalizedDescriptionKey : @"FluctSDK dose not deliver ads to this user to comply with GDPR, CCPA"}]]];
92+
[delegate didFailToLoadRewardedAdWithError:[ALFluctMediationAdapterError maxErrorFromFluctVideoError:[NSError errorWithDomain:FSSVideoErrorSDKDomain
93+
code:FSSVideoErrorNoAds
94+
userInfo:@{NSLocalizedDescriptionKey : @"FluctSDK dose not deliver ads to this user to comply with GDPR, CCPA"}]]];
8795
return;
8896
}
89-
ALFluctMediationAdapterParam *param = [[ALFluctMediationAdapterParam alloc] initWithParameters:parameters];
97+
ALFluctMediationAdapterParam *param = [[ALFluctMediationAdapterParam alloc] initWithParameters:parameters useCustomParameters:YES];
9098
[self log:@"Loading rewarded ad for group id: %@, unit id: %@", param.groupId, param.unitId];
9199
if (!param) {
92-
[delegate didFailToLoadRewardedAdWithError:[ALFluctMediationAdapterError maxErrorFromFluctError:[NSError errorWithDomain:FSSVideoErrorSDKDomain
93-
code:FSSVideoErrorBadRequest
94-
userInfo:@{NSLocalizedDescriptionKey : @"FluctSDK dose not deliver ads to invalid group_id and/or unit_id"}]]];
100+
[delegate didFailToLoadRewardedAdWithError:[ALFluctMediationAdapterError maxErrorFromFluctVideoError:[NSError errorWithDomain:FSSVideoErrorSDKDomain
101+
code:FSSVideoErrorBadRequest
102+
userInfo:@{NSLocalizedDescriptionKey : @"FluctSDK dose not deliver ads to invalid group_id and/or unit_id"}]]];
95103
return;
96104
}
97105

@@ -111,7 +119,7 @@ - (void)loadRewardedAdForParameters:(nonnull id<MAAdapterResponseParameters>)par
111119

112120
- (void)showRewardedAdForParameters:(nonnull id<MAAdapterResponseParameters>)parameters
113121
andNotify:(nonnull id<MARewardedAdapterDelegate>)delegate {
114-
ALFluctMediationAdapterParam *param = [[ALFluctMediationAdapterParam alloc] initWithParameters:parameters];
122+
ALFluctMediationAdapterParam *param = [[ALFluctMediationAdapterParam alloc] initWithParameters:parameters useCustomParameters:YES];
115123

116124
[self log:@"Showing rewarded ad for group id: %@, unit id: %@", param.groupId, param.unitId];
117125

@@ -151,7 +159,7 @@ - (void)rewardedVideoDidFailToLoadForGroupId:(NSString *)groupId
151159
unitId:(NSString *)unitId
152160
error:(NSError *)error {
153161
[self.parentAdapter log:@"Rewarded ad failed to load for group id: %@, unit id: %@, error: %@", groupId, unitId, error];
154-
[self.delegate didFailToLoadRewardedAdWithError:[ALFluctMediationAdapterError maxErrorFromFluctError:error]];
162+
[self.delegate didFailToLoadRewardedAdWithError:[ALFluctMediationAdapterError maxErrorFromFluctVideoError:error]];
155163
}
156164

157165
- (void)rewardedVideoWillAppearForGroupId:(NSString *)groupId
@@ -183,7 +191,7 @@ - (void)rewardedVideoDidFailToPlayForGroupId:(NSString *)groupId
183191
unitId:(NSString *)unitId
184192
error:(NSError *)error {
185193
[self.parentAdapter log:@"Rewarded ad failed to play for group id: %@, unit id: %@, error: %@", groupId, unitId, error];
186-
[self.delegate didFailToDisplayRewardedAdWithError:[ALFluctMediationAdapterError maxErrorFromFluctError:error]];
194+
[self.delegate didFailToDisplayRewardedAdWithError:[ALFluctMediationAdapterError maxErrorFromFluctVideoError:error]];
187195
}
188196

189197
@end

MaxMediationAdapterFluct/ALFluctMediationAdapterError.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ NS_ASSUME_NONNULL_BEGIN
1111

1212
@interface ALFluctMediationAdapterError : NSObject
1313

14-
+ (MAAdapterError *)maxErrorFromFluctError:(NSError *)error;
14+
+ (MAAdapterError *)maxErrorFromFluctVideoError:(NSError *)error;
15+
+ (MAAdapterError *)maxErrorFromFluctAdViewError:(NSError *)error;
1516

1617
@end
1718

MaxMediationAdapterFluct/ALFluctMediationAdapterError.m

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,35 @@
99

1010
@implementation ALFluctMediationAdapterError
1111

12-
+ (MAAdapterError *)maxErrorFromFluctError:(NSError *)error {
12+
+ (MAAdapterError *)maxErrorFromFluctAdViewError:(NSError *)error {
13+
14+
NSInteger fluctErrorCode = error.code;
15+
MAAdapterError *adapterError = MAAdapterError.unspecified;
16+
switch (fluctErrorCode) {
17+
case FSSAdViewErrorNoAds:
18+
adapterError = MAAdapterError.noFill;
19+
break;
20+
case FSSAdViewErrorBadRequest:
21+
adapterError = MAAdapterError.badRequest;
22+
break;
23+
case FSSAdViewErrorNotConnectedToInternet:
24+
adapterError = MAAdapterError.noConnection;
25+
break;
26+
case FSSAdViewErrorServerError:
27+
adapterError = MAAdapterError.serverError;
28+
break;
29+
case FSSAdViewErrorUnknown:
30+
default:
31+
adapterError = MAAdapterError.unspecified;
32+
break;
33+
}
34+
35+
return [MAAdapterError errorWithAdapterError:adapterError
36+
mediatedNetworkErrorCode:fluctErrorCode
37+
mediatedNetworkErrorMessage:error.localizedDescription];
38+
}
39+
40+
+ (MAAdapterError *)maxErrorFromFluctVideoError:(NSError *)error {
1341

1442
NSInteger fluctErrorCode = error.code;
1543
MAAdapterError *adapterError = MAAdapterError.unspecified;

MaxMediationAdapterFluct/ALFluctMediationAdapterParam.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
NS_ASSUME_NONNULL_BEGIN
1111

1212
@interface ALFluctMediationAdapterParam : NSObject
13-
- (instancetype)initWithParameters:(nonnull id<MAAdapterResponseParameters>)params;
13+
- (instancetype)initWithParameters:(nonnull id<MAAdapterResponseParameters>)parameters useCustomParameters:(BOOL)useCustomParameters;
1414
@property (nonatomic, readonly, copy) NSString *groupId;
1515
@property (nonatomic, readonly, copy) NSString *unitId;
1616
@end

MaxMediationAdapterFluct/ALFluctMediationAdapterParam.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
static NSString *const kUnitId = @"unitID";
1111

1212
@implementation ALFluctMediationAdapterParam
13-
- (instancetype)initWithParameters:(nonnull id<MAAdapterResponseParameters>)parameters {
13+
- (instancetype)initWithParameters:(nonnull id<MAAdapterResponseParameters>)parameters useCustomParameters:(BOOL)useCustomParameters {
1414
self = [super init];
1515
if (self) {
16-
if ([parameters.customParameters objectForKey:kGroupId] && [parameters.customParameters objectForKey:kUnitId]) {
16+
if ([parameters.customParameters objectForKey:kGroupId] && [parameters.customParameters objectForKey:kUnitId] && useCustomParameters) {
1717
_groupId = parameters.customParameters[kGroupId];
1818
_unitId = parameters.customParameters[kUnitId];
1919
}

SampleApp/Objective-C/Podfile.lock

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,30 +35,30 @@ PODS:
3535
- BURelyFoundation_Global/Zip (1.0.0.6):
3636
- BURelyFoundation_Global/Foundation
3737
- FiveAd (2.8.20240827)
38-
- FluctSDK (6.37.3)
39-
- FluctSDK-MediationAdapter/AppLovin (6.37.3):
38+
- FluctSDK (6.38.0)
39+
- FluctSDK-MediationAdapter/AppLovin (6.38.0):
4040
- AppLovinSDK (= 13.0.0)
4141
- FluctSDK (>= 6.14.0)
42-
- FluctSDK-MediationAdapter/Five (6.37.3):
42+
- FluctSDK-MediationAdapter/Five (6.38.0):
4343
- FiveAd (= 2.8.20240827)
4444
- FluctSDK (>= 6.14.0)
45-
- FluctSDK-MediationAdapter/maio (6.37.3):
45+
- FluctSDK-MediationAdapter/maio (6.38.0):
4646
- FluctSDK (>= 6.14.0)
4747
- MaioSDK-v2 (= 2.1.5)
48-
- FluctSDK-MediationAdapter/Pangle (6.37.3):
48+
- FluctSDK-MediationAdapter/Pangle (6.38.0):
4949
- Ads-Global (= 6.2.0.9)
5050
- FluctSDK (>= 6.14.0)
51-
- FluctSDK-MediationAdapter/UnityAds (6.37.3):
51+
- FluctSDK-MediationAdapter/UnityAds (6.38.0):
5252
- FluctSDK (>= 6.14.0)
5353
- UnityAds (= 4.12.1)
5454
- Google-Mobile-Ads-SDK (11.1.0):
5555
- GoogleUserMessagingPlatform (>= 1.1)
56-
- GoogleMobileAdsMediationFluct (6.37.3):
56+
- GoogleMobileAdsMediationFluct (6.38.0):
5757
- FluctSDK (>= 6.12.1)
5858
- Google-Mobile-Ads-SDK (>= 9.8.0)
5959
- GoogleUserMessagingPlatform (2.2.0)
6060
- MaioSDK-v2 (2.1.5)
61-
- MaxMediationAdapterFluct (6.37.3):
61+
- MaxMediationAdapterFluct (6.38.0):
6262
- AppLovinSDK (>= 13.0.0)
6363
- FluctSDK (>= 6.19.0)
6464
- UnityAds (4.12.1)
@@ -101,13 +101,13 @@ SPEC CHECKSUMS:
101101
AppLovinSDK: c0ecb434df24008b6ecdd7f1e5b8587bc45ff381
102102
BURelyFoundation_Global: 17faee76affe097bd20b422fe829f9f90ed10e25
103103
FiveAd: 1d6b833138351af2fb2248897eac71531c21cfd6
104-
FluctSDK: 609211d57ad1fc8f5eadaf6feb8208945575fefc
105-
FluctSDK-MediationAdapter: ab483e430b04863f7cf1008008ccfc815488eac7
104+
FluctSDK: 7b433525e5a0413a320f7dc336d01c0728a8e032
105+
FluctSDK-MediationAdapter: 566687c025da95e30d514bc68d8a8a5bd3d6bbf1
106106
Google-Mobile-Ads-SDK: 4a1f2ccef63660f9a74efc6a6ea979483d421aaa
107-
GoogleMobileAdsMediationFluct: 525ae1b283b69b1c27f9ae19abb25c4092158ce8
107+
GoogleMobileAdsMediationFluct: 9cec35f404a1be6367b521b4867c3813e17a610b
108108
GoogleUserMessagingPlatform: d31dbfb40ec02c5d9683029815c5d5a7f46389ee
109109
MaioSDK-v2: 548968f22aa62f4955780d24f197eb205148082c
110-
MaxMediationAdapterFluct: da9011e2f52da9989b8daa5bf769f3c1ef05b0b5
110+
MaxMediationAdapterFluct: b8c63219ad963eaf07455cd9bbe71777fefba54c
111111
UnityAds: f89ac1e717f5d566a58479a5b7cb9ed3a744cae3
112112

113113
PODFILE CHECKSUM: c61ebc569a4f7d73340bd85750e2a46f96f9084c

0 commit comments

Comments
 (0)