Proyectos de Subversion Iphone Microlearning

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
// Copyright 2019 Google
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//      http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
 
15
#import "FirebaseABTesting/Sources/Public/FirebaseABTesting/FIRLifecycleEvents.h"
16
 
17
#import "FirebaseABTesting/Sources/Public/FirebaseABTesting/FIRExperimentController.h"
18
 
19
/// Default name of the analytics event to be logged when an experiment is set.
20
NSString *const FIRSetExperimentEventName = @"_exp_set";
21
/// Default name of the analytics event to be logged when an experiment is activated.
22
NSString *const FIRActivateExperimentEventName = @"_exp_activate";
23
/// Default name of the analytics event to be logged when an experiment is cleared.
24
NSString *const FIRClearExperimentEventName = @"_exp_clear";
25
/// Default name of the analytics event to be logged when an experiment times out for being
26
/// activated.
27
NSString *const FIRTimeoutExperimentEventName = @"_exp_timeout";
28
/// Default name of the analytics event to be logged when an experiment is expired as it reaches the
29
/// end of TTL.
30
NSString *const FIRExpireExperimentEventName = @"_exp_expire";
31
/// Prefix for lifecycle event names.
32
static NSString *const kLifecycleEventPrefix = @"_";
33
 
34
@implementation FIRLifecycleEvents
35
- (instancetype)init {
36
  self = [super init];
37
  if (self) {
38
    _setExperimentEventName = FIRSetExperimentEventName;
39
    _activateExperimentEventName = FIRActivateExperimentEventName;
40
    _clearExperimentEventName = FIRClearExperimentEventName;
41
    _timeoutExperimentEventName = FIRTimeoutExperimentEventName;
42
    _expireExperimentEventName = FIRExpireExperimentEventName;
43
  }
44
  return self;
45
}
46
 
47
- (void)setSetExperimentEventName:(NSString *)setExperimentEventName {
48
  if (setExperimentEventName && [setExperimentEventName hasPrefix:kLifecycleEventPrefix]) {
49
    _setExperimentEventName = setExperimentEventName;
50
  } else {
51
    _setExperimentEventName = FIRSetExperimentEventName;
52
  }
53
}
54
 
55
- (void)setActivateExperimentEventName:(NSString *)activateExperimentEventName {
56
  if (activateExperimentEventName &&
57
      [activateExperimentEventName hasPrefix:kLifecycleEventPrefix]) {
58
    _activateExperimentEventName = activateExperimentEventName;
59
  } else {
60
    _activateExperimentEventName = FIRActivateExperimentEventName;
61
  }
62
}
63
 
64
- (void)setClearExperimentEventName:(NSString *)clearExperimentEventName {
65
  if (clearExperimentEventName && [clearExperimentEventName hasPrefix:kLifecycleEventPrefix]) {
66
    _clearExperimentEventName = clearExperimentEventName;
67
  } else {
68
    _clearExperimentEventName = FIRClearExperimentEventName;
69
  }
70
}
71
 
72
- (void)setTimeoutExperimentEventName:(NSString *)timeoutExperimentEventName {
73
  if (timeoutExperimentEventName && [timeoutExperimentEventName hasPrefix:kLifecycleEventPrefix]) {
74
    _timeoutExperimentEventName = timeoutExperimentEventName;
75
  } else {
76
    _timeoutExperimentEventName = FIRTimeoutExperimentEventName;
77
  }
78
}
79
 
80
- (void)setExpireExperimentEventName:(NSString *)expireExperimentEventName {
81
  if (expireExperimentEventName && [_timeoutExperimentEventName hasPrefix:kLifecycleEventPrefix]) {
82
    _expireExperimentEventName = expireExperimentEventName;
83
  } else {
84
    _expireExperimentEventName = FIRExpireExperimentEventName;
85
  }
86
}
87
 
88
@end