2016-11-14 3 views
12

アップルのパスキット関連プロジェクトでPushSharpを使用しようとしています。PushSharpでパスキットプッシュを送信するときのDeviceTokenの長さが無効

私の現在の問題は、パスキットプッシュについてです。

私は私の通知を作成しようとすると、それは

デバイスtokentの長さが無効(正確な例外メッセージであると言う:無効なDeviceToken長

var notif = new ApnsNotification(token, payload); 

私は新しいpasskitクーポンを登録しますそのトークンの長さは32です。それは私にとっては大丈夫です。

問題は何ですか?PushSharpはパスキットをサポートしていますか?それを編集しましたが、私は公式の情報を見つけることができませんでした。

私はPushSharpを使って私が普通のプッシュメッセージを送信するのを知っていますので、私は何年も問題なく動作しています。私の質問は、パスキット関連のプッシュについてです。

ありがとうございました!

EDIT

はバリスAkarの提案により、コードを変更した後、問題が修正されますが、別のが来る:

Apple Notification Failed: ID=1, Code=ConnectionError

2016年11月18日午前11時07分22秒.de。 [情報]停止中:タスクを待っている2016-11-18 11:07:22.de。 [情報]すべてのタスクを待っている1 2016-11-18 11:07:22.de。 [INFO] APNSクライアント[1]:送信バッチID = 1、数= 1 2016-11-18 11:07:22.de。 [情報] APNSクライアント[1]:バッチを送信し、応答を待っています... Apple通知に失敗しました:ID = 1、 コード= ConnectionError 2016-11-18 11:07:22.de。 [情報]すべてのタスク 完了2016-11-18 11:07:22.de。 [情報]渡されたときすべて2016-11-18 11:07:22.de。 [INFO] Broker IsCompleted 2016-11-18 11:07:22.de。 [DEBUG] ブローカタスクが終了しました2016-11-18 11:07:22.de。 [情報]停止中:完了 タスクを待機中2016-11-18 11:07:22.de。 [INFO] APNS-Clientは、[1]:...バッチタイマーをreseting、バッチID = 1のための読み を完了

+2

[この問題](https://github.com/Redth/PushSharp/issues/771)をご覧ください。 – dymanoid

答えて

8

ではan older versionのように、それはこのように働いていたようです:

var n = new AppleNotification().WithPasskitUpdate(); 

機能WithPasskitUpdate()はもう利用できませんが、これは同等でなければなりません:

var notif = new ApnsNotification(); 
notif.DeviceToken = token; 
notif.Payload = payload; 

はそれをテストしていないが、コードを確認した後、多分それは仕事ができます。基本的には、この方法でtoken length check in the ApnsNotification constructorをバイパスしています(トークンがパスキットプッシュに対して小さい場合は、おそらく修正されるはずです)。

正しい証明書(通常のプッシュ通知の証明書とは異なると思われる)を使用して、通帳用のサンドボックス環境がないと思われるため、本番設定を使用してください(this answer参照)。

ApnsConfigurationコンストラクタのvalidateIsApnsCertificateパラメータには、falseを渡す必要があります。プッシュキット証明書を処理しない証明書のチェックがあるためです。

var config = new ApnsConfiguration(ApnsConfiguration.ApnsServerEnvironment.Production, certificateFile, certificateFilePwd, false); 
+0

また、正しい証明書(通常のプッシュ通知の証明書とは異なるようです)を使用して、通帳のサンドボックス環境がないように見えるので、これを実動証明書でテストしてください([この回答] /stackoverflow.com/a/30493091/594074))。 –

+0

ありがとう!私はあなたのコードを試してみましょう、そして証明書はOKです、それは100%です。 – Tom

+0

私は試しましたが、この問題は修正されましたが、別の問題が発生しました。 Pls。私の質問で私の更新をチェックしてください。どうもありがとう! – Tom

関連する問題