首頁  >  文章  >  後端開發  >  如何解決 iOS 中應用程式處於背景模式時未收到 GCM 通知的問題?

如何解決 iOS 中應用程式處於背景模式時未收到 GCM 通知的問題?

Linda Hamilton
Linda Hamilton原創
2024-10-20 15:28:30349瀏覽

How to Resolve GCM Notifications Not Received When App Is in Background Mode in iOS?

當應用程式在iOS 中處於後台模式時,不會收到GCM 通知

當應用程式處於後台模式時,由於以下原因,可能不會收到通知以下兩個原因:

  1. 後台通知配置不正確:要在應用程式處於背景時接收通知,您必須將Content- Available 配置為true 並設定非零PHP 腳本中的優先權。
  2. GCM 服務斷開: 當應用程式進入背景接收推播通知時,必須連接 GCM 服務。在您的 AppDelegate.m 檔案中,確保 applicationDidEnterBackground 方法包含重新連線到 GCM 服務的程式碼。

解決方案:

在您的PHP 檔案中,將以下內容新增至$post 陣列:

<code class="php">'content_available' => true,
'priority' => 'high',</code>

此外,更新$data 陣列以包含body 欄位:

<code class="php">$data = array( 'message' => 'Hello World!', 'body' => 'Hello World!');</code>

在您的AppDelegate.m 檔案中,確保以下內容程式碼存在於applicationDidEnterBackground 方法中:

<code class="objective-c">[[GCMService sharedInstance] connectWithHandler:^(NSError *error) {
    if (error) {
        NSLog(@"Could not connect to GCM: %@", error.localizedDescription);
    } else {
        _connectedToGCM = true;
        NSLog(@"Connected to GCM");
    }
}];</code>

透過實施這些更改,您的應用程式現在即使在背景也應該收到通知。

以上是如何解決 iOS 中應用程式處於背景模式時未收到 GCM 通知的問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn