push-notification - 在 willPresentNotification 中修改推送通知生成器
问题描述
我现在使用 Salesforce Marketing Cloud iOS SDK (v4.9.7) 发送推送通知。我会将我的消息推送为“ qwe | 123 | zxc
”。但是我想qwe
只在通知生成器中显示“”。有什么办法吗?谢谢你。
- (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler {
if (completionHandler != nil) {
if ([[ETPush pushManager] shouldShowLocalAlert] == YES) {
//this is the notification payload
NSDictionary *userInfo = notification.request.content.userInfo;
//get the msg from notification payload
NSString *notificationMsg = [[userInfo valueForKeyPath:@"aps.alert"] objectForKey: @"body"];
//extract and get the "qwe"
NSArray *msgArr = [notificationMsg componentsSeparatedByString:@"|"];
NSString *MyMessage = msgArr[0];
//i have tried to replace the msg but failed
notificationMsg = MyMessage;
completionHandler(UNNotificationPresentationOptionAlert);
}
else {
[[ETPush pushManager] handleNotification:notification.request.content.userInfo forApplicationState:[UIApplication sharedApplication].applicationState];
completionHandler(UNNotificationPresentationOptionNone);
}
}
else {
[[ETPush pushManager] handleNotification:notification.request.content.userInfo forApplicationState:[UIApplication sharedApplication].applicationState];
}
}
解决方案
是的,您可以在 iOS 中修改推送通知内容。
为此,请在您的应用中使用“通知服务扩展” 。在此您可以在didReceiveNotificationRequest中添加修改代码。
谢谢,希望对您有所帮助。
推荐阅读
- c++ - 没有运算符“<<”匹配这些操作数递归河内塔错误
- css - 为什么在我的主 Web 容器上将宽度设置为 100% 会在移动设备上创建水平滚动条?
- javascript - 将 nuxt 2.12 升级到 2.15.8 错误“未找到此依赖项”?
- javascript - 笑话错误:找不到给定节点的“窗口”对象
- docker - 重启后 Docker 服务无法启动 - 无法启动 containerd
- r - rjags 中每个链的每个参数使用的初始值是否相同?我正在使用 coda.samples 进行采样
- databricks - Databricks - 从增量表写入流到 orc 文件的读取流仅具有更改
- reactjs - 尝试导入错误:“CheckBox”未从“@material-ui/core”导出
- android - 我们可以在一个 Android Studio 项目中拥有多个应用吗
- python - 在新项目中重用我自己的功能的最佳方式?