菜鸟教程小白 发表于 2022-12-13 05:40:53

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(@&#34;10.0&#34;)){
      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:@&#34;&lt;&#34; withString:@&#34;&#34;];
}

</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]
查看完整版本: ios - 当我的应用程序打开时,我会收到横幅通知。我不想在我的应用打开时显示横幅