我在我的应用程序中使用 PushSharp 来发送推送通知。它适用于Android。
对于苹果iOS - 它不起作用,我们使用带密码的开发证书文件。 最初我们使用了错误的密码,之后我们发现了这个问题并修复了。
它正在收到以下错误信息
Channel Created for: PushSharp.Apple.ApplePushService Failure: PushSharp.Apple.ApplePushService -> Exception of type 'PushSharp.Apple.
NotificationFailureException' was thrown. -> {"aps":{"alert":"Hello World!","badge":7,"sound":"default"}}
错误状态代码:8
错误说明:无效令牌
由我们的供应商开发的应用程序和我们正在进行的推送通知。 供应商使用一些PHP代码发送推送通知。 要推送通知,他们使用的是带有Laravel框架和库的PHP服务器:https://github.com/davibennun/laravel-push-notification
我已经在我的iPhone设备上安装了该应用程序,他们发送测试推送通知,它正常工作。
但是我试图使用Pushsharp框架发送它不起作用。
他们说开发证书文件是正确的,它工作正常。
我已经尝试了所有可能的选项,但我没有得到任何线索,为什么它的行为奇怪与开发证书.p12。请帮我解决这个问题。
我们用于开发的代码:
var push = new PushBroker();
var appleCert = File.ReadAllBytes(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "xxxxPass.p12"));
push.RegisterAppleService(new ApplePushChannelSettings(appleCert, "xxxx12345")); //Extension method
push.QueueNotification(new AppleNotification()
.ForDeviceToken("a51b4e80d12df0946d10413991ce1f7ab57c05bab8a292fc703ded34ce77b91f")
.WithAlert("Hello World!")
.WithSound("default")
.WithBadge(7));
答案 0 :(得分:1)
此问题是由于证书文件无效。
以下步骤是在IOS应用程序中从我这边完成的。
在“ViewController.h”文件中,我添加了以下代码。 @property(非原子,强)IBOutlet UIView * site;
在“AppDelegate.h”文件中,我添加了以下代码。
- (void)viewDidLoad {[super viewDidLoad];
NSURL * url = [NSURL URLWithString:@“https://www.xxxxx.com”]; NSURLRequest * requestURL = [NSURLRequest requestWithURL:url];
[_ site loadRequest:requestURL]; }
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Register for Remote Notifications if ([application respondsToSelector:@selector(isRegisteredForRemoteNotifications)]) { // iOS 8 Notifications [application registerUserNotificationSettings:[UIUserNotificationSettings
settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) 类别:无]];
[application registerForRemoteNotifications]; } else { // iOS < 8 Notifications [application registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)]; } return YES; }
它是在“证书开发”部分下自动创建的 名称:com.xxxxdubai.xxxx 类型:APNs开发iOS
成功生成配置文件。