Welcome to mirror list, hosted at ThFree Co, Russian Federation.

main.mm « Maps « iphone - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: cd72cd2f2449f0a82a3c92a55f474711711a403d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#import <MyTrackerSDK/MRMyTracker.h>
#import <Pushwoosh/PushNotificationManager.h>
#import "Common.h"
#import "MapsAppDelegate.h"

#ifdef OMIM_PRODUCTION
# include "fabric_logging.hpp"
#endif

#include "platform/file_logging.hpp"
#include "platform/platform.hpp"
#include "platform/settings.hpp"

void setPushWooshSender()
{
  GetPlatform().SetPushWooshSender([](string const & tag, vector<string> const & values) {
    if (values.empty() || tag.empty())
      return;
    PushNotificationManager * pushManager = [PushNotificationManager pushManager];
    if (values.size() == 1)
    {
      [pushManager setTags:@{ @(tag.c_str()) : @(values.front().c_str()) }];
    }
    else
    {
      NSMutableArray<NSString *> * tags = [@[] mutableCopy];
      for (auto const & value : values)
        [tags addObject:@(value.c_str())];
      [pushManager setTags:@{ @(tag.c_str()) : tags }];
    }
  });
}

void setMarketingSender()
{
  GetPlatform().SetMarketingSender([](string const & tag, map<string, string> const & params) {
    if (tag.empty())
      return;
    NSMutableDictionary<NSString *, NSString *> * eventParams = [@{} mutableCopy];
    NSMutableString * myTrackerEvent = [@(tag.c_str()) mutableCopy];
    for (auto const & param : params)
    {
      NSString * key = @(param.first.c_str());
      NSString * value = @(param.second.c_str());
      eventParams[key] = value;
      [myTrackerEvent appendString:[NSString stringWithFormat:@"_%@_%@", key, value]];
    }
    [MRMyTracker trackEvent:myTrackerEvent eventParams:nil];
  });
}

int main(int argc, char * argv[])
{
#ifdef MWM_LOG_TO_FILE
  my::SetLogMessageFn(LogMessageFile);
#elif OMIM_PRODUCTION
  my::SetLogMessageFn(platform::LogMessageFabric);
#endif
  auto & p = GetPlatform();
  LOG(LINFO, ("maps.me started, detected CPU cores:", p.CpuCores()));

  setPushWooshSender();
  setMarketingSender();

  int retVal;
  @autoreleasepool
  {
    retVal = UIApplicationMain(argc, argv, nil, NSStringFromClass([MapsAppDelegate class]));
  }
  return retVal;
}