Skip to content

Commit

Permalink
feat: #46 create set_request_configuration method
Browse files Browse the repository at this point in the history
  • Loading branch information
gumaciel committed Jul 16, 2023
1 parent 1467969 commit 7de7c0f
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 1 deletion.
3 changes: 2 additions & 1 deletion PoingGodotAdMob/src/ads/PoingGodotAdMob.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,9 @@ class PoingGodotAdMob : public Object {

public:
void initialize();
void set_request_configuration(Dictionary requestConfigurationDictionary, PackedStringArray testDeviceIds);
Dictionary get_initialization_status();

void test(Dictionary dictionary);
static PoingGodotAdMob *get_singleton();

Expand Down
36 changes: 36 additions & 0 deletions PoingGodotAdMob/src/ads/PoingGodotAdMob.mm
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,41 @@
emit_signal("on_initialization_complete", dictionary);
}];
}
void PoingGodotAdMob::set_request_configuration(Dictionary requestConfigurationDictionary, PackedStringArray testDeviceIds) {
String maxAdContentRating = requestConfigurationDictionary["max_ad_content_rating"];
int tagForChildDirectedTreatment = requestConfigurationDictionary["tag_for_child_directed_treatment"];
int tagForUnderAgeOfConsent = requestConfigurationDictionary["tag_for_under_age_of_consent"];

GADRequestConfiguration *requestConfiguration = [GADMobileAds sharedInstance].requestConfiguration;

NSLog(@"MaxAdContentRating: %@", [NSString stringWithUTF8String:maxAdContentRating.utf8().get_data()]);
requestConfiguration.maxAdContentRating = [NSString stringWithUTF8String:maxAdContentRating.utf8().get_data()];
if (tagForChildDirectedTreatment == 1) {
NSLog(@"tagForChildDirectedTreatment: true");
[requestConfiguration tagForChildDirectedTreatment:true];
} else if (tagForChildDirectedTreatment == 0) {
NSLog(@"tagForChildDirectedTreatment: false");
[requestConfiguration tagForChildDirectedTreatment:false];
}

if (tagForUnderAgeOfConsent == 1){
NSLog(@"tagForUnderAgeOfConsent: true");
[requestConfiguration tagForUnderAgeOfConsent: true];
} else if (tagForUnderAgeOfConsent == 0){
NSLog(@"tagForUnderAgeOfConsent: false");
[requestConfiguration tagForUnderAgeOfConsent:false];
}

NSMutableArray<NSString *> *testDeviceIdsArray = [NSMutableArray arrayWithCapacity:testDeviceIds.size()];
for (String deviceId : testDeviceIds) {
NSLog(@"testDeviceIdsArray: %@", [NSString stringWithUTF8String:deviceId.utf8().get_data()]);
[testDeviceIdsArray addObject:[NSString stringWithUTF8String:deviceId.utf8().get_data()]];
}
NSLog(@"all ok 1");
requestConfiguration.testDeviceIdentifiers = testDeviceIdsArray;
NSLog(@"all ok 2");
}

Dictionary PoingGodotAdMob::get_initialization_status() {
return [ObjectToGodotDictionary convertGADInitializationStatusToDictionary: [GADMobileAds sharedInstance].initializationStatus];
}
Expand All @@ -57,6 +92,7 @@
ADD_SIGNAL(MethodInfo("on_initialization_complete", PropertyInfo(Variant::DICTIONARY, "initialization_status_dictionary")));

ClassDB::bind_method(D_METHOD("initialize"), &PoingGodotAdMob::initialize);
ClassDB::bind_method(D_METHOD("set_request_configuration"), &PoingGodotAdMob::set_request_configuration);
ClassDB::bind_method(D_METHOD("get_initialization_status"), &PoingGodotAdMob::get_initialization_status);
ClassDB::bind_method(D_METHOD("test"), &PoingGodotAdMob::test);
};

0 comments on commit 7de7c0f

Please sign in to comment.