Exemple #1
0
        public static Dictionary <string, object> ToDictionary(IOSNativeBranch.BranchLinkProperties linkProperties)
        {
            if (linkProperties == null)
            {
                return(new Dictionary <string, object> ());
            }

            NSString[] keys = new NSString[] {
                (NSString)"~tags",
                (NSString)"~feature",
                (NSString)"~alias",
                (NSString)"~channel",
                (NSString)"~stage",
                (NSString)"~duration",
                (NSString)"control_params"
            };

            NSObject[] values = new NSObject[] {
                NSObject.FromObject(linkProperties.Tags != null ? NSArray.FromNSObjects(linkProperties.Tags) : null as object),
                NSObject.FromObject(linkProperties.Feature != null ? linkProperties.Feature : "" as object),
                NSObject.FromObject(linkProperties.Alias != null ? linkProperties.Alias : "" as object),
                NSObject.FromObject(linkProperties.Channel != null ? linkProperties.Channel : "" as object),
                NSObject.FromObject(linkProperties.Stage != null ? linkProperties.Stage : "" as object),
                NSObject.FromObject(linkProperties.MatchDuration.ToString() as object),
                NSObject.FromObject(linkProperties.ControlParams != null ? linkProperties.ControlParams : "" as object)
            };

            NSDictionary dict = NSDictionary.FromObjectsAndKeys(values, keys);

            return(ToDictionary(dict));
        }
Exemple #2
0
        public override void ShareLink(IBranchLinkShareInterface callback,
                                       BranchUniversalObject universalObject,
                                       BranchLinkProperties linkProperties,
                                       string message)
        {
            IOSNativeBranch.BranchUniversalObject buo = BranchIOSUtils.ToNativeUniversalObject(universalObject);
            IOSNativeBranch.BranchLinkProperties  blp = BranchIOSUtils.ToNativeLinkProperties(linkProperties);
            UIKit.UIWindow window = UIKit.UIApplication.SharedApplication.KeyWindow;

            buo.ShowShareSheetWithLinkProperties(blp, message, window.RootViewController, delegate(string url, bool isShared) {});
        }
Exemple #3
0
        public override void GetShortURL(IBranchUrlInterface callback,
                                         BranchUniversalObject universalObject,
                                         BranchLinkProperties linkProperties)
        {
            BranchUrlListener obj = new BranchUrlListener(callback);

            callbacksList.Add(obj as Object);

            IOSNativeBranch.BranchUniversalObject buo = BranchIOSUtils.ToNativeUniversalObject(universalObject);
            IOSNativeBranch.BranchLinkProperties  blp = BranchIOSUtils.ToNativeLinkProperties(linkProperties);

            buo.GetShortUrlWithLinkProperties(blp, obj.GetShortUrlCallback);
        }
Exemple #4
0
        public void InitCallback(IOSNativeBranch.BranchUniversalObject buo,
                                 IOSNativeBranch.BranchLinkProperties blp,
                                 NSError error)
        {
            if (callback == null)
            {
                return;
            }

            if (error == null)
            {
                callback.InitSessionComplete(new BranchUniversalObject(BranchIOSUtils.ToDictionary(buo)),
                                             new BranchLinkProperties(BranchIOSUtils.ToDictionary(blp)));
            }
            else
            {
                BranchError err = new BranchError(error.Description, (int)error.Code);
                callback.SessionRequestError(err);
            }
        }
Exemple #5
0
        public static IOSNativeBranch.BranchLinkProperties ToNativeLinkProperties(BranchLinkProperties obj)
        {
            var res = new IOSNativeBranch.BranchLinkProperties();

            if (obj != null)
            {
                if (obj.controlParams != null)
                {
                    foreach (String key in obj.controlParams.Keys)
                    {
                        res.AddControlParam(key, obj.controlParams [key]);
                    }
                }

                res.Tags          = ToNSObjectArray(obj.tags);
                res.Feature       = obj.feature != null ? obj.feature : "";
                res.Alias         = obj.alias != null ? obj.alias : "";
                res.Channel       = obj.channel != null ? obj.channel : "";
                res.Stage         = obj.stage != null ? obj.stage : "";
                res.MatchDuration = (nuint)obj.matchDuration;
            }

            return(res);
        }