2

iOS11でリグレッションに遭遇したようです。更新するために、1 時間ごとにサイレントプッシュ通知 ( のプッシュ通知)を受信するアプリがあります。"content-available": 1何年も問題なく動作しています。

ただし、iOS11 の更新後、私のユーザーは、1 時間ごとにメッセージなしで目に見える通知が表示されると報告し始めました。

これを確認しました。

  • iOS10の電話。電話を一晩稼働させたままにしました-空白のメッセージはありません。
  • アプリを再インストールせずに iOS11 にアップグレード- 空白のメッセージ

にブレークポイントを追加したところ、実行を開始するdidReceiveRemoteNotification前に通知が表示されることがわかりましたdidReceiveRemoteNotification

userInfoパラメータdidReceiveRemoteNotification

{
    aps =     {
        alert =         {
            title = "e-mission-phone";
        };
        "content-available" = 1;
    };
    notId = 1506359243823816;
    payload =     {
        notId = 1506359243823816;
    };
}

基本的に、iOS10では非表示だった通知を無音と判断して表示する方法がiOS11で変更されたようです。

この動作が変更されたと思われるドキュメントや、新しいペイロードがどのように見えるべきかについてのドキュメントは見つかりません。他の誰かがこれを見たことがありますか?phonegap-push-plugin を使用して通知を受信し、ionic push を使用して通知を送信しています。

4

2 に答える 2

1

他の人に役立つことを期待して、自分の質問に答えます。これは、iOS10 と iOS11 の間の APNS 動作の変更と合わせて、ionic push と APNS 間の統合の問題が原因です。基本的に、ionic push はユーザーが指定しない場合にアラート タイトルを追加し、iOS10ではタイトルを無視してcontent-available: 1たようですが、iOS11 ではそれがなくなりました。

編集 #1: メッセージの優先度を下げることでこれを修正できると当初考えていましたが、それは役に立ちません。ionic は、タイトルが提供されていない場合、タイトルの設定を停止する必要があります。Ionic サポート チケットを提出しましたが、いつ回答が得られるかわかりません。

編集 #2: アラートのタイトルを"". 設定メッセージを含む詳細はhttps://github.com/e-mission/e-mission-phone/issues/290#issuecomment-332049861にありますが、基本的に ionic に渡された仕様にタイトルがある場合は、それ以外の場合、ionic はタイトルを自動追加します。

于 2017-09-25T19:49:08.040 に答える