极光推送

一.首先进入极光官网
1.注册一个号
2.建一个你自己对应的项目,然后获取Appkey
填写你的Boundle id (这个就是你xcode里面plist那里)

Screenshot_13-4_2_create.jpg

3然后我们要上传这两个p12文件才能实现推送这个功能(下面第二步我们就去苹果开发者中心去生成)


create_ios_app.jpg

二 生成开发证书和生产证书()
1.(https://idmsa.apple.com/IDMSWebAuth/login?appIdKey=891bd3417a7776362562d2197f89480a8547b108fd934911bcbea0110d07f757&path=%2Faccount%2F&rv=1)这是跳到开发者中心的链接,输入你公司的账号密码。登录
然后点击App IDs进入App ID列表。

appid.png

然后选择这个

A0XNY8$C@$Z)398FU8B4O(V.png

添加你的id

appid2.png

然后就选择和填这几个选项
1.1*(这里的名字你可以选择你自己喜欢的填写)
![53[HFA(PT({`8``[])O4IS.png

Z2WS`0O$M7H83AM305C9PCI.png
YAUEYA6J4F9$TI9$KUHV2CD.png

最后在 continue
2.现在进入正题开始生成开发和生产证书了

image.png

这里的开发证书和生产证书两个选项只能选择一个(当你选择生成的是开发证书的时候就选择开发证书,反之你就选择生产证书)


image.png
image.png

这里点击钥匙那里然后就可以这里了


image.png
image.png

继续返回Apple developer 网站点击 Continue ,上传刚刚生成的 .certSigningRequest 文件生成 APNs Push Certificate。
下载并双击打开证书,证书打开时会启动“钥匙串访问”工具。
在“钥匙串访问”中你的证书会显示在“我的证书”中,注意选择“My Certificates” 和"login"

image.png

注意要选“login”和“My Certificates” 导出证书时要选中证书文件,不要展开private key。(这里可能第一次按右键不会出现导出证书这个选项,多点几次就会出来)

image.png

将文件保存为Personal Information Exchange (.p12)格式。


image.png

就搞定了,这里的步骤你要做两次,一次是生成开发证书p12,一次是生成生产证书p12。然后你再回到极光推送那里把这两个对应上传上去密码也输入上去就搞定了。

最后极光和苹果官方这两块搞定了,最后导入到xcode那里就搞定了。
导入SDK

选择1:Cocoapods导入(如何没有安装cocoapods的,看看这篇文章http://www.jianshu.com/p/a1709c1d292d
通过Cocoapods下载地址:
pod 'JPush'
如何你是swift
把下面这个粘贴到桥文件上

import "JPUSHService.h"

oc自己声明弄到appdelegate上

然后开网
info.plist 中添加如下配置以支持 http 传输。

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
把这里几个选项勾选了


image.png
image.png

最后来粘贴代码

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow?
 
func application(_ application: UIApplication,
                 didFinishLaunchingWithOptions
                    launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
   
    //通知类型(这里将声音、消息、提醒角标都给加上)
    let userSettings = UIUserNotificationSettings(types: [.alert, .badge, .sound],
                                                  categories: nil)
    if ((UIDevice.current.systemVersion as NSString).floatValue >= 8.0) {
        //可以添加自定义categories
        JPUSHService.register(forRemoteNotificationTypes: userSettings.types.rawValue,
                                                        categories: nil)
    }
    else {
        //categories 必须为nil
        JPUSHService.register(forRemoteNotificationTypes: userSettings.types.rawValue,
                                                        categories: nil)
    }
     
    // 启动JPushSDK
    JPUSHService.setup(withOption: nil, appKey: "7b528331738ec719195798fd",
                                 channel: "Publish Channel", apsForProduction:true)

    return true
}

 
func application(_ application: UIApplication,
                 didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    //注册 DeviceToken
    JPUSHService.registerDeviceToken(deviceToken)
}
 
func application(_ application: UIApplication,
                 didReceiveRemoteNotification userInfo: [AnyHashable : Any],
                 fetchCompletionHandler
                    completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
    //增加IOS 7的支持
    JPUSHService.handleRemoteNotification(userInfo)
    completionHandler(UIBackgroundFetchResult.newData)
}
 
func application(_ application: UIApplication,
                 didFailToRegisterForRemoteNotificationsWithError error: Error) {
    //可选
    NSLog("did Fail To Register For Remote Notifications With Error: \(error)")
}
 
//..........

}
JPUSHService.setupWithOption()方法的参数说明:
channel
指明应用程序包的下载渠道,为方便分渠道统计,具体值由你自行定义,如:App Store。
appKey
填写管理Portal上创建应用后自动生成的AppKey值。请确保应用内配置的 AppKey 与第1步在 Portal 上创建应用后生成的 AppKey 一致。
apsForProduction
1.3.1版本新增,用于标识当前应用所使用的APNs证书环境。
0 (默认值)表示采用的是开发证书,1 表示采用生产证书发布应用。
注:此字段的值要与Build Settings的Code Signing配置的证书环境一致。

最后我们来玩一波 (注意只能真机测试,模拟器不行)

![@TM3I_~KV(7GKOG3Y)_W_9.jpg
如果后台打印了这些证书成功了

image.png

3,将程序退出。接着我们到极光推送网站上的控制台模块来进行消息发送的测试。
在“推送”->“发送通知”页面中,输入需要推送的消息及相关配置(这里我们选择广播,即给所有人都发生推送)。点击“立即发送”。

image.png
image.png

搞定解决。

总结:
1.apple.develop中的所有证书可以删除重新制作,对已上线的应用不会有影响
2.似乎生产环境下所有的设置好不能直接在真机上测试,需要打包ipa文件提交到iTunes上同步安装到手机上测试。这相当于模拟真实用户的操作,很实用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • 源文件出处程胖出品——极光推送(手把手教你啊) iOS开发中不可避免要使用到推送,JPush还是个不错的选择。本文...
    hx永恒之恋阅读 6,976评论 9 13
  • iOS开发中不可避免要使用到推送,JPush还是个不错的选择。本文主要介绍极光推送的过程。 写在前面:极光推送本身...
    胖子程阅读 3,422评论 66 110
  • 极光推送和百度比起来较为简单,但是很有新手对于集成极光推送时配置证书比较晕头转向,也没有太小白的教程,所以写了这个...
    Roct阅读 1,053评论 1 17
  • 极光推送注意事项一.申请极光推送的账号1.申请极光推送的账号,可以以个人的身份申请也可以以公司的身份申请,此账号可...
    GaryHuang阅读 2,234评论 0 9
  • 1:在极光开发者服务创建应用应用名称应用图标APNS开发证书(p12文件)(开发证书密码:-安装开发者证书到钥匙串...
    3ad997c871e9阅读 786评论 0 0