public override void ViewDidLoad() { base.ViewDidLoad(); registry = new PKPushRegistry(null); registry.DesiredPushTypes = new NSSet(new string[] { PKPushType.Voip }); }
void RegisterVoip() { var mainQueue = DispatchQueue.MainQueue; PKPushRegistry voipRegistry = new PKPushRegistry(mainQueue); voipRegistry.Delegate = this; voipRegistry.DesiredPushTypes = new NSSet(new string[] { PushKit.PKPushType.Voip }); }
public void DidUpdatePushCredentials(PKPushRegistry registry, PKPushCredentials credentials, string type) { if (credentials != null && credentials.Token != null) { var fullToken = credentials.Token.ToString(); token = fullToken.Trim('<').Trim('>').Replace(" ", string.Empty); Console.WriteLine("Token is " + token); } }
public void DidReceiveIncomingPush(PKPushRegistry registry, PKPushPayload payload, string type) { Console.WriteLine("My push is coming!"); var aps = payload.DictionaryPayload.ObjectForKey(new NSString("aps")) as NSDictionary; NSString alertKey = new NSString("alert"); if (aps.ContainsKey(alertKey)) { UILocalNotification notification = new UILocalNotification(); notification.FireDate = NSDate.Now; notification.AlertBody = aps.ObjectForKey(alertKey) as NSString; notification.TimeZone = NSTimeZone.DefaultTimeZone; notification.SoundName = UILocalNotification.DefaultSoundName; notification.ApplicationIconBadgeNumber = 1; UIApplication.SharedApplication.ScheduleLocalNotification(notification); } }
public void CtorDispatchQueue() { TestRuntime.AssertSystemVersion(PlatformName.iOS, 8, 0, throwIfOtherPlatform: false); if (!TestRuntime.CheckSystemVersion(PlatformName.iOS, 8, 2, throwIfOtherPlatform: false) && IntPtr.Size == 4) { Assert.Inconclusive("Requires iOS 8.2 or later in 32-bit mode."); } using (var dq = new DispatchQueue("pk-test-queue")) using (var pr = new PKPushRegistry(dq)) { Assert.Null(pr.Delegate, "Delegate"); Assert.Null(pr.DesiredPushTypes, "DesiredPushTypes"); Assert.Null(pr.WeakDelegate, "WeakDelegate"); // it's nullable (setting a value needs more app setup or ObjC exceptions will occurs later) pr.DesiredPushTypes = null; Assert.Null(pr.DesiredPushTypes, "DesiredPushTypes-2"); } }
public void CtorDispatchQueue() { if (!UIDevice.CurrentDevice.CheckSystemVersion(8, 0)) { Assert.Inconclusive("Requires iOS8 or later"); } if (!UIDevice.CurrentDevice.CheckSystemVersion(8, 2) && IntPtr.Size == 4) { Assert.Inconclusive("Requires iOS 8.2 or later in 32-bit mode."); } using (var dq = new DispatchQueue("pk-test-queue")) using (var pr = new PKPushRegistry(dq)) { Assert.Null(pr.Delegate, "Delegate"); Assert.Null(pr.DesiredPushTypes, "DesiredPushTypes"); Assert.Null(pr.WeakDelegate, "WeakDelegate"); // it's nullable (setting a value needs more app setup or ObjC exceptions will occurs later) pr.DesiredPushTypes = null; Assert.Null(pr.DesiredPushTypes, "DesiredPushTypes-2"); } }