FIRIAMSDKSettings.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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 <Foundation/Foundation.h>
  17. @class FIRIAMClearcutStrategy;
  18. NS_ASSUME_NONNULL_BEGIN
  19. @interface FIRIAMSDKSettings : NSObject
  20. // settings related to communicating with in-app messaging server
  21. @property(nonatomic, copy) NSString *firebaseProjectNumber;
  22. @property(nonatomic, copy) NSString *firebaseAppId;
  23. @property(nonatomic, copy) NSString *apiKey;
  24. @property(nonatomic, copy) NSString *apiServerHost;
  25. @property(nonatomic, copy) NSString *apiHttpProtocol; // http or https. It should be always
  26. // https on production. Allow http to
  27. // faciliate testing in non-prod environment
  28. @property(nonatomic) NSTimeInterval fetchMinIntervalInMinutes;
  29. // settings related to activity logger
  30. @property(nonatomic) NSInteger loggerMaxCountBeforeReduce;
  31. @property(nonatomic) NSInteger loggerSizeAfterReduce;
  32. @property(nonatomic) BOOL loggerInVerboseMode;
  33. // settings for controlling rendering frequency for messages rendered from app foreground triggers
  34. @property(nonatomic) NSTimeInterval appFGRenderMinIntervalInMinutes;
  35. // host name for clearcut servers
  36. @property(nonatomic, copy) NSString *clearcutServerHost;
  37. // clearcut strategy
  38. @property(nonatomic, strong) FIRIAMClearcutStrategy *clearcutStrategy;
  39. // The global flag at whole Firebase level for automatic data collection. On FIAM SDK startup,
  40. // it would be retreived from FIRApp's corresponding setting.
  41. @property(nonatomic, getter=isFirebaseAutoDataCollectionEnabled)
  42. BOOL firebaseAutoDataCollectionEnabled;
  43. - (NSString *)description;
  44. @end
  45. NS_ASSUME_NONNULL_END