美文网首页
极光推送

极光推送

作者: saman0 | 来源:发表于2017-07-21 20:14 被阅读74次

一.首先进入极光官网
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上同步安装到手机上测试。这相当于模拟真实用户的操作,很实用。

相关文章

  • 极光推送

    极光推送视频地址,非常详细的极光推送视频 极光推送

  • 极光推送

    极光推送 tagprivate void initJpush() {//TODO 极光推送// JPushInte...

  • 极光推送进行远程推送

    借阅:极光推送进行远程推送 怎么使用极光推送进行远程推送 在极光官网注册极光推送创建一个应用在应用配置中导入两个证...

  • ios极光推送

    第一次使用极光推送,在这里把极光推送的步骤说一下,省的以后再次用到极光推送的时候,给忘了,其实,极光推送不难...

  • 【知识总结】(2)远程推送

    推送SDK:极光推送 后台点击推送: iOS 10 以下收到推送点击触发 iOS 10 以上触发: 极光推送中使用...

  • 2018年功能模块沉淀

    一、推送模块 1.极光推送 文档:https://www.jiguang.cn/push备注:极光推送包括普通推送...

  • 极光推送(二)——推送的使用

    前言 在极光推送(一)——配置中讲过了极光推送的配置,这节讲讲极光推送的使用参考文档极光官网 下面以我写的demo...

  • 极光推送集成开发

    1.极光推送集成与设置 极光推送地址①注册极光推送账号。②在应用管理内按照步骤创建APP。③找到“文档——iOS—...

  • Flutter开发 集成极光推送

    Flutter推送 极光推送Flutter版本 最近研究Flutter推送,在网上找了很多资料,发现极光推送竟然有...

  • 极光征文 | 我与极光的缘分

    极光征文 | 我与极光的缘分 首先简单介绍下极光推送;极光推送(JPush)是独立的第三方云推送平台,致力于为全球...

网友评论

      本文标题:极光推送

      本文链接:https://www.haomeiwen.com/subject/gmoekxtx.html