public bool FinishedLaunching(UIApplication application, NSDictionary launchOptions) { Debug.WriteLine("=== FinishedLaunching ==="); // Override point for customization after application launch. // If not required for your application you can safely delete this method RegisterForRemoteNotifications(); if (launchOptions == null) { //注册apns远程推送 launchOptions = new NSDictionary(); } BPush.RegisterChannel(launchOptions, ApiKey, BPushMode.Development, "open", "close", "test", false, true); return(true); }
public void RegisteredForRemoteNotifications(UIApplication application, NSData deviceToken) { Debug.WriteLine("=== RegisteredForRemoteNotifications ==="); byte[] dataBytes = new byte[deviceToken.Length]; System.Runtime.InteropServices.Marshal.Copy(deviceToken.Bytes, dataBytes, 0, Convert.ToInt32(deviceToken.Length)); StringBuilder builder = new StringBuilder(); foreach (var b in dataBytes) { builder.AppendFormat("{0:X2}", b); } var token = builder.ToString(); BPush.RegisterDeviceToken(deviceToken); BPush.BindChannelWithCompleteHandler(new BPushCallBack(BindChannel)); void BindChannel(NSObject result, NSError error) { if (error != null) { return; } if (result != null) { // 确认绑定成功 var c = result.ValueForKey(new NSString("error_code")); if (c is NSNumber ic && ic.Int32Value != 0) { return; } var channelId = BPush.ChannelId; BPush.ListTagsWithCompleteHandler(ListTags); void ListTags(NSObject nsresult, NSError nserror) { } BPush.SetTag("tag", SetTag); void SetTag(NSObject nsresult, NSError nserror) { } } } }