gpt4 book ai didi

ios - 滑动按钮不会用于远程通知

转载 作者:行者123 更新时间:2023-11-29 12:08:53 27 4
gpt4 key购买 nike

我正在尝试在我的 IOS 8 应用程序中放置自定义按钮,以便在我的聊天应用程序中收到推送通知。

下面是我的代码,但推送通知没有显示发货按钮。

if([[UIApplication sharedApplication] respondsToSelector:@selector(isRegisteredForRemoteNotifications)])
{

//Defining Ap Actions Categories


UIMutableUserNotificationAction *replyAction =
[[UIMutableUserNotificationAction alloc] init];

// Define an ID string to be passed back to your app when you handle the action
replyAction.identifier = @"REPLY_ACTION";

// Localized string displayed in the action button
replyAction.title = NSLocalizedString(@"REPLY", nil);

// If you need to show UI, choose foreground
replyAction.activationMode = UIUserNotificationActivationModeForeground;

// Destructive actions display in red
replyAction.destructive = NO;

// Set whether the action requires the user to authenticate
replyAction.authenticationRequired = YES;


UIMutableUserNotificationAction *remindLaterAction =
[[UIMutableUserNotificationAction alloc] init];

// Define an ID string to be passed back to your app when you handle the action
remindLaterAction.identifier = @"REMIND_LATER_ACTION";

// Localized string displayed in the action button
remindLaterAction.title = NSLocalizedString(@"REMIND", nil);

// If you need to show UI, choose foreground
remindLaterAction.activationMode = UIUserNotificationActivationModeForeground;

// Destructive actions display in red
remindLaterAction.destructive = NO;

// Set whether the action requires the user to authenticate
remindLaterAction.authenticationRequired = YES;

// First create the category
UIMutableUserNotificationCategory *singleChatCategory = [[UIMutableUserNotificationCategory alloc] init];

// Identifier to include in your push payload and local notification
[singleChatCategory setIdentifier:@"SINGLE_CHAT"];

// Add the actions to the category and set the action context
[singleChatCategory setActions:@[replyAction, remindLaterAction]
forContext:UIUserNotificationActionContextDefault];

// Set the actions to present in a minimal context
[singleChatCategory setActions:@[replyAction]
forContext:UIUserNotificationActionContextMinimal];

NSSet *categories = [NSSet setWithObjects:singleChatCategory,nil];

[[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound) categories:categories]];

[[UIApplication sharedApplication] registerForRemoteNotifications];
} else {

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound)];
}`

我还在代码后面放入了本地化的字符串文件。

"SINGLECHAT_WITH_PREVIEW"       =   "%@:%@";
"SINGLECHAT_WITHOUT_PREVIEW" = "%@ %@ %@";
"REPLY" = "Reply";
"REMIND" = "Remind Me";

这也是我从服务器获取的推送 APS 详细信息作为 userInfo。

{
aps = {
alert = {
category = "SINGLE_CHAT";
"loc-args" = (
"USER DEV12347",
"TEST NOTIFICATION MESSAGE"
);
"loc-key" = "SINGLECHAT_WITHOUT_PREVIEW";
title = Closrr;
};
badge = 1;
sound = "push_play.aiff";
};
from = "+67123456";
to = "+67890765";
type = 2;
}

我做错了吗??请指教。

最佳答案

category 应该在 aps 对象的第一层,而不是在 alert 中:

{
aps = {
category = "SINGLE_CHAT";
alert = {
(...)

引用:https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW1

关于ios - 滑动按钮不会用于远程通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34127764/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com