私はサードパーティのライブラリnotnoop/java-apnsを使用しています。それは使いやすいです。問題は、Mavenの中央にバージョン1.0.0.Beta3で解決され
java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "modifyThreadGroup")
:Javaの例外以下のようにあなたが会うことができる唯一の問題は、GAE上のスレッドの制限です。詳細は、このプルリクエスト#162で解説しています。
だから、のAPNにプッシュ通知を作成し、送信するための例示的なコード・スニペットは、以下のようなものである必要がをチェックアウトできる
// Prepare ApnsService
ClassPathResource certificate = new ClassPathResource("aps_production.p12");
ApnsService service = null;
try {
service = APNS.newService()
.withErrorDetectionThreadFactory(ThreadManager.currentRequestThreadFactory()) // use GAE currentRequestThreadFactory
.withCert(certificate.getInputStream(), certificatePassword)
.withProductionDestination()
.build();
} catch (InvalidSSLConfig | IOException e) {
logger.warn("Fail to initialize APNs service");
}
// Send notification
String apnsPayload = APNS.newPayload()
.alertBody("test alert")
.badge(1)
.sound("default")
.customField("type", "general")
.build();
service.push(<your device id>, apnsPayload);
まだベータ段階ですが、私は短期間で必要です。私はサインアップしましたが、私は希望がありません。 –
大量のユーザーがいる場合は、GAEが提供する無料のクォータが十分であるとは考えられません。もちろん、GAEが話している別のサーバーを構築することもできます。 –
もちろん、私はAppleの通知のためだけに1台のサーバーを構築したくありません。私はGAEでAPNSを作成する方法を模索していますが、Urban Airshipが少量のユーザーのために無料であるかどうか、またはサーバーがあまりにも多くの通知を持つユーザーをたくさん抱えるかどうかはわかりません(私はチャットを作成しています私はメッセージを書いて、他の人に通知しなければなりません)。とにかくありがとう。 –