ios - 当我的应用程序打开时,我会收到横幅通知。我不想在我的应用打开时显示横幅
<p><p> <a href="/image/pCKaO.jpg" rel="noreferrer noopener nofollow"><img src="/image/pCKaO.jpg" alt="enter image description here"/></a> </p>
<p>我在我的 iOS 应用程序中使用 Firebase 通知,每当我收到通知时,即使应用程序打开,它也会显示为横幅。 </p>
<p>当我们使用 iOS 原生远程通知方法时,实际上不会发生这种情况。</p>
<p>我尝试检查是否调用了默认的 iOS 方法,但它不起作用。</p>
<p>注册:</p>
<pre><code>if(SYSTEM_VERSION_GRATERTHAN_OR_EQUALTO(@"10.0")){
UNUserNotificationCenter *center = ;
center.delegate = self;
[center requestAuthorizationWithOptions:(UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge) completionHandler:^(BOOL granted, NSError * _Nullable error){
if( !error ){
[ registerForRemoteNotifications];
}
}];
}
else{
;
}
</code></pre>
<p>对于设备 token :</p>
<pre><code>- (void)messaging:(nonnull FIRMessaging *)messaging didRefreshRegistrationToken:(nonnull NSString *)fcmToken {
// Note that this callback will be fired everytime a new token is generated, including the first
NSString* deviceTkn = [ stringByReplacingOccurrencesOfString:@"<" withString:@""];
}
</code></pre>
<p>接收通知:</p>
<pre><code>-(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler{
//Called when a notification is delivered to a foreground app.
NSDictionary *userInfo = notification.request.content.userInfo;
completionHandler(UNNotificationPresentationOptionAlert);
}
</code></pre>
<p>请帮我解决这个问题</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您可以在此处设置演示样式警报,这就是显示横幅的原因。您应该根据苹果文档在完成处理程序中传递 UNNotificationPresentationOptionNone 。 </p>
<p> <a href="https://developer.apple.com/documentation/usernotifications/unusernotificationcenterdelegate/1649518-usernotificationcenter?language=objc" rel="noreferrer noopener nofollow">https://developer.apple.com/documentation/usernotifications/unusernotificationcenterdelegate/1649518-usernotificationcenter?language=objc</a> </p>
<pre><code>-(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler{
//Called when a notification is delivered to a foreground app.
NSDictionary *userInfo = notification.request.content.userInfo;
completionHandler(UNNotificationPresentationOptionAlert);
}
</code></pre></p>
<p style="font-size: 20px;">关于ios - 当我的应用程序打开时,我会收到横幅通知。我不想在我的应用打开时显示横幅,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/57881608/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/57881608/
</a>
</p>
页:
[1]