我在iOS7中实现了推送通知。由于iOS7具有使用方法
静默接收推送通知的功能- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo performFetchWithCompletionHandler:(void(^)(UIBackgroundFetchResult))completionHandler
{
}
但是这个方法永远不会被调用,因为我正在发送通知。我在通知托盘中收到通知但是通知不应该在那里,因为它是沉默的。我使用Raywenderlich的PHP代码发送推送通知。我也添加了内容可用密钥
// Create the payload body
$body['aps'] = array(
'content-available' => '1',
'alert' => $message,
'sound' => 'default'
);
请帮助!!!
答案 0 :(得分:3)
如果您想要静音推送通知,则不应在有效负载中添加“alert”参数。
像这样传递你的参数。
$body['aps'] = array(
'content-available' => '1'
);
并验证您是否在项目plist中启用了远程通知。
或
您将通过实施此委托获得通知。
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{
// Call or write any code necessary to download new data.
completionHandler(UIBackgroundFetchResultNewData);
}
答案 1 :(得分:1)
尝试使用整数值:
$body['aps'] = array(
'content-available' => 1,
'alert' => $message,
'sound' => 'default'
);