public override void OnOSPermissionChanged(OneSignaliOS.OSPermissionStateChanges permissionStateChanges) { NotificationPermission from = NativeConversion.PermissionStateToXam(permissionStateChanges.From); NotificationPermission to = NativeConversion.PermissionStateToXam(permissionStateChanges.To); _instance.NotificationPermissionChanged?.Invoke(to, from); }
public override void OnOSEmailSubscriptionChanged(OneSignaliOS.OSEmailSubscriptionStateChanges stateChanges) { EmailSubscriptionState from = NativeConversion.EmailSubscriptionStateToXam(stateChanges.From); EmailSubscriptionState to = NativeConversion.EmailSubscriptionStateToXam(stateChanges.To); _instance.EmailSubscriptionStateChanged?.Invoke(to, from); }
public OneSignalImplementation() { if (_instance != null) { Debug.WriteLine("Additional instance of OneSignalIOS created."); } OneSignalNative.AddPermissionObserver(new OSPermissionObserver()); OneSignalNative.AddSubscriptionObserver(new OSSubscriptionObserver()); OneSignalNative.AddEmailSubscriptionObserver(new OSEmailSubscriptionObserver()); OneSignalNative.AddSMSSubscriptionObserver(new OSSMSSubscriptionObserver()); OneSignalNative.SetNotificationWillShowInForegroundHandler( delegate(OneSignaliOS.OSNotification nativeNotification, OneSignaliOS.OSNotificationDisplayResponse response) { if (_instance.NotificationWillShow == null) { response.Invoke(nativeNotification); return; } Notification notification = NativeConversion.NotificationToXam(nativeNotification); Notification resultNotif = _instance.NotificationWillShow(notification); // OneSignal-iOS-SDK doesn't support modifications to notifications, // null is used to prevent showing. response.Invoke(resultNotif != null ? nativeNotification : null); } ); OneSignalNative.SetNotificationOpenedHandler(new OneSignaliOS.OSNotificationOpenedBlock( result => new OSNotificationOpenedHandler().NotificationOpened(result))); OneSignalNative.SetInAppMessageClickHandler(new OneSignaliOS.OSInAppMessageClickBlock((OneSignaliOS.OSInAppMessageAction arg0) => new OSInAppMessageClickHandler().InAppMessageClicked(arg0))); OneSignalNative.SetInAppMessageLifecycleHandler(new OSInAppMessageLifeCycleHandler()); _instance = this; }
public override void OnDidDismissInAppMessage(OneSignaliOS.OSInAppMessage message) { _instance.InAppMessageDidDismiss?.Invoke(NativeConversion.InAppMessageToXam(message)); }
public override void OnWillDisplayInAppMessage(OneSignaliOS.OSInAppMessage message) { _instance.InAppMessageWillDisplay?.Invoke(NativeConversion.InAppMessageToXam(message)); }
public void InAppMessageClicked(OneSignaliOS.OSInAppMessageAction inAppMessageAction) { _instance.InAppMessageTriggeredAction?.Invoke(NativeConversion.InAppMessageActionToXam(inAppMessageAction)); }
public void NotificationOpened(OneSignaliOS.OSNotificationOpenedResult notificationOpenedResult) { _instance.NotificationOpened?.Invoke(NativeConversion.NotificationOpenedResultToXam(notificationOpenedResult)); }