我试图确定用户是否为我的应用程序使用phonegap(版本1.7)启用了推送通知。检查用户是否使用电话支持在iPhone上推送通知1.7
到目前为止,我只想出了this插件,它没有专门用于检查问题的方法,但确实有注册推送通知的方法,该方法可能会返回错误,这可能会对用户进行指示禁用推送通知。但正如你所看到的那样,这非常含糊。
所以我的问题是 - 是否有插件(或任何其他方式)来确定用户是否启用了我的应用程序的推送通知?
我试图确定用户是否为我的应用程序使用phonegap(版本1.7)启用了推送通知。检查用户是否使用电话支持在iPhone上推送通知1.7
到目前为止,我只想出了this插件,它没有专门用于检查问题的方法,但确实有注册推送通知的方法,该方法可能会返回错误,这可能会对用户进行指示禁用推送通知。但正如你所看到的那样,这非常含糊。
所以我的问题是 - 是否有插件(或任何其他方式)来确定用户是否启用了我的应用程序的推送通知?
您可以检查任何类型的推送通知都可以使用此启用:
if([UIApplication sharedApplication].enabledRemoteNotificationTypes == UIRemoteNotificationTypeNone)
这种状态可以通过呼叫装置后准备一个简单的插件来accesd。
UPDATE:写插件,该插件内,请检查状态,如果你需要将其保存在你需要一个服务器端API和一些本地端代码服务器首先返回的JavaScript
,上IOS注册推送通知后有两个回调函数
didRegisterForRemoteNotificationsWithDeviceToken
如果成功,您可以使用设备ID或任何唯一ID向您的服务器发送请求,以便保存已注册的设备。
(无效)应用:(UIApplication的*)应用didRegisterForRemoteNotificationsWithDeviceToken:(NSData的*)deviceToken {
的NSString *标记= [[[[deviceToken描述] stringByReplacingOccurrencesOfString:@ “<” withString:@ “”] stringByReplacingOccurrencesOfString:@“>”withString:@“”] stringByReplacingOccurrencesOfString:@“”withString:@“”];
[self postUpdateRequest:token]; //请求到服务器
}
发送POST请求使用
NSURL *aUrl = [NSURL URLWithString:uRI];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:aUrl cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
[request setHTTPMethod:@"POST"];
NSString *postString [email protected]"Your Data";
[request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *connection= [[NSURLConnection alloc] initWithRequest:request
delegate:self];
[connection start];
if(connection) {
// success
} else {
//error
}
如果注册失败(didFailToRegisterForRemoteNotificationsWithError),您可以发送requset服务器有数据错误或不。
设备准备就绪后,从手机端发送一个ajax请求给您的服务器,并检查您的设备是否注册。为了获得唯一的ID你可以使用简单的插件。编写简单的插件,请点击此http://docs.phonegap.com/en/edge/guide_hybrid_plugins_index.md.html#Plugin%20Development%20Guide
可惜你不能为你的应用从应用程序代码启用或禁用推送通知。check this
感谢您的重播,但我的问题是:我怎么知道用户勾选了他的iPhone上的“允许推送通知”为我的应用程序。这似乎没有回答它(除非我失去了一些东西)。 –
@OrenA检查我的编辑 –
我不想从应用程序代码启用或禁用我的应用程序的推送通知。我想知道用户为我的应用选择了什么。如果他为我的应用启用或禁用推送通知。 –