友盟消息推送总结

2017-06-29  本文已影响77人  Hris

分享的文章连接

1  http://blog.csdn.net/shenjie12345678/article/details/41120637

2;http://dev.umeng.com/push/ios/integration

重点解析:

1:如何获得友盟推送的AppKey?

1.1登陆到友盟的消息推送界面——>添加应用,出现如下界面

其中开发证书是指:在钥匙串中导出的Development的证书

生产证书是指:在钥匙串中导出的Production生产的证书

2:下载消息推送的SDK

3: 代码  在AppDelegate.h添加

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

[self pushNotification:launchOptions];

return YES;

}

#pragma mark====消息推送配置

-(void)pushNotification:(NSDictionary*)launchOptions{

[UMessage startWithAppkey:@"5578f54967e58e03ad008619" launchOptions:launchOptions];

//#define IS_iOS8 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0 ? YES : NO)

if(IS_iOS8)

{

//register remoteNotification types (iOS 8.0及其以上版本)

UIMutableUserNotificationAction *action1 = [[UIMutableUserNotificationAction alloc] init];

action1.identifier = @"action1_identifier";

action1.title=@"Accept";

action1.activationMode = UIUserNotificationActivationModeForeground;//当点击的时候启动程序

UIMutableUserNotificationAction *action2 = [[UIMutableUserNotificationAction alloc] init];  //第二按钮

action2.identifier = @"action2_identifier";

action2.title=@"Reject";

action2.activationMode = UIUserNotificationActivationModeBackground;//当点击的时候不启动程序,在后台处理

action2.authenticationRequired = YES;//需要解锁才能处理,如果action.activationMode = UIUserNotificationActivationModeForeground;则这个属性被忽略;

action2.destructive = YES;

UIMutableUserNotificationCategory *categorys = [[UIMutableUserNotificationCategory alloc] init];

categorys.identifier = @"category1";//这组动作的唯一标示

[categorys setActions:@[action1,action2] forContext:(UIUserNotificationActionContextDefault)];

UIUserNotificationSettings *userSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge|UIUserNotificationTypeSound|UIUserNotificationTypeAlert

categories:[NSSet setWithObject:categorys]];

[UMessage registerRemoteNotificationAndUserNotificationSettings:userSettings];

} else{

//register remoteNotification types (iOS 8.0以下)

[UMessage registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge

|UIRemoteNotificationTypeSound

|UIRemoteNotificationTypeAlert];

}

//是否开启消息推送

[UMessage setLogEnabled:YES];

}

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

{

[UMessage registerDeviceToken:deviceToken];

}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{

NSLog(@"userInfo == %@",userInfo);

NSString *message = [[userInfo objectForKey:@"aps"]objectForKey:@"alert"];

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:message delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];

[alert show];

}

上一篇下一篇

猜你喜欢

热点阅读