5
pushsharpは、Apple Push Notification認証キー(有効期限はありません)を使用してAPNを送信するための新しいApple approachをサポートします。プッシュシャープと一緒に使う方法はありますか?そうでなければ、それをサポートする他のC#ライブラリがありますか?Appleプッシュ通知認証キーのPushsharpサポート
pushsharpは、Apple Push Notification認証キー(有効期限はありません)を使用してAPNを送信するための新しいApple approachをサポートします。プッシュシャープと一緒に使う方法はありますか?そうでなければ、それをサポートする他のC#ライブラリがありますか?Appleプッシュ通知認証キーのPushsharpサポート
ここにいます:
private string GetToken()
{
var algorithm = "ES256";
var teamID = "teamID";
var apnsKeyID = "apnsKeyID";
var apnsAuthKeyPath = @"apnsAuthKeyPath";
var epochNow = DateTimeOffset.Now.ToUnixTimeSeconds();
var header = new Dictionary<string, object>()
{
{ "alg", algorithm },
{ "kid" , apnsKeyID }
};
var payload = new Dictionary<string, object>()
{
{ "iss", teamID },
{ "iat", epochNow }
};
var privateKey = GetPrivateKey(apnsAuthKeyPath);
var token = Jose.JWT.Encode(payload, privateKey, algorithm: Jose.JwsAlgorithm.ES256, extraHeaders: header);
return token;
}
private CngKey GetPrivateKey(string apnsAuthKey)
{
using (var reader = File.OpenText(apnsAuthKey))
{
var ecPrivateKeyParameters = (ECPrivateKeyParameters)new PemReader(reader).ReadObject();
var x = ecPrivateKeyParameters.Parameters.G.AffineXCoord.GetEncoded();
var y = ecPrivateKeyParameters.Parameters.G.AffineYCoord.GetEncoded();
var d = ecPrivateKeyParameters.D.ToByteArrayUnsigned();
return EccKey.New(x, y, d);
}
}
その後、あなたは、単にのAPNでメソッドを送信呼び出すことができます。
こんにちは、あなたはこれに対する答えを見つけましたか?ありがとう。 – teapeng
いいえ、これまでサポートされているものはないと思います。私は古いコードと証明書を今のところ使い続けています。彼らは将来この機能を追加することを願っています –