关于极光推送我做的工作
来源:互联网 发布:淘宝买的鲜人参怎么样 编辑:程序博客网 时间:2024/05/18 23:25
要做极光推送就要先在官网上注册信息,登录后创建应用,点击获得appKey, 如果是推送iOS,要在developer.apple.com苹果官网上注册开发者证书和生产者证书,这两个证书均为.p12证书,配置完证书如何导出p12呢,依次把这两个证书点一次,进入字符串钥匙如果点不开就用command + 空格输入key点击回车就OK了.然后在对应证书的地方(注意证书名称要导出与appId对应的bundleID的证书)点击右键,点击导出即可.极光创建应用这块完事了那就开始写代码吧.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]];
self.window.backgroundColor = [UIColorwhiteColor];
NSString *advertisingId = [[[ASIdentifierManagersharedManager]advertisingIdentifier]UUIDString];
if ([[UIDevicecurrentDevice].systemVersionfloatValue] >= 8.0)
{
//可以添加自定义categories
[JPUSHServiceregisterForRemoteNotificationTypes:(UIUserNotificationTypeBadge |UIUserNotificationTypeSound | UIUserNotificationTypeAlert) categories:nil];
//[application registerUserNotificationSettings:]
} else
{
//categories 必须为nil
[JPUSHServiceregisterForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeSound |UIRemoteNotificationTypeAlert)categories:nil];
}
//Required
// 如需继续使用pushConfig.plist文件声明appKey等配置内容,请依旧使用[JPUSHService setupWithOption:launchOptions]方式初始化。
[JPUSHServicesetupWithOption:launchOptionsappKey:@"appKey"channel:@"publish channel"apsForProduction:YESadvertisingIdentifier:advertisingId];
if (launchOptions) {
NSDictionary *remoteNotification = [launchOptionsobjectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if (remoteNotification)
{
NSLog(@"推送消息==== %@",remoteNotification);
[selfgoToMssageViewControllerWith:remoteNotification];
}
}
self.window.rootViewController = [[ADViewControlleralloc]init];
[self.window makeKeyAndVisible];
}
returnYES ;
}
- (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
//
/// Required - 注册 DeviceToken
[JPUSHServiceregisterDeviceToken:deviceToken];
if ([[[NSUserDefaultsstandardUserDefaults]objectForKey:@"myPhoneText"]length] !=0) {
_Alisa = [[NSUserDefaultsstandardUserDefaults]objectForKey:@"myPhoneText"];
[JPUSHServicesetAlias:_AlisacallbackSelector:nilobject:self];
}
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
[JPUSHServicehandleRemoteNotification:userInfo];
application.applicationIconBadgeNumber =0;
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
// IOS 7 Support Required
[JPUSHServicehandleRemoteNotification:userInfo];
completionHandler(UIBackgroundFetchResultNewData);
NSDictionary *apn =[userInfovalueForKey:@"aps"];
NSString *content = [apnvalueForKey:@"alert"];
NSUserDefaults*pushJudge = [NSUserDefaultsstandardUserDefaults];
[pushJudge setObject:contentforKey:@"content"];
NSLog(@"------+%@+-----",content);
[selfgoToMssageViewControllerWith:userInfo];
}
- (void)goToMssageViewControllerWith:(NSDictionary*)msgDic
{
if ([[[NSUserDefaultsstandardUserDefaults]objectForKey:@"content"]length] !=0)
{
_Alert = [[NSUserDefaultsstandardUserDefaults]objectForKey:@"content"];
NSString *Repayment =@"【回款通知】";
NSString *red =@"【红包】";
NSString *interest =@"【加息卷】";
if ([_AlertrangeOfString:Repayment].location !=NSNotFound)
{
manageViewController *mvc = [[manageViewControlleralloc]init];
baseNavigationViewController *nav = [[baseNavigationViewControlleralloc]initWithRootViewController:mvc];
[self.window.rootViewControllerpresentViewController:navanimated:YEScompletion:nil];
}
elseif ([_AlertrangeOfString:red].location !=NSNotFound)
{
couponsViewController *cvc = [[couponsViewControlleralloc]init];
baseNavigationViewController *nav =[[baseNavigationViewControlleralloc]initWithRootViewController:cvc];
[self.window.rootViewControllerpresentViewController:navanimated:YEScompletion:nil];
}
elseif ([_AlertrangeOfString:interest].location !=NSNotFound)
{
interestViewController *ivc = [[interestViewControlleralloc]init];
baseNavigationViewController *nav =[[baseNavigationViewControlleralloc]initWithRootViewController:ivc];
[self.window.rootViewControllerpresentViewController:navanimated:YEScompletion:nil];
}
}
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
if ([[[NSUserDefaultsstandardUserDefaults]objectForKey:@"content"]length] !=0)
{
_Alert = [[NSUserDefaultsstandardUserDefaults]objectForKey:@"content"];
NSString *Repayment =@"【还款通知】";
NSString *red =@"【红包】";
NSString *interest =@"【加息卷】";
if ([_AlertrangeOfString:Repayment].location !=NSNotFound)
{
manageViewController *mvc = [[manageViewControlleralloc]init];
baseNavigationViewController *nav = [[baseNavigationViewControlleralloc]initWithRootViewController:mvc];
[self.window.rootViewControllerpresentViewController:navanimated:YEScompletion:nil];
}
elseif ([_AlertrangeOfString:red].location !=NSNotFound)
{
couponsViewController *cvc = [[couponsViewControlleralloc]init];
baseNavigationViewController *nav =[[baseNavigationViewControlleralloc]initWithRootViewController:cvc];
[self.window.rootViewControllerpresentViewController:navanimated:YEScompletion:nil];
}
elseif ([_AlertrangeOfString:interest].location !=NSNotFound)
{
interestViewController *ivc = [[interestViewControlleralloc]init];
baseNavigationViewController *nav =[[baseNavigationViewControlleralloc]initWithRootViewController:ivc];
[self.window.rootViewControllerpresentViewController:navanimated:YEScompletion:nil];
}
}
NSLog(@"\n程序进入后台");
[application setApplicationIconBadgeNumber:0];//清除角标
[application cancelAllLocalNotifications];
}
- (void)applicationWillEnterForeground:(UIApplication *)application
{
[application setApplicationIconBadgeNumber:0]; //清除角标
[application cancelAllLocalNotifications];
NSLog(@"\n程序进入前台");
}
- 关于极光推送我做的工作
- 关于极光推送的问题
- 关于极光推送的配置
- 关于极光推送的问题
- 极光推送 自己整理的关于极光的工具类
- 使用极光推送做iOS客户端的推送
- 关于极光推送的一些步骤
- 关于极光推送的一些编写方式...
- 极光推送关于证书的一些问题
- 关于极光推送的小应用
- iOS - 关于极光推送的步骤
- 关于极光推送SDK的简单接入
- 关于极光推送
- 埋在我和极光推送之间的那些坑,好用的极光推送文档
- 工作代码之 极光推送
- 给自己的项目做极光推送的步骤
- 在做极光推送的时候,出现以下错误提示
- 极光推送的使用方法
- java static
- CSS特效代码整理
- web页面位置详解
- 深入浅出JMS(四)--Spring和ActiveMQ整合的完整实例
- Openfire问题记录
- 关于极光推送我做的工作
- Android中的动态加载机制
- Web服务器处理HTTP压缩之gzip、deflate压缩
- codeforce之problems for round
- QuartZ Cron表达式
- 治好颈椎病就这么简单
- C++this指针
- git 命令
- 查看sqlserver的端口号