public static void HandleContent(NSObject content, IContentsListener listener) { if (content.GetType() == typeof(NITContent)) { NITContent cont = (NITContent)content; listener.GotContentNotification(cont); } else if (content.GetType() == typeof(NITSimpleNotification)) { NITSimpleNotification cont = (NITSimpleNotification)content; listener.GotSimpleNotification(cont); } else if (content.GetType() == typeof(NITCoupon)) { NITCoupon cont = (NITCoupon)content; listener.GotCouponNotification(cont); } else if (content.GetType() == typeof(NITCustomJSON)) { NITCustomJSON cont = (NITCustomJSON)content; listener.GotCustomJSONNotification(cont); } else if (content.GetType() == typeof(NITFeedback)) { NITFeedback cont = (NITFeedback)content; listener.GotFeedbackNotification(cont); } }
public void SendEvent(XCEvent ev) { if (ev.GetPluginName() == XCFeedbackEvent.PluginName) { XCFeedbackEvent feedbackEvent = (XamarinBridge.PCL.Types.XCFeedbackEvent)ev; XCFeedbackNotification feedback = feedbackEvent.FeedbackNotification; NITFeedback nativeFeedback = new NITFeedback(); nativeFeedback = AdapterFeedback.GetNative(feedback); NITFeedbackEvent nativeFeedbackEvent = new NITFeedbackEvent(nativeFeedback, feedbackEvent.rating, feedbackEvent.comment); NITManager.DefaultManager.SendEventWithEvent(nativeFeedbackEvent, (error) => { if (error != null) { Console.WriteLine("SendEventWithEvent error ios" + error); } else { Console.WriteLine("SendEventWithEvent ios"); } }); } }
public void FromNativeToBridge() { var XKeys = new NSString[] { (NSString)"key" }; var XObj = new NSObject[] { (NSString)"value" }; NITTrackingInfo NTrack = NITTrackingInfo.TrackingInfoFromRecipeId("recid", NSDictionary <NSString, NSObject> .FromObjectsAndKeys(XObj, XKeys)); NITFeedback NFeed = new NITFeedback(); NFeed.Question = "Question?"; NFeed.NotificationMessage = "ciao"; NFeed.RecipeId = "rec-id"; NFeed.TrackingInfo = NTrack; XCFeedbackNotification XFeed = AdapterFeedback.GetCommonType(NFeed); Assert.True(XFeed.Question.Equals(NFeed.Question)); Assert.NotNull(XFeed.TrackingInfo.extras); object value = XFeed.TrackingInfo.extras["key"]; Assert.NotNull(value); Assert.True(value is string); Assert.True(XFeed.TrackingInfo.extras["key"].Equals("value")); }
public override void GotFeedback(NITFeedback Feedback, NITTrackingInfo TrackingInfo) { XCFeedbackNotification XFeedback = AdapterFeedback.GetCommonType(Feedback); if (NearPCL.GetContentManager() != null) { NearPCL.GetContentManager().GotXFeedbackNotification(XFeedback); } else { Console.WriteLine("You receive a content but you haven't registered a content manager"); } }
public static NITFeedback GetNative(XCFeedbackNotification xfeed) { NITFeedback native = new NITFeedback(); native.TrackingInfo = NITTrackingInfo.TrackingInfoFromRecipeId(xfeed.TrackingInfo.RecipeId, AdapterUtils.From(xfeed.TrackingInfo.extras)); native.NotificationMessage = xfeed.NotificationMessage; native.Question = xfeed.Question; native.ID = xfeed.Id; return(native); }
public static XCFeedbackNotification GetCommonType(NITFeedback native) { XCFeedbackNotification xfeed = new XCFeedbackNotification(); xfeed.TrackingInfo = new XCTrackingInfo(); xfeed.NotificationMessage = native.NotificationMessage; xfeed.Question = native.Question; // xfeed.RecipeId = native.RecipeId; xfeed.TrackingInfo.extras = AdapterUtils.FromNS(native.TrackingInfo.ExtrasDictionary()); xfeed.TrackingInfo.RecipeId = native.TrackingInfo.RecipeId; xfeed.Id = native.ID; return(xfeed); }
public void FromBridgeToNative() { XCTrackingInfo xtrack = new XCTrackingInfo(); xtrack.RecipeId = "recid"; xtrack.extras = new Dictionary <string, object>(); xtrack.extras.Add("key", "value"); XCFeedbackNotification XFeed = new XCFeedbackNotification(); XFeed.Question = "Question?"; XFeed.NotificationMessage = "ciao"; XFeed.RecipeId = "rec-id"; XFeed.TrackingInfo = xtrack; NITFeedback nativeFeed = AdapterFeedback.GetNative(XFeed); NSObject val = nativeFeed.TrackingInfo.ExtrasDictionary()["key"]; Assert.True(nativeFeed.Question.Equals(XFeed.Question)); }