测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最后发布 | 2015 年 9 月 |
由 Tilo Westermann 维护。
APNPermissionRequest 允许您的用户在选择是否允许或拒绝推送通知时做出明智的决定。默认推送通知权限请求没有提供有关通知性质的信息,因此用户可能会因为没有把握而拒绝请求。使用 APNPermissionRequest,您可以添加 a) 附加的解释字符串到请求中,以及 b) 通知设置,使用户可以决定接收哪种形式的通知,而无需导航到系统设置应用。
要运行示例项目,首先从仓库中克隆,然后从 Example 目录运行 pod install
。
APNPermissionRequest *request = [APNPermissionRequest sharedRequest];
[request showWithType: APNTypeAlert | APNTypeSound
title:@"\"MyMailman\" Would Like to Send You Notifications."
message:@"Your delivery is ready for pick-up at the post office? We'll inform you immediately via a push notification!"
denyButtonTitle:@"Don't allow"
grantButtonTitle:@"OK"
completionHandler:^(BOOL hasPermission,
APNPermissionRequestDialogResult userDialogResult,
APNPermissionRequestDialogResult systemDialogResult) {
NSLog(@"Permission: %d",hasPermission);
NSArray *actions = @[@"no action",@"denied", @"granted"];
NSLog(@"user action: %@",actions[userDialogResult]);
NSLog(@"system action: %@",actions[systemDialogResult]);
NSLog(@"Settings: %@",[APNPermissionRequest enabledTypeNames]);
}];
APNPermissionRequest *request = [APNPermissionRequest sharedRequest];
[request showWithType: APNTypeAlert | APNTypeSound
title:@"\"MyMailman\" Would Like to Send You Notifications."
message:@"Your delivery is ready for pick-up at the post office? We'll inform you immediately via a push notification!"
optionsTitle:@"Notification settings"
denyButtonTitle:@"Don't allow"
grantButtonTitle:@"OK"
completionHandler:^(BOOL hasPermission,
APNPermissionRequestDialogResult userDialogResult,
APNPermissionRequestDialogResult systemDialogResult) {
NSLog(@"Permission: %d",hasPermission);
NSArray *actions = @[@"no action",@"denied", @"granted"];
NSLog(@"user action: %@",actions[userDialogResult]);
NSLog(@"system action: %@",actions[systemDialogResult]);
NSLog(@"Settings: %@",[APNPermissionRequest enabledTypeNames]);
}];
APNPermissionRequest *request = [APNPermissionRequest sharedRequest];
request.backgroundColor = [UIColor colorWithRed:236.0/255.0 green:240.0/255.0 blue:241.0/255.0 alpha:1];
NSMutableAttributedString *message = [[NSMutableAttributedString alloc] initWithString:@"Your delivery is ready for pick-up at the post office? We'll inform you immediately via a push notification!"];
[message addAttribute:NSFontAttributeName
value:[UIFont italicSystemFontOfSize:14]
range:[message rangeOfString:@"push notification"]];
[request showFullscreenWithType: APNTypeAlert | APNTypeSound
title:@"\"MyMailman\" Would Like to Send You Notifications."
message:message
optionsTitle:@"Notification settings"
denyButtonTitle:@"Don't allow"
grantButtonTitle:@"OK"
completionHandler:^(BOOL hasPermission,
APNPermissionRequestDialogResult userDialogResult,
APNPermissionRequestDialogResult systemDialogResult) {
NSLog(@"Permission: %d",hasPermission);
NSArray *actions = @[@"no action",@"denied", @"granted"];
NSLog(@"user action: %@",actions[userDialogResult]);
NSLog(@"system action: %@",actions[systemDialogResult]);
NSLog(@"Settings: %@",[APNPermissionRequest enabledTypeNames]);
}];
Tilo Westermann, [email protected]
APNPermissionRequest 受 ClusterPrePermissions 启发。
APNPermissionRequest 可在 MIT 许可证下使用。有关更多信息,请参阅 LICENSE 文件。