IOS开发使用极光平台进行远程推送

介绍一下,使用极光进行程序推送的使用步骤。
1.https://www.jpush.cn/common/到极光推送平台官方网站上下载最新的SDK。
2.Xcode创建一个工程,我这里测试工程名字为LTCsdnTest,然后到苹果开发者中心创建一个APPID
这里写图片描述并在这一项中选中Push Notifications(也就是苹果推送服务)
3.APPID创建完毕这时候就要下载证书了,点击Developement
并选择Apple Push Notification service SSL (Sandbox)然后点击继续到这个界面
这里写图片描述
选择你刚才的创建的那个APPID,点击继续
这里写图片描述
这时打开钥匙串,选择菜单 钥匙串访问 ->证书助理->从证书颁发机构请求证书,把得到的证书上传即可,成功后显示如下界面
这里写图片描述把证书下载下来,双击添加到钥匙串中,在钥匙串中找到这个证书
这里写图片描述
右键点击到出,得到一个P12文件,然后到极光官网创建一个应用程序
这里写图片描述
由于这里只做开发测试,所以上传一个IOS开发证书即可,其它根据需要上传,点击创建,成功之后显示这个界面
这里写图片描述
,保存这个AppKey
4。在LTCsdnTest中创建一个plist文件,文件名为PushConfig.plist
注意文件名必须为PushConfig,内容如下图所示,把AppKey换成你自己的key
这里写图片描述
5.把极光的SDK导入工程中,并添加如下系统库
这里写图片描述
6.在APPDelegate中导入头文件#import “APService.h”,并在添加如下代码

//在这个方法中添加补充如下代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    [APService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |UIUserNotificationTypeSound |UIUserNotificationTypeAlert)categories:nil];
    [[UIApplication sharedApplication] registerForRemoteNotifications];
    [APService setupWithOption:launchOptions];

    return YES;
}

以下方法实现向苹果APNS发送DeviceToken以及其它一些代理方法

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

    NSLog(@"%@", [NSString stringWithFormat:@"Device Token: %@", deviceToken]);
    [APService registerDeviceToken:deviceToken];
}

- (void)application:(UIApplication *)application
didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
    NSLog(@"did Fail To Register For Remote Notifications With Error: %@", error);
}

#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_7_1
- (void)application:(UIApplication *)application
didRegisterUserNotificationSettings:
(UIUserNotificationSettings *)notificationSettings {
}

- (void)application:(UIApplication *)application
handleActionWithIdentifier:(NSString *)identifier
forLocalNotification:(UILocalNotification *)notification
  completionHandler:(void (^)())completionHandler {
}


- (void)application:(UIApplication *)application
handleActionWithIdentifier:(NSString *)identifier
forRemoteNotification:(NSDictionary *)userInfo
  completionHandler:(void (^)())completionHandler {
}
#endif

- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo {
    [APService handleRemoteNotification:userInfo];
    NSLog(@"收到通知:%@", [self logDic:userInfo]);

}

- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:
(void (^)(UIBackgroundFetchResult))completionHandler {
    [APService handleRemoteNotification:userInfo];
    NSLog(@"收到通知:%@", [self logDic:userInfo]);


    completionHandler(UIBackgroundFetchResultNewData);
}

- (void)application:(UIApplication *)application
didReceiveLocalNotification:(UILocalNotification *)notification {
    [APService showLocalNotificationAtFront:notification identifierKey:nil];
}


- (NSString *)logDic:(NSDictionary *)dic {
    if (![dic count]) {
        return nil;
    }
    NSString *tempStr1 =
    [[dic description] stringByReplacingOccurrencesOfString:@"\\u"
                                                 withString:@"\\U"];
    NSString *tempStr2 =
    [tempStr1 stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""];
    NSString *tempStr3 =
    [[@"\"" stringByAppendingString:tempStr2] stringByAppendingString:@"\""];
    NSData *tempData = [tempStr3 dataUsingEncoding:NSUTF8StringEncoding];
    NSString *str =
    [NSPropertyListSerialization propertyListFromData:tempData
                                     mutabilityOption:NSPropertyListImmutable
                                               format:NULL
                                     errorDescription:NULL];
    return str;
}

7.然后到刚才的苹果开发者界面选择Provisioning Profiles栏的Development
这里写图片描述
点击+号继续
这里写图片描述
选择刚才的APP ID创建一个齿轮形状的prov文件,
这里写图片描述
继续下一步,选择开发者,选择所有想推送的设备,这里可以选择所有,下一步到这个界面,可以随便填一个名字,这里我填了LTCsdnTest
这里写图片描述
继续下载这个文件,并双击
这里写图片描述
就可以跑到手机上测试一下啦,然后到极光推送平台发送条消息测试一下,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值