AppDelegate.m 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*
  2. * Copyright 2017 Google
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. #import "AppDelegate.h"
  17. #import <FirebaseInAppMessaging/FIRIAMClearcutUploader.h>
  18. #import <FirebaseInAppMessaging/FIRIAMRuntimeManager.h>
  19. #import <FirebaseInAppMessaging/FIRInAppMessaging+Bootstrap.h>
  20. #import <FirebaseInAppMessaging/NSString+FIRInterlaceStrings.h>
  21. #import <FirebaseCore/FirebaseCore.h>
  22. @interface FIRInAppMessaging (Testing)
  23. + (void)disableAutoBootstrapWithFIRApp;
  24. @end
  25. @implementation AppDelegate
  26. - (BOOL)application:(UIApplication *)application
  27. didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  28. // Override point for customization after application launch.
  29. NSLog(@"application started");
  30. [FIRInAppMessaging disableAutoBootstrapWithFIRApp];
  31. [FIRApp configure];
  32. FIRIAMSDKSettings *sdkSetting = [[FIRIAMSDKSettings alloc] init];
  33. sdkSetting.apiServerHost = @"firebaseinappmessaging.googleapis.com";
  34. NSString *serverHostNameFirstComponent = @"pa.ogepscm";
  35. NSString *serverHostNameSecondComponent = @"lygolai.o";
  36. sdkSetting.clearcutServerHost = [NSString fir_interlaceString:serverHostNameFirstComponent
  37. withString:serverHostNameSecondComponent];
  38. sdkSetting.apiHttpProtocol = @"https";
  39. sdkSetting.fetchMinIntervalInMinutes = 0.1; // ok to refetch every 6 seconds
  40. sdkSetting.loggerMaxCountBeforeReduce = 800;
  41. sdkSetting.loggerSizeAfterReduce = 600;
  42. sdkSetting.appFGRenderMinIntervalInMinutes = 0.1;
  43. sdkSetting.loggerInVerboseMode = YES;
  44. sdkSetting.firebaseAutoDataCollectionEnabled = NO;
  45. sdkSetting.clearcutStrategy =
  46. [[FIRIAMClearcutStrategy alloc] initWithMinWaitTimeInMills:5 * 1000 // 5 seconds
  47. maxWaitTimeInMills:30 * 1000 // 30 seconds
  48. failureBackoffTimeInMills:60 * 1000 // 60 seconds
  49. batchSendSize:50];
  50. [FIRInAppMessaging bootstrapIAMWithSettings:sdkSetting];
  51. return YES;
  52. }
  53. @end