0
最新のPushSharp(4.0.10)を使用して、iOSおよびAndroidデバイスに通知を送信しています。約9ヶ月前に私はこれをテストし、うまくいくように見えました。私は今日同じアプリケーションを試しましたが、デバイス(iPhone)は通知を受信しなくなりました。今日有効になっているはずのデバイストークンが更新されました。 apnsBroker.OnNotificationSucceededイベントは発生しますが、デバイスは通知を受け取ることはありません。 例外やその他のタイプのフィードバックはありません。PushSharpがiOSに通知を送信しましたが、受信していません
var config = new ApnsConfiguration(ApnsConfiguration.ApnsServerEnvironment.Sandbox, "mycert.p12", "password");
// Create a new broker
var apnsBroker = new ApnsServiceBroker(config);
// Wire up events
apnsBroker.OnNotificationFailed += (notification, aggregateEx) =>
{
aggregateEx.Handle(ex =>
{
// See what kind of exception it was to further diagnose
if (ex is ApnsNotificationException)
{
var notificationException = (ApnsNotificationException)ex;
// Deal with the failed notification
var apnsNotification = notificationException.Notification;
var statusCode = notificationException.ErrorStatusCode;
Console.WriteLine($"Apple Notification Failed: ID={apnsNotification.Identifier}, Code={statusCode}");
}
else
{
// Inner exception might hold more useful information like an ApnsConnectionException
Console.WriteLine($"Apple Notification Failed for some unknown reason : {ex.InnerException}");
}
// Mark it as handled
return true;
});
};
apnsBroker.OnNotificationSucceeded += (notification) =>
{
Console.WriteLine("Apple Notification Sent!");
};
// Start the broker
apnsBroker.Start();
var payload = new Dictionary<string, object>();
var aps = new Dictionary<string, object>();
aps.Add("alert", GetAlert());
aps.Add("badge", 1);
aps.Add("sound", "chime.aiff");
payload.Add("aps", aps);
payload.Add("data", "info");
apnsBroker.QueueNotification(new ApnsNotification
{
DeviceToken = textBox1.Text,
Payload = JObject.Parse(Newtonsoft.Json.JsonConvert.SerializeObject(payload))
});
apnsBroker.Stop();
APNから新しいトークンを取得したときに、トークンをサーバーに更新していますか?そうでなければ、トークンをキャッシュしていますか? – Subramanian
私は常にトークンを更新して、期限切れでないことを確認します。 – jbassking10
トークン受信のコードを通過できますか? – Subramanian