2

次のようにjsonをIOSデバイスに送信する必要があります。

    {"aps":{"content-available":1}}

AppleNotification または AppleNotificationPayLoad クラスを使用する必要がありますか? サンプルコードを教えてください。今すぐ通知を作成する方法の例を次に示します。

        AppleNotification notification = NotificationFactory.Apple()
                                                      .ForDeviceToken(token)
                                                      .WithAlert(message)
                                                      .WithSound("default")
                                                      .WithBadge(7);
4

3 に答える 3

2

送信しようとしている JSON は無効です。apsカスタム プロパティをディクショナリに入れることはできません。カスタム データを送信する場合は、次のapsように辞書の外に送信する必要があります。

{"aps":{},"content-available":1}

ペイロードにカスタム データを追加できるメソッドを PushSharp ライブラリで探す必要があります。

プロバイダーは、Apple が予約した aps 名前空間の外部でカスタム ペイロード値を指定できます。カスタム値では、辞書 (オブジェクト)、配列、文​​字列、数値、およびブール値の JSON 構造化およびプリミティブ型を使用する必要があります。

編集 :

AddCustom(string key, params object[] values)の方法が使えますAppleNotificationPayload

于 2013-03-19T10:27:12.560 に答える
0

これは古いスレッドですが、2015 年に検索したところ、スタック オーバーフローに関する解決策が見つかりませんでした。私は、質問は今、答えに値すると信じています。

- (void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void(^(UIBackgroundFetchResult))completionHandler 

メソッドでは、 apsの内側に「コンテンツ利用可能」を含める必要があります。(詳細については、この優れた記事を参照してください)

pushsharp は、次notification.WithContentAvailable(1)のように通知の最後にタックできるようにすることで、これに対応していることがわかりました。

 var notification = new AppleNotification(deviceID1, payload1);
 notification.WithContentAvailable(1);//enable background fetch
于 2015-05-19T11:26:35.150 に答える