关闭

iOS远程推送之极光推送

971人阅读 评论(0) 收藏 举报
分类:

极光推送是给iOS客户端推送通知的工具。

只要在客户端嵌入SDK注册下就可以使用,方便快捷。

1.0 注册极光开发者账号:https://www.jpush.cn/common/#signup


填写注册信息


邮箱最好别用QQ邮箱验证是有延迟。

2.0创建应用



填写应用信息


点击创建我的应用完成后。


创建完成列表显示



配置app

1.0 下载极光推送SDKhttps://www.jpush.cn/common/products#product-download

将lib导入工程



添加依赖库。



如有变化具体参照官方文档。

添加一个plist文件名称PushConfig不能变。


plist文件添加键值


将下面的代码复制进app代理里面导入头文件

#import "JPUSHService.h"

#import <AdSupport/AdSupport.h>


- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    NSString *advertisingId = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
    //Required
    if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {
        //可以添加自定义categories
        [JPUSHService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |
                                                          UIUserNotificationTypeSound |
                                                          UIUserNotificationTypeAlert)
                                              categories:nil];
    } else {
        //categories 必须为nil
        [JPUSHService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
                                                          UIRemoteNotificationTypeSound |
                                                          UIRemoteNotificationTypeAlert)
                                              categories:nil];
    }
    //Required
    // 如需继续使用pushConfig.plist文件声明appKey等配置内容,请依旧使用[JPUSHService setupWithOption:launchOptions]方式初始化。
    [JPUSHService setupWithOption:launchOptions appKey:appKey
                          channel:channel
                 apsForProduction:isProduction
            advertisingIdentifier:advertisingId];
    
    return YES;
}

- (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    
    /// Required - 注册 DeviceToken
    [JPUSHService registerDeviceToken:deviceToken];
}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
    
    // Required,For systems with less than or equal to iOS6
    [JPUSHService handleRemoteNotification:userInfo];
}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
    
    // IOS 7 Support Required
    [JPUSHService handleRemoteNotification:userInfo];
    completionHandler(UIBackgroundFetchResultNewData);
}

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
    //Optional
    NSLog(@"did Fail To Register For Remote Notifications With Error: %@", error);
}
真机运行app。

测试极光推送

点击推送


点击发送通知


填写通知内容


填写后发送,发送成功后显示



手机上显示的内容截图



至此极光推送完成。

0
0
查看评论

iOS远程推送之使用极光推送

1极光的主要作用就是替公司的服务器管理用户的deviceToken,当公司需要推送消息的时候,公司后台服务器将极光管理的devicetoken和需要推送的内容发送给苹果后台服务器; 2https://www.jpush.cn,极光的官方网站,注册用户,新建应用(新建应用的时候需要两个p12文件),...
  • liujingran_2015
  • liujingran_2015
  • 2015-09-09 19:05
  • 263

iOS10 远程推送和本地推送

远程推送 添加新的框架 UserNotifications.framework #import <UserNotifications/UserNotifications.h>#pragma mark 注册推送 -(void)registerPushServer { i...
  • zihuofeng_
  • zihuofeng_
  • 2016-10-26 20:19
  • 2807

iOS远程推送测试

iOS远程推送测试怎么去配置远程推送证书,这里就不再重复了,大家可以看看本文后面的链接。本文重点是描述测试,包括开发测试以及发布测试。一、开发测试 这里需要用到终端,建议将aps_development.cer、pushMe.php、Push.p12放到一个文件夹中,假设名字是iOSDevelop...
  • yqmfly
  • yqmfly
  • 2015-08-14 11:56
  • 777

IOS 推送(本地推送、远程推送、三方推送[极光推送])

1.本地推送 关于本地推送的作用及意义:【后期完善】 实现步骤 大致4步:1创建通知、2注册通知、3实现函数、4删除通知 注意! 下面的内容中没有提到:在使用通知的时候,为了避免重复注册:最好在生命周期的函数中进行 注册 和 删除通知 如下: //注册通知 - (void)viewWillAp...
  • wokenshin
  • wokenshin
  • 2015-12-16 18:21
  • 1975

iOS 10 远程推送

iOS 10 之后 终于不用再适配 iOS 7了,如果再适配的话,光推送就要写3套。当然我们说的不算,老板说的算。 好了,废话不多说。直接进入主体。 代码开始前的设置 iOS 10 的推送 与原来的都不一样,他把本地的推送 跟 远程的推送结合到一起了,UserNotifications.framew...
  • qq_25527655
  • qq_25527655
  • 2016-09-20 17:03
  • 4121

iOS本地推送与远程推送详解(一图看懂)

一、简介分为本地推送和远程推送2种。可以在应用没有打开甚至手机锁屏情况下给用户以提示。它们都需要注册,注册后系统会弹出提示框(如下图)提示用户是否同意,如果同意则正常使用;如果用户不同意则下次打开程序也不会弹出该提示框,需要用户到设置里面设置。一共有三种提示类型:UIUserNotification...
  • jsd0915
  • jsd0915
  • 2017-05-31 14:05
  • 395

APNS 自定义铃声【极光推送】

IOS APNS自定义推送铃声 是推送给苹果服务器时 将 推送的 key = sound 的value = @“custom.xxx”。自定义铃声支持几种固定的格式。本人只以.caf为例讲解。 概述: 首先你需要将自己的铃声转换为.caf格式,然后将这些音频文件导入工程,最后后端在发送推...
  • wokenshin
  • wokenshin
  • 2016-08-15 16:09
  • 1881

iOS-远程推送自定义提示音

参考文章:Local and Remote Notification Programming Guide 无论是信鸽推送,还是极光推送,其实就是将苹果原声的APS进行封装。具体操作步骤在相应的官网上都有详细介绍以及Demo。本文主要讲述自定义声音遇到的坑,以下是相关硬性条件: 1.音频文件格式...
  • Crazy_SunShine
  • Crazy_SunShine
  • 2017-04-14 09:20
  • 1409

ios远程推送常见问题

常见问题: 1、在用证书和秘钥链接服务器时出现提示: Error opening client certificate private key filePushChatKey.pem20839:error:02001002:system library:fopen:No such file ord...
  • LiqunZhang
  • LiqunZhang
  • 2017-03-27 10:54
  • 720

iOS开发-- 常见坑(极光推送这只标签别名失败)

这个东西坑了我好几次了 在调用JPush设置别名和标签的方法之前,一定要在登录成功之后。 JPush提供了几种通知的状态 extern NSString *const kJPFNetworkIsConnectingNotification; // 正在连接中 extern NSString *...
  • MX_xuanXiao
  • MX_xuanXiao
  • 2016-07-26 15:34
  • 7443
    个人资料
    • 访问:122413次
    • 积分:1787
    • 等级:
    • 排名:千里之外
    • 原创:63篇
    • 转载:22篇
    • 译文:0篇
    • 评论:12条
    最新评论