できます。 警告なしでプッシュ通知を送信することは可能です。 バッジ通知だけにアプリケーションを登録することもできます。その場合、プロバイダサーバーはアラートやサウンドを送信することさえできません。
通知ペイロード
各プッシュ通知は、それにペイロードを運びます。ペイロード は、 がクライアントアプリケーションにダウンロードされるのを待っているデータにアラートを表示する方法を指定します。 通知ペイロードに許可される最大サイズは256バイトです。 Apple Push Notification Service は、この制限を超える通知を拒否します。 通知の配信は「ベストエフォート」であり、保証されていないことに注意してください。
通知ごとに、プロバイダーはRFC 4627に厳密に準拠したJSON辞書オブジェクト を作成する必要があります。この辞書には、 キーapsで識別される別の辞書が含まれている必要があります。 APS辞書 は、次のアクションを指定する1つのまたは複数のプロパティが含まれています
ユーザー
に
を再生するサウンドとアプリケーションアイコンをバッジの番号を表示するアラートメッセージ
one or more of the properties
ということに注意してください。 alertプロパティはオプションです。空のaps
辞書を使用して通知を送信することもできます(つまり、カスタムプロパティのみを送信する)。
実施例5。次の例は、空のAP辞書を示しています。 バッジプロパティがないため、アプリケーションアイコンの と表示されている現在のバッジ番号はすべて削除されます。 acme2カスタムプロパティは、 の2つの整数の配列です。ザ・のみ、ユーザーがプッシュ通知を許可するかどうかを彼女/それを彼に尋ねる警告が表示されます警告
{
"aps" : {
},
"acme2" : [ 5, 8 ]
}
。そのアラートは、インストール後に初めてアプリを起動したときにのみ表示されます。あなたは非アラート通知に登録(バッジとのみに聞こえる)この例では
:
Listing 2-3 Registering for remote notifications
- (void)applicationDidFinishLaunching:(UIApplication *)app {
// other setup tasks here....
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
}
// Delegation methods
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken {
const void *devTokenBytes = [devToken bytes];
self.registered = YES;
[self sendProviderDeviceToken:devTokenBytes]; // custom method
}
- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err {
NSLog(@"Error in registration. Error: %@", err);
}
すべての引用は、アップル現地から採取し、ガイドをプログラミングプッシュ通知しています。
AFAIKはOSによって完全に処理されます。アラートを表示したくない具体的な理由はありますか? – Anupdas
アプリは非常に高い頻度でビルドされているので、ユーザーにバグを抱かせたくありません。あなたが言っていることによると、ユーザーが通知センターに行ってアラートを無効にした場合のみ、 –
@ Pandu1251はあなたの最後の見解を理解していませんでした..あなたはどのような論理について話していますか? –