GADURequest.m 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. // Copyright 2014 Google Inc. All Rights Reserved.
  2. #import "GADURequest.h"
  3. @implementation GADURequest
  4. - (id)init {
  5. self = [super init];
  6. if (self) {
  7. _testDevices = [[NSMutableArray alloc] init];
  8. _keywords = [[NSMutableArray alloc] init];
  9. _extras = [[NSMutableDictionary alloc] init];
  10. _mediationExtras = [[NSMutableArray alloc] init];
  11. }
  12. return self;
  13. }
  14. - (void)addTestDevice:(NSString *)deviceID {
  15. if ([deviceID isEqualToString:@"SIMULATOR"]) {
  16. [self.testDevices addObject:kGADSimulatorID];
  17. } else {
  18. [self.testDevices addObject:deviceID];
  19. }
  20. }
  21. - (void)addKeyword:(NSString *)keyword {
  22. [self.keywords addObject:keyword];
  23. }
  24. - (void)setBirthdayWithMonth:(NSInteger)month day:(NSInteger)day year:(NSInteger)year {
  25. NSDateComponents *components = [[NSDateComponents alloc] init];
  26. components.month = month;
  27. components.day = day;
  28. components.year = year;
  29. NSCalendar *gregorian =
  30. [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
  31. self.birthday = [gregorian dateFromComponents:components];
  32. }
  33. - (void)setGenderWithCode:(GADUGender)gender {
  34. switch (gender) {
  35. case kGADUGenderMale:
  36. self.gender = kGADGenderMale;
  37. break;
  38. case kGADUGenderFemale:
  39. self.gender = kGADGenderFemale;
  40. break;
  41. default:
  42. self.gender = kGADGenderUnknown;
  43. }
  44. }
  45. - (void)setExtraWithKey:(NSString *)key value:(NSString *)value {
  46. [self.extras setValue:value forKey:key];
  47. }
  48. - (void)setMediationExtras:(id<GADAdNetworkExtras>)mediationExtras {
  49. [_mediationExtras addObject:mediationExtras];
  50. }
  51. - (GADRequest *)request {
  52. GADRequest *request = [GADRequest request];
  53. request.testDevices = self.testDevices;
  54. request.keywords = self.keywords;
  55. request.birthday = self.birthday;
  56. request.gender = self.gender;
  57. request.requestAgent = self.requestAgent;
  58. [request tagForChildDirectedTreatment:self.tagForChildDirectedTreatment];
  59. GADExtras *extras = [[GADExtras alloc] init];
  60. extras.additionalParameters = self.extras;
  61. [request registerAdNetworkExtras:extras];
  62. for (id<GADAdNetworkExtras> mediationExtras in self.mediationExtras) {
  63. [request registerAdNetworkExtras:mediationExtras];
  64. }
  65. return request;
  66. }
  67. @end