我想知道我是否可以创建服务来为iOS发送自定义的用户特定推送通知。
@“Hey%@,你好吗”,firstName“
这可能吗?
答案 0 :(得分:1)
除非我完全误解了你的需要,否则没有答案符合你的需要。
以下是APNS guide:
的相关示例让我们考虑一个例子。提供程序将以下字典指定为alert属性的值:
{ "aps" :
{
"alert" : {
"loc-key" : "GAME_PLAY_REQUEST_FORMAT",
"loc-args" : [ "Jenna", "Frank"]
}
}
}
当设备收到通知时,它使用“GAME_PLAY_REQUEST_FORMAT”作为键来查找当前语言的.lproj目录中Localizable.strings文件中的关联字符串值。假设当前本地化具有Localizable.strings条目,例如:
“GAME_PLAY_REQUEST_FORMAT”=“%@和%@邀请您玩垄断”;
设备会显示一条警告,其中包含“Jenna和Frank邀请您玩垄断”的消息。
答案 1 :(得分:0)
当然。查看APNS编程指南,特别是有效负载,您可以在将其发送到用户设备之前在服务器上进行自定义。
另请注意,如果您知道通知何时出现(而不是在动态时间),那么请查看本地通知,这些通知不需要服务器后端。
答案 2 :(得分:0)
对于使用APNS的iOS推送通知服务,有一些非常好的解决方案。无需自己实施。
如果你必须自己实现它,如果你想自己托管它,请查看easyAPNS。
另一个很好的信息网站是Ray Wenderlich的网站,其中包含2部分教程:
或this,用于Node.js的Apple推送通知模块。
答案 3 :(得分:0)
您可以将任何服务用于推送通知(如所列出的)或自行完成。
在您的代码中,当您收到推送通知消息时:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
NSLog(@"Received notification: %@", userInfo);
//here you should treat your received data
}
答案 4 :(得分:0)
当然可以......
您需要为推送通知服务创建自己的后端php文件,您可以将json数据从您的应用程序发送到php文件并使用$GET
来获得您想要的数据,包括设备令牌,消息,徽章编号......请参阅this
NSString *finalUrl =[NSString stringWithFormat:@"%@/pushService.php?device_token=%@&passphrase=%@&msg=%@",baseURL,device_token,passphrase,msg];
NSURL *url =[NSURL URLWithString:finalUrl];
NSData *jsonData = [NSData dataWithContentsOfURL:url];
if(jsonData != nil)
{
NSError *error = nil;
NSDictionary *result = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];
NSLog(@"result: %@", result);
}else
{
NSLog(@"connection error!");
}
pushService.php文件
// Put your device token here (without spaces):
$deviceToken = $GET['device_token'];
// Put your private key's passphrase here
$passphrase = $GET['passphrase'];
// Put your alert message here:
$message = $GET['msg'];
$body['aps'] = array(
'alert' => $message,
'sound' => 'default',
'badge' => 5
);