我正在为通知服务实现统一的iOS。
我不认为我的执行有问题。
我就是这样注册的:
NotificationServices.RegisterForNotifications(NotificationType.Badge |
NotificationType.Alert | NotificationType.Sound, true);在我的功能中还启用了推送通知。
为了获得设备令牌,我使用NotificationServices.deviceToken。
DeviceToken的问题在于它返回一个byte[],而我不知道如何解码它。我尝试过几种方法,但唯一能给我可读性的方法是:
byte[] token = NotificationServices.deviceToken;
Debug.Log(System.BitConverter.ToString(token).Replace("-", ""));
Debug.Log(Convert.ToBase64String(token));348CDFAE308F9107A3DB0807CC363BBB01DEC33008E9F474A9A81D57D039D245,如果没有替换,它将是34-8C-DF-AE-30-8F-91-07-A3-DB-08-07-CC-36-3B-BB-01-DE-C3-30-08-E9-F4-74-A9-A8-1D-57-D0-39-D2-45cFXd3wLN0aCOpx7vn9pwDlJ24W32m9WO3A+WY28G4Zs=但是,下面是有趣的部分,如果我修改didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken编译时生成的方法,下面的示例如下:
NSString *token;
token = [deviceToken description];
NSLog(@"Token: %@", token);我得到以下结果:Token: <7055dddf 02cdd1a0 8ea71eef 9fda700e 5956e16d 8e9bd54e dc0f9263 6f03e19b>
我尝试用我拥有的所有令牌发送推送通知,但是没有一个有效。
因此,我的问题是,从统一,我如何才能正确地解码deviceToken发送推送通知?
谢谢=)
发布于 2017-10-10 19:41:12
我发现第一种方法是:
byte[] token = NotificationServices.deviceToken;
return BitConverter.ToString(token).Replace("-", "");统一给了我大写字母的一切,但它在尝试推送通知时起作用(看起来iOS不区分大写字母)。我试图用生产通知测试开发构建,从而犯了一个错误。
https://stackoverflow.com/questions/46493823
复制相似问题