失败:PushSharp.Apple.ApplePushService -> 抛出了 'PushSharp.Apple.NotificationFailureException' 类型的异常
Failure: PushSharp.Apple.ApplePushService -> Exception of type 'PushSharp.Apple.NotificationFailureException' was thrown
我在我的应用程序中使用 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"}}
错误状态code:8
错误说明:令牌无效
我们的供应商之一开发的应用程序和我们从我们这边做的推送通知。
供应商使用正在运行的 PHP 代码发送推送通知。
为了推送通知,他们使用 PHP 服务器和 Laravel 框架和库: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));
这个问题是因为证书文件无效。
以下步骤是我在 IOS 应用程序中完成的。
- 使用 Object-c 创建了一个新的 Xcode 项目单视图应用程序 Class。
- 拖放 WebView 控件并映射到视图控制器。
在“ViewController.h”文件中,我添加了以下代码。
@属性(非原子,强)IBOutlet UIView *site;
在“AppDelegate.h”文件中我添加了以下代码。
- (void)viewDidLoad { [super viewDidLoad];
NSURL *url = [NSURL URLWithString:@”https://www.xxxxx.com”];
NSURLRequest *requestURL = [NSURLRequest requestWithURL:url];
[_网站loadRequest:requestURL];
}
- 在“AppDelegate.m”文件中,我添加了以下代码。
- (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)
categories:nil]];
[application registerForRemoteNotifications];
}
else
{
// iOS < 8 Notifications
[application registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];
}
return YES;
}
- 在xxxx Developer apple account – created a new App ID
Name:xxx
捆绑 ID:com.xxxxdubai.xxxx
为开发启用推送通知。
使用以下步骤创建新的开发 SSL 证书。
使用 CRS 文件 Keychain Access 创建证书 -> Certificate Assitant -> Reqest a Certificate From a Certificate Authority ...生成的 CertificateSigningReq ...请求文件。
已在 iOS 证书文件下上传 CRS 文件并生成。
它是在证书开发部分自动创建的
姓名:com.xxxxdubai.xxxx
Type:APNs 发展 iOS
- 然后创建临时开发配置文件
姓名:XXXX开发
类型:Ios 开发
App ID: selected xxxx app id
证书:选定xxxxiOS开发
设备:选择了我的 velus-iPhone 设备
已成功生成配置文件。
- 然后我将配置文件添加到钥匙串访问登录并导出 apns.dev.cert.p12 文件和密码。
- 在 Xcode APP 项目中,构建设置更改为选择 Provisioning Profile(我导出并注册的那个)
- 选择模拟器作为我的-iPhone设备和运行项目,它已成功安装并在我的手机上启动应用程序。
- 自动从应用程序显示的第一次警报消息,用于向 APNS 服务器注册推送通知,并在调试区域显示接收和记录的新设备令牌。
- 使用新证书 apns.dev.cert.p12 和新设备 ID 推送通知使用 PushShap 框架测试成功。
我在我的应用程序中使用 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"}}
错误状态code:8
错误说明:令牌无效
我们的供应商之一开发的应用程序和我们从我们这边做的推送通知。 供应商使用正在运行的 PHP 代码发送推送通知。 为了推送通知,他们使用 PHP 服务器和 Laravel 框架和库: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));
这个问题是因为证书文件无效。
以下步骤是我在 IOS 应用程序中完成的。
- 使用 Object-c 创建了一个新的 Xcode 项目单视图应用程序 Class。
- 拖放 WebView 控件并映射到视图控制器。
在“ViewController.h”文件中,我添加了以下代码。 @属性(非原子,强)IBOutlet UIView *site;
在“AppDelegate.h”文件中我添加了以下代码。
- (void)viewDidLoad { [super viewDidLoad];
NSURL *url = [NSURL URLWithString:@”https://www.xxxxx.com”]; NSURLRequest *requestURL = [NSURLRequest requestWithURL:url];
[_网站loadRequest:requestURL]; }
- 在“AppDelegate.m”文件中,我添加了以下代码。
- (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) categories:nil]];
[application registerForRemoteNotifications]; } else { // iOS < 8 Notifications [application registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)]; } return YES; }
- 在xxxx Developer apple account – created a new App ID Name:xxx 捆绑 ID:com.xxxxdubai.xxxx 为开发启用推送通知。 使用以下步骤创建新的开发 SSL 证书。 使用 CRS 文件 Keychain Access 创建证书 -> Certificate Assitant -> Reqest a Certificate From a Certificate Authority ...生成的 CertificateSigningReq ...请求文件。 已在 iOS 证书文件下上传 CRS 文件并生成。
它是在证书开发部分自动创建的 姓名:com.xxxxdubai.xxxx Type:APNs 发展 iOS
- 然后创建临时开发配置文件 姓名:XXXX开发 类型:Ios 开发 App ID: selected xxxx app id 证书:选定xxxxiOS开发 设备:选择了我的 velus-iPhone 设备
已成功生成配置文件。
- 然后我将配置文件添加到钥匙串访问登录并导出 apns.dev.cert.p12 文件和密码。
- 在 Xcode APP 项目中,构建设置更改为选择 Provisioning Profile(我导出并注册的那个)
- 选择模拟器作为我的-iPhone设备和运行项目,它已成功安装并在我的手机上启动应用程序。
- 自动从应用程序显示的第一次警报消息,用于向 APNS 服务器注册推送通知,并在调试区域显示接收和记录的新设备令牌。
- 使用新证书 apns.dev.cert.p12 和新设备 ID 推送通知使用 PushShap 框架测试成功。