我在该有效负载消息中收到推送通知,我正在接收一个带有消息作为推送通知的 URL。但我不想向用户显示 URL 我只想向用户显示消息。从ios端可以吗。
问问题
254 次
4 回答
1
如果您在 aps 中使用 url 作为单独的键,那么您可以仅将警报显示为消息,否则任何消息都不能在后台修改消息。
"aps": {
"alert": "alert!",
"sound": "default",
"URL" : "your url"
}
于 2013-12-24T05:25:52.513 回答
0
是的,它可能,但这也取决于您如何创建有效负载,但它很简单,因为您使用链接和消息创建有效负载,在您的代表处接收
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)pushChatObject {
// get the message value and NSLog is or set to UIAlert or in NSString
(pushChatObject)[@"Message"];
}
于 2013-11-19T06:58:29.243 回答
0
你可以,但你不应该,因为
通知的传递是“尽力而为”,不能保证。它不打算向您的应用程序传递数据,只是为了通知用户有新数据可用。(c) 苹果
将通知消息指定为
{
"aps": {
"alert": "alert!",
"sound": "default"
},
"URL": "http://apple.com"
}
当您在应用程序中收到通知时,只需在通知字典中检查您的参数:
// Place this method to AppDelegate.m
- (void)application:(UIApplication *)application didReceiveRemoteNotification:
(NSDictionary *)notification {
if ([notification objectForKey:@"URL"]) {
NSString *url = [[notification objectForKey:@"URL"] stringValue];
}
}
查看Apple 的本地和推送通知编程指南的这一部分以获取更多信息
于 2013-11-19T06:58:58.413 回答
0
我认为在这种情况下,您可以使用警报属性的子属性,您使用 1 个参数作为警报,另一个参数作为 url,例如:“aps”:{“alert”:{“loc-key”:“ALERT” , "loc-args" : [ "你的警报信息", "你的 url"] }, "sound": "default" }
当设备接收到通知时,它会使用“ALERT”作为键在 .lproj 目录中的 Localizable.strings 文件中查找当前语言的相关字符串值。假设当前本地化有一个 Localizable.strings 条目,例如: "ALERT" = "%@";
稍后您可以使用 aps NSDictionary 获取您的网址。
于 2013-12-24T06:13:24.260 回答