我正在向我的应用添加APNS推送通知。我正确地注册了所有证书,我将所有设备的令牌正确存储到数据库中,并且我也能够向他们发送通知。
这是我发送的推送通知的示例:
$payload = '{
"aps" :
{
"alert" : "' . $message . '",
"content-available" : 1,
"badge" : 0,
},
"data-id" : 11
}';
此通知包含一个名为data-id
的变量。在显示通知之前,我希望我的应用程序检查用户是否希望收到具有该数据ID的特定通知。
我发现这种方法可以做我正在寻找的方法:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
问题是在调用该方法之前会向用户显示通知。 是否有可能发送用户看不到的“隐形”通知,之后它会调用以前的方法来检查是否必须显示通知?
答案 0 :(得分:3)
如果从有效负载中删除alert
,则该通知对用户不可见。收到后,您将负责向用户显示警报/相关信息。