Ios C2Call推送通知
你能帮我检查一下在配置过程中是否遗漏了什么,因为一旦应用程序被终止,我就无法收到通知。如果应用程序只是最小化,则会显示呼叫通知,但对于即时消息,手机只会发出砰砰声,而不会显示通知。 使用C2Call如何在AppDelegate子类中调用下面的方法Ios C2Call推送通知,ios,ios7,apple-push-notifications,Ios,Ios7,Apple Push Notifications,你能帮我检查一下在配置过程中是否遗漏了什么,因为一旦应用程序被终止,我就无法收到通知。如果应用程序只是最小化,则会显示呼叫通知,但对于即时消息,手机只会发出砰砰声,而不会显示通知。 使用C2Call如何在AppDelegate子类中调用下面的方法 [super application:didRegisterForRemoteNotificationsWithDeviceToken]; - (void)application:(UIApplication *)application did
[super application:didRegisterForRemoteNotificationsWithDeviceToken];
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken {
//[self registerDeviceToken:devToken];
// Get Bundle Info for Remote Registration (handy if you have more than one app)
NSString *appName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];
NSString *appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
// Check what Notifications the user has turned on. We registered for all three, but they may have manually disabled some or all of them.
//
NSUInteger rntypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
// Set the defaults to disabled unless we find otherwise...
NSString *pushBadge = @"disabled";
NSString *pushAlert = @"disabled";
NSString *pushSound = @"disabled";
if(rntypes == UIRemoteNotificationTypeBadge){
pushBadge = @"enabled";
}
else if(rntypes == UIRemoteNotificationTypeAlert){
pushAlert = @"enabled";
}
else if(rntypes == UIRemoteNotificationTypeSound){
pushSound = @"enabled";
}
else if(rntypes == ( UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert)){ pushBadge = @"enabled";
pushAlert = @"enabled";
}
else if(rntypes == ( UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)){ pushBadge = @"enabled";
pushSound = @"enabled";
}
else if(rntypes == ( UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)){ pushAlert = @"enabled";
pushSound = @"enabled";
}
else if(rntypes == ( UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)){
pushBadge = @"enabled";
pushAlert = @"enabled";
pushSound = @"enabled";
}
// Get the users Device Model, Display Name, Unique ID, Token & Version Number
UIDevice *dev = [UIDevice currentDevice];
// NSString *deviceUuid=dev.uniqueIdentifier;
NSString *deviceUuid = [[dev identifierForVendor] UUIDString];
NSString *deviceName = dev.name;
NSString *deviceModel = dev.model;
NSString *deviceSystemVersion = dev.systemVersion;
//Prepare the Device Token for Registration (remove spaces and < >)
NSString *deviceToken = [[[[devToken description] stringByReplacingOccurrencesOfString:@"<"withString:@""] stringByReplacingOccurrencesOfString:@">" withString:@""] stringByReplacingOccurrencesOfString: @" " withString: @""];
NSString *urlString = [@"/pushservice/apns/user/register"stringByAppendingString:@"r=user/register"];
NSLog(@"devicetoken length: %i", [deviceToken length]);
urlString = [urlString stringByAppendingString:@"&appname="];
urlString = [urlString stringByAppendingString:appName];
urlString = [urlString stringByAppendingString:@"&appversion="];
urlString = [urlString stringByAppendingString:appVersion];
urlString = [urlString stringByAppendingString:@"&deviceuid="];
urlString = [urlString stringByAppendingString:deviceUuid];
urlString = [urlString stringByAppendingString:@"&devicetoken="];
urlString = [urlString stringByAppendingString:deviceToken];
urlString = [urlString stringByAppendingString:@"&devicename="];
urlString = [urlString stringByAppendingString:deviceName];
urlString = [urlString stringByAppendingString:@"&devicemodel="];
urlString = [urlString stringByAppendingString:deviceModel];
urlString = [urlString stringByAppendingString:@"&deviceversion="];
urlString = [urlString stringByAppendingString:deviceSystemVersion];
urlString = [urlString stringByAppendingString:@"&pushbadge="];
urlString = [urlString stringByAppendingString:pushBadge];
urlString = [urlString stringByAppendingString:@"&pushalert="];
urlString = [urlString stringByAppendingString:pushAlert];
urlString = [urlString stringByAppendingString:@"&pushsound="];
urlString = [urlString stringByAppendingString:pushSound];
NSUserDefaults *def=[NSUserDefaults standardUserDefaults];
[def setObject:deviceToken forKey:@"token"];
[def synchronize];
//[super application:didRegisterForRemoteNotificationsWithDeviceToken];
}
[超级应用程序:DidRegisterForRemotionTificationsWithDeviceToken];
-(无效)应用程序:(UIApplication*)应用程序DIDregisterForRemotionTificationswithDeviceToken:(NSData*)devToken{
//[自注册设备登录:devToken];
//获取用于远程注册的捆绑包信息(如果您有多个应用程序,则很方便)
NSString*appName=[[[NSBundle mainBundle]信息字典]objectForKey:@“CbundleDisplayName”];
NSString*appVersion=[[NSBundle mainBundle]infoDictionary]objectForKey:@“CbundLeverVersion”];
//检查用户已打开的通知。我们已注册了所有三个通知,但他们可能已手动禁用其中的部分或全部通知。
//
NSUTEGER rntypes=[[UIApplication sharedApplication]enabledRemoteNotificationTypes];
//设置默认为禁用,除非我们发现其他。。。
NSString*pushBadge=@“已禁用”;
NSString*pushAlert=@“已禁用”;
NSString*pushSound=@“已禁用”;
如果(rntypes==UIRemoteNotificationTypeBadge){
pushBadge=@“已启用”;
}
else if(rntypes==UIRemoteNotificationTypeAlert){
pushAlert=@“已启用”;
}
else if(rntypes==UIRemoteNotificationTypeSound){
pushSound=@“已启用”;
}
如果(rntypes==(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert)){pushBadge=@“已启用”;
pushAlert=@“已启用”;
}
如果(rntypes==(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)){pushBadge=@“已启用”;
pushSound=@“已启用”;
}
如果(rntypes==(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)){pushAlert=@“已启用”;
pushSound=@“已启用”;
}
else if(rntypes==(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)){
pushBadge=@“已启用”;
pushAlert=@“已启用”;
pushSound=@“已启用”;
}
//获取用户设备型号、显示名称、唯一ID、令牌和版本号
UIDevice*dev=[UIDevice currentDevice];
//NSString*deviceUuid=dev.uniqueIdentifier;
NSString*deviceUuid=[[dev identifierForVendor]UUIString];
NSString*deviceName=dev.name;
NSString*deviceModel=dev.model;
NSString*deviceSystemVersion=dev.systemVersion;
//准备要注册的设备令牌(删除空格和<>)
NSString*deviceToken=[[[[devToken description]StringByReplacingOccurrencessOfString:@”“with String:@”“]stringByReplacingOccurrencesOfString:@”“with String:@”“];
NSString*urlString=[@”/pushservice/apns/user/register“stringByAppendingString:@“r=user/register”];
NSLog(@“devicetoken长度:%i”,[devicetoken长度];
urlString=[urlString stringByAppendingString:@“&appname=“”;
urlString=[urlString stringByAppendingString:appName];
urlString=[urlString stringByAppendingString:@“&appversion=“”;
urlString=[urlString stringByAppendingString:appVersion];
urlString=[urlString stringByAppendingString:@“&deviceuid=“”;
urlString=[urlString stringByAppendingString:deviceUuid];
urlString=[urlString stringByAppendingString:@“&devicetoken=“”;
urlString=[urlstringstringbyappendingstring:deviceToken];
urlString=[urlString stringByAppendingString:@“&devicename=“”;
urlString=[urlString stringByAppendingString:deviceName];
urlString=[urlString stringByAppendingString:@“&devicemodel=“”;
urlString=[urlString stringByAppendingString:deviceModel];
urlString=[urlString stringByAppendingString:@“&deviceversion=“”;
urlString=[urlString stringByAppendingString:deviceSystemVersion];
urlString=[urlString stringByAppendingString:@“&pushbadge=“”;
urlString=[urlString stringByAppendingString:pushBadge];
urlString=[urlString stringByAppendingString:@“&pushalert=“”;
urlString=[urlString stringByAppendingString:pushAlert];
urlString=[urlString stringByAppendingString:@“&pushsound=“”;
urlString=[urlstringstringbyappendingstring:pushSound];
NSUserDefaults*def=[NSUserDefaults standardUserDefaults];
[def setObject:deviceToken forKey:@“令牌”];
[def同步];
//[超级应用程序:DidRegisterForRemotonificationsWithDeviceToken];
}
-(无效)应用程序:(UIApplication*)应用程序didRegisterForRemotonificationswithDeviceToken:(NSData*)devToken{
[超级应用程序:DidRegisterForRemotonificationsWithDeviceToken];
//[自注册设备登录:devToken];
//获取用于远程注册的捆绑包信息(如果您有多个应用程序,则很方便)
NSString*appName=[[[NSBundle mainBundle]信息字典]objectForKey:@“CbundleDisplayName”];
NSString*appVersion=[[NSBundle mainBundle]infoDictionary]objectForKey:@“CbundLeverVersion”];
//检查用户已打开的通知。我们已注册了所有三个通知,但他们可能已手动禁用其中的部分或全部通知。
//
NSUTEGER rntypes=[[UIApplication sharedApplication]enabledRemoteNotificationTypes];
//设置默认为禁用,除非我们发现其他。。。
NSString*pushBadge=@“已禁用”;
NSString*pushAlert=@“已禁用”;
NSString*pushSound=@“已禁用”;
如果(rntypes==UIRemoteNotificationTypeBadge){
pushBadge=@“已启用”;
}
else if(rntypes==UIRemoteNotificationTypeAlert){
pushAlert=@“已启用”;
}
else if(rntypes==UIRemoteNotificationTypeSound){
pushSound=@“已启用”;
}
如果(rntypes==(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert)){pushBadge=@“已启用”;
pushAlert=@“已启用”;
}
如果(rntypes==(U
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken {
[super application:didRegisterForRemoteNotificationsWithDeviceToken];
//[self registerDeviceToken:devToken];
// Get Bundle Info for Remote Registration (handy if you have more than one app)
NSString *appName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];
NSString *appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
// Check what Notifications the user has turned on. We registered for all three, but they may have manually disabled some or all of them.
//
NSUInteger rntypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
// Set the defaults to disabled unless we find otherwise...
NSString *pushBadge = @"disabled";
NSString *pushAlert = @"disabled";
NSString *pushSound = @"disabled";
if(rntypes == UIRemoteNotificationTypeBadge){
pushBadge = @"enabled";
}
else if(rntypes == UIRemoteNotificationTypeAlert){
pushAlert = @"enabled";
}
else if(rntypes == UIRemoteNotificationTypeSound){
pushSound = @"enabled";
}
else if(rntypes == ( UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert)){ pushBadge = @"enabled";
pushAlert = @"enabled";
}
else if(rntypes == ( UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)){ pushBadge = @"enabled";
pushSound = @"enabled";
}
else if(rntypes == ( UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)){ pushAlert = @"enabled";
pushSound = @"enabled";
}
else if(rntypes == ( UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)){
pushBadge = @"enabled";
pushAlert = @"enabled";
pushSound = @"enabled";
}
// Get the users Device Model, Display Name, Unique ID, Token & Version Number
UIDevice *dev = [UIDevice currentDevice];
// NSString *deviceUuid=dev.uniqueIdentifier;
NSString *deviceUuid = [[dev identifierForVendor] UUIDString];
NSString *deviceName = dev.name;
NSString *deviceModel = dev.model;
NSString *deviceSystemVersion = dev.systemVersion;
//Prepare the Device Token for Registration (remove spaces and < >)
NSString *deviceToken = [[[[devToken description] stringByReplacingOccurrencesOfString:@"<"withString:@""] stringByReplacingOccurrencesOfString:@">" withString:@""] stringByReplacingOccurrencesOfString: @" " withString: @""];
NSString *urlString = [@"/pushservice/apns/user/register"stringByAppendingString:@"r=user/register"];
NSLog(@"devicetoken length: %i", [deviceToken length]);
urlString = [urlString stringByAppendingString:@"&appname="];
urlString = [urlString stringByAppendingString:appName];
urlString = [urlString stringByAppendingString:@"&appversion="];
urlString = [urlString stringByAppendingString:appVersion];
urlString = [urlString stringByAppendingString:@"&deviceuid="];
urlString = [urlString stringByAppendingString:deviceUuid];
urlString = [urlString stringByAppendingString:@"&devicetoken="];
urlString = [urlString stringByAppendingString:deviceToken];
urlString = [urlString stringByAppendingString:@"&devicename="];
urlString = [urlString stringByAppendingString:deviceName];
urlString = [urlString stringByAppendingString:@"&devicemodel="];
urlString = [urlString stringByAppendingString:deviceModel];
urlString = [urlString stringByAppendingString:@"&deviceversion="];
urlString = [urlString stringByAppendingString:deviceSystemVersion];
urlString = [urlString stringByAppendingString:@"&pushbadge="];
urlString = [urlString stringByAppendingString:pushBadge];
urlString = [urlString stringByAppendingString:@"&pushalert="];
urlString = [urlString stringByAppendingString:pushAlert];
urlString = [urlString stringByAppendingString:@"&pushsound="];
urlString = [urlString stringByAppendingString:pushSound];
NSUserDefaults *def=[NSUserDefaults standardUserDefaults];
[def setObject:deviceToken forKey:@"token"];
[def synchronize];
}