AppDelegate中的协议方法中
远程推送其实就是手机端与后台和苹果平台之间来回'窜'的形式,首先要得到的就是相当于手机自己独有的标识:deviceToken 这个首先要让后台知道你的手机的标识 ,然后后台要发送推送消息的时候就告诉苹果后台要发送消息给哪个手机发送什么样的消息,这个时候手机就收到特定的消息了.大体就是这个意思,具体怎么实现就看看下面的代码吧...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// 注册远程通知服务(第一次注册服务的时候会弹出提醒框,让用户授权)
//数字文字 声音 图片
[application registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert];
UILabel *label = [[UILabel alloc] init];
label.backgroundColor = [UIColor lightGrayColor];
label.frame = CGRectMake(0, 100, 320, 300);
label.font = [UIFont systemFontOfSize:15];
label.numberOfLines = 0;
[self.window.rootViewController.view addSubview:label];
NSDictionary *userInfo = launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey];
if (userInfo) {
label.text = [userInfo description];
} else {
label.text = @"直接点击app图标启动的程序";
}
return YES;
}
/**
* 获得了设备想DeviceToken
*/
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
NSLog(@"注册远程通知成功----%@", deviceToken);
/**
1.将deviceToken发送给公司的服务器
c330833f 248c4fed e87068b6 c4b90ee8 a2b57119 aac2b93d 3f2eb27f e7d44c8c
c330833f 248c4fed e87068b6 c4b90ee8 a2b57119 aac2b93d 3f2eb27f e7d44c8c
*/
/**
2.
*/
}
/**
* 接收到远程推送通知时就会调用
*/
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
NSLog(@"接收到远程通知--%@", userInfo[@"userInfo"]);
}
//进入后台的协议方法
-(void)applicationDidEnterBackground:(UIApplication *)application
{
NSLog(@"进入后台啦");
}
//软件被杀死啦
- (void)applicationWillTerminate:(UIApplication *)application{
NSLog(@"软件别杀死啦");
}
网友评论