これを使用して、任意のタイプのプッシュ通知が有効になっているかどうかを確認できます。
if([UIApplication sharedApplication].enabledRemoteNotificationTypes == UIRemoteNotificationTypeNone)
このステータスは、デバイスの準備ができた後に簡単なプラグインを呼び出すことでアクセスできます。
更新:プラグインを作成し、そのプラグイン内でステータスを確認してから javascript に戻ってください
最初にサーバーに保存する必要がある場合は、1 つのサーバー側 API といくつかのネイティブ側コードが必要です。ios にプッシュ通知を登録した後、2 つのコールバック関数があります。
- didFailToRegisterForRemoteNotificationsWithError
didRegisterForRemoteNotificationsWithDeviceToken
成功した場合は、デバイス ID または一意の ID を使用してサーバーにリクエストを送信し、登録済みのデバイスを保存できます。
(void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken {
NSString *token = [[[[deviceToken 説明] stringByReplaceingOccurrencesOfString:@"< "withString:@""] stringByReplaceingOccurrencesOfString:@">" withString:@""] stringByReplaceingOccurrencesOfString: @" " withString: @""];
[自己 postUpdateRequest:トークン]; // サーバーへのリクエスト
}
POSTリクエストの送信に使用
NSURL *aUrl = [NSURL URLWithString:uRI];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:aUrl cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
[request setHTTPMethod:@"POST"];
NSString *postString =@"Your Data";
[request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *connection= [[NSURLConnection alloc] initWithRequest:request
delegate:self];
[connection start];
if(connection) {
// success
} else {
//error
}
登録が失敗した場合 (didFailToRegisterForRemoteNotificationsWithError)、エラー データを含む要求セットをサーバーに送信できます。
デバイスの準備ができたら、phonegap 側から ajax リクエストをサーバーに送信し、デバイスが登録されているかどうかを確認します。一意の ID を取得するには、単純なプラグインを使用できます。シンプルなプラグインを作成するには、この http://docs.phonegap.com/en/edge/guide_hybrid_plugins_index.md.html#Plugin%20Development%20Guideに従ってください
残念ながら、アプリ コードからアプリのプッシュ通知を有効または無効にすることはできません。 これをチェックして