gpt4 book ai didi

ios - 使用 GCM 关闭应用程序时在 iOS 中接收推送通知

转载 作者:可可西里 更新时间:2023-11-01 06:20:03 26 4
gpt4 key购买 nike

我的应用使用 GCM 接收推送通知。我的 android 应用程序完美运行,因为当我完全关闭应用程序时,我仍然会收到通知,但是如果我对我的 iOS 版本执行相同的操作,我将不会收到任何通知。

请注意,这当然是在应用程序首次注册然后关闭应用程序之后。我找不到很多关于这个的信息。有些帖子说你做不到。但是 facebook 和 facebook messenger 之类的公司都这样做。有谁知道这是怎么做到的?

这是我的

DidReceiveRemoteNotification method which is taken from the GCM documentation

// [START ack_message_reception]
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
NSLog(@"Notification received: %@", userInfo);
// This works only if the app started the GCM service
[[GCMService sharedInstance] appDidReceiveMessage:userInfo];
// Handle the received message
// [START_EXCLUDE]
[[NSNotificationCenter defaultCenter] postNotificationName:_messageKey
object:nil
userInfo:userInfo];
// [END_EXCLUDE]
}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))handler
{
NSLog(@"Notification received: %@", userInfo);
// This works only if the app started the GCM service
[[GCMService sharedInstance] appDidReceiveMessage:userInfo];
// Handle the received message
// Invoke the completion handler passing the appropriate UIBackgroundFetchResult value
// [START_EXCLUDE]
[[NSNotificationCenter defaultCenter] postNotificationName:_messageKey
object:nil
userInfo:userInfo];
handler(UIBackgroundFetchResultNoData);
// [END_EXCLUDE]
}
// [END ack_message_reception]

我发送的 payload 是这样的

$payload =  array('registration_ids' => $Regids,
'content_available' => false,
'notification' => array("body"=> $_POST['message'],
"sound" => "default",
'badge' => '1'
)
);

请注意,如果应用程序在后台运行,这将有效

最佳答案

我设法通过将它添加到我的负载中来让它工作

"priority" => "high"

也许有人可以评论为什么这有效,因为我不知道

关于ios - 使用 GCM 关闭应用程序时在 iOS 中接收推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34129976/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com