コード例 #1
0
 public override void RemoveIdentityStateListener(OnUserIdentified listener)
 {
     if (listener != null)
     {
         _identityStateListeners?.Remove(listener);
     }
 }
コード例 #2
0
 public void RemoveIdentityStateListener(OnUserIdentified listener)
 {
     if (_identityStateHandlers.Remove(listener))
     {
         MParticleiOS._Identity_RemoveIdentityStateListener();
     }
 }
コード例 #3
0
 public void RemoveIdentityStateListener(OnUserIdentified listener)
 {
     if (identityStateListenerMap.ContainsKey(listener))
     {
         identityObject.Call("removeIdentityStateListener", new object[] { identityStateListenerMap[listener] });
         identityStateListenerMap.Remove(listener);
     }
 }
コード例 #4
0
 public void AddIdentityStateListener(OnUserIdentified listener)
 {
     if (!_identityStateHandlers.Contains(listener))
     {
         _identityStateHandlers.Add(listener);
         MParticleiOS._Identity_AddIdentityStateListener();
     }
 }
コード例 #5
0
        public void AddIdentityStateListener(OnUserIdentified listener)
        {
            if (identityStateListenerMap.ContainsKey(listener))
            {
                return;
            }
            var androidOnUserIdentified = new AndroidOnUserIdentified(listener);

            identityStateListenerMap.Add(listener, androidOnUserIdentified);
            identityObject.Call("addIdentityStateListener", new object[] { androidOnUserIdentified });
        }
コード例 #6
0
 public override void AddIdentityStateListener(OnUserIdentified listener)
 {
     if (listener != null)
     {
         if (_identityStateListeners == null)
         {
             NSNotificationCenter.DefaultCenter.AddObserver(new NSString("mParticleIdentityStateChangeListenerNotification"), OnUserIdentifiedCallback);
             _identityStateListeners = new List <OnUserIdentified>();
         }
         _identityStateListeners.Add(listener);
     }
 }
コード例 #7
0
        public override void RemoveIdentityStateListener(OnUserIdentified listener)
        {
            IdentityStateListenerWrapper listenerWrapper;

            if (_listenerInstanceWrapperMap.TryGetValue(listener, out listenerWrapper))
            {
                _identity.RemoveIdentityStateListener(listenerWrapper);
            }
            else
            {
                _identity.RemoveIdentityStateListener(new IdentityStateListenerWrapper(listener));
            }
        }
コード例 #8
0
        public override void AddIdentityStateListener(OnUserIdentified listener)
        {
            IdentityStateListenerWrapper listenerWrapper;

            if (_listenerInstanceWrapperMap.TryGetValue(listener, out listenerWrapper))
            {
                _identity.AddIdentityStateListener(listenerWrapper);
            }
            else
            {
                var wrappedListener = new IdentityStateListenerWrapper(listener);
                _listenerInstanceWrapperMap.Add(listener, wrappedListener);
                _identity.AddIdentityStateListener(wrappedListener);
            }
        }
コード例 #9
0
 public void RemoveIdentityStateListener(OnUserIdentified listener)
 {
     MParticle.Instance.Identity.RemoveIdentityStateListener(listener);
 }
コード例 #10
0
 public AndroidOnUserIdentified(OnUserIdentified onUserIdentifiedHandler)
     : base("com.mparticle.identity.IdentityStateListener")
 {
     this.onUserIdentifiedHandler = onUserIdentifiedHandler;
 }
コード例 #11
0
        public static void Init()
        {
            string key    = "";
            string secret = "";

#if __IOS__
            key    = "b757fcf46cba0149bcf73628d440e6a7";
            secret = "3ucgOsSxomouHiQ1ZjAFRjraJ5E4Wf007bJfO7B5qxHccRtdvdPFqE3vesg2N3Hj";
#elif __ANDROID__
            key    = "da3b3e96cc9bad469f536fd39b1fc987";
            secret = "dGV0TOQ7FsrCMjIlMe252cestFrJ6vAYiqnP3Mosbeo3d1NBgZMcDqx6wEG9OgxZ";
#endif
            OnUserIdentified _identityStateListener = null;
            _identityStateListener = newUser =>
            {
                MParticle.Instance.Identity.RemoveIdentityStateListener(_identityStateListener);
                if (newUser != null)
                {
                    Console.WriteLine("New User Identified\n" + newUser.ToString());
                    newUser.SetUserAttribute("uattr_array", new string[] { "You get an attribute", "And you get an atrribute" }.ToList().Aggregate((arg1, arg2) => arg1 + arg2 + ", "));
                    newUser.SetUserAttribute(ConstantUserAttribute, "Test Attribute Value");

                    //set User Tag
                    newUser.SetUserTag("Something Completely New");
                    ModifyUser();
                }
                else
                {
                    Console.WriteLine("New User is null!");
                    throw new Exception("User Should not be null");
                }
            };

            MParticle.Instance.Initialize(new MParticleOptions()
            {
                InstallType     = InstallType.KnownUpgrade,
                Environment     = Environment.Development,
                ApiKey          = key,
                ApiSecret       = secret,
                IdentifyRequest = new IdentityApiRequest()
                {
                    UserIdentities = new Dictionary <UserIdentity, string>()
                    {
                        //{ UserIdentity.Yahoo, "*****@*****.**" },
                        //{ UserIdentity.Google, "*****@*****.**" },
                        { UserIdentity.CustomerId, "Other Identity" }
                    },
                    UserAliasHandler = ((previousUser, newUser) => newUser.SetUserAttributes(previousUser.GetUserAttributes()))
                },
                DevicePerformanceMetricsDisabled = false,
                IdDisabled               = false,
                UploadInterval           = 650,
                SessionTimeout           = 50,
                UnCaughtExceptionLogging = false,
                LogLevel            = LogLevel.INFO,
                AttributionListener = new AttributionListener()
                {
                    OnAttributionError  = error => Console.WriteLine("AttributionError\n" + "Error Message = " + error.Message + "\nService Provider = " + error.ServiceProviderId),
                    OnAttributionResult = result => Console.WriteLine("AttributionResult\n" + "LinkUrl = " + result.LinkUrl + "\nParameters" + result.Parameters + "\nService Provider" + result.ServiceProviderId)
                },
                LocationTracking = new LocationTracking("GPS", 100, 350, 22),
                PushRegistration = new PushRegistration()
                {
                    AndroidSenderId   = "12345-abcdefg",
                    AndroidInstanceId = "andriod-secret-instance-id",
                    IOSToken          = "09876654321qwerty"
                },
                IdentityStateListener = _identityStateListener
            });
        }
コード例 #12
0
 internal static iOSBinding.OnIdentifyComplete ConvertToMpIdentifyCompleteListener(OnUserIdentified identityListener)
 {
     return(new iOSBinding.OnIdentifyComplete((request, error) =>
     {
         if (identityListener != null && request != null)
         {
             identityListener.Invoke(new MParticleUserWrapper(request.User));
         }
         else
         {
             if (error != null)
             {
                 identityListener.Invoke(null);
             }
         }
     }));
 }
コード例 #13
0
 public abstract void RemoveIdentityStateListener(OnUserIdentified listener);
コード例 #14
0
 internal IdentityStateListenerWrapper(OnUserIdentified listener)
 {
     _listener = listener;
 }