菜鸟教程小白 发表于 2022-12-13 03:27:03

IOS远程静音通知在电话/网络波动期间不起作用


                                            <p><p>我正在开发我正在做后台工作的 iOS 应用程序。我通过发送静默通知来唤醒应用程序。代码大部分时间都运行良好。 </p>

<p>问题是在通话过程中应用没有唤醒,即使在低网络连接或网络波动期间应用也没有唤醒。</p>

<p>我正在做以下事情:</p>

<pre><code>1: Enabled 2 background mode
   i) Background fetch.
   ii)Remote notification.

2: Sending notification as:

   {
aps: {
          content-available: 1,
          sound: &#34;&#34;
          message:&#34;background fetch&#34;
       }
    }

and
3)
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{
   UALogFull(@&#34;\n\n BACKGROUND NOTIFICATION \n\n\n&#34;);
   completionHandler(UIBackgroundFetchResultNewData);

}
</code></pre>

<p>我的观察是:
该应用程序没有崩溃。
即使在通话期间有通知(手机已连接wifi),它也不会记录“后台通知”。</p>

<p>请告诉我如何获得准确性?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我相信仅仅因为您发送的是静默通知,并不意味着应用程序会立即收到通知。</p>

<p>根据我使用 GSM iPhone 的观察结果。每当我打电话时,蜂窝数据类型都会掉线,例如LTE -> 3G, 3G -> EDGE etc. 所以数据网络不可靠。</p>

<p>您还声明在网络波动期间不会发生这种情况,系统已收到通知,并没有出于省电目的将其传递。蜂窝数据连接越慢,电池消耗越多。</p>

<p>关于 wifi 上的电话,仍然没有收到静音通知。蜂窝芯片正在运行,同时使用 wifi 会更加消耗电池。</p>

<p>据我了解,静默通知是让设备知道有新数据可用。因为在后台下载该数据的窗口是一个小窗口,在某些情况下可能不适合您描述的示例,这基本上是原因。</p>

<p>打电话时 -> 蜂窝芯片正在用于语音传输。数据传输是芯片要做的额外工作,这可能会极大地影响电池生命周期。</p>

<p>网络波动 -> 系统无法保证可靠的连接以允许下载数据。此外,处于数据速度较慢的区域也会对试图定位更强、更稳定的连接频段的蜂窝芯片造成额外的压力。</p>

<p>静默通知允许您的应用在用户切换回您的应用时向用户呈现新数据,作为对用户的好处,他们不必等待新内容的时间太长。但这不是应用程序功能的重要组成部分。系统还将根据其他因素(例如自上次发布以来的时间)确定是否传递您的通知。关闭太快或关闭应用很长时间可能意味着您的应用不会获得优先权,而必须等待其他应用,</p>

<p>太快了:内容还比较新鲜。
长时间:用户不经常使用该应用程序。节省资源。</p>

<p>混入这种启动模式。如果您在用户更有可能根据之前的模式启动您的应用时发送通知,则您更有可能收到通知。</p>

<p>最后引用文档:</p>

<blockquote>
<p>Important: Delivery of notifications is a “best effort”, not guaranteed. It is not intended to deliver data to your app, only to notify the user that there is new data available.</p>
</blockquote>

<p> <a href="https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW1" rel="noreferrer noopener nofollow">Found Here</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于IOS远程静音通知在电话/网络波动期间不起作用,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26996401/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26996401/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: IOS远程静音通知在电话/网络波动期间不起作用