ios极光推送通知

iOS极光推送文档

一、创建工程

     Product Name:baixin

     Company Identifier:com.bluewave

     Bundle Identifier:com.bluewave.baixin

二、申请证书

     1.创建应用程序ID

           a.登陆 iOS Dev Center 选择进入iOS Provisioning Portal。

           b.在 iOS Provisioning Portal中,点击App IDs进入App ID列表。

          ios极光推送通知

           c. 创建 App ID,如果 ID 已经存在可以直接跳过此步骤

 ios极光推送通知

           d. 根据实际情况完善 App ID 信息并提交,注意此处需要指定具体的 Bundle ID 不要使用通配符。

 ios极光推送通知

           注:此错误表示有相同的App ID,不需再创建

 ios极光推送通知

           e. 为 App 开启 Push Notification 功能。如果是已经创建的 App ID 也可以通过设置开启 Push Notification 功能。

 ios极光推送通知

           f.到此App ID以创建好,后面直接点击submit即可。

2.配置和下载证书

           a.如果你之前没有创建过 Push 证书或者是要重新创建一个新的,请在证书列表下面新建。

 ios极光推送通知

           b.新建证书需要注意选择证书种类(开发证书用于开发和调试使用,生产证书用于 App Store 发布)

 ios极光推送通知

注:在发布应用时,这4个证书都需要创建,测试时,只需两个就可以了

           c.点击 Continue 后选择证书对应的应用ID,然后继续会出现“About Creating a Certificate Signing Request (CSR)”。

 ios极光推送通知

           d.点击Continue,到后面如下这一步

 ios极光推送通知

           e.创建证书签名请求(CSR)

 ios极光推送通知

 ios极光推送通知

           f.点击继续,储存一个.certSigningRequest的csr文件。

           g.继续上面的d步骤,将. certSigningRequest添加进来,然后进入下面页面

 ios极光推送通知

           h.将这步骤如此操作4次,创建好证书。

3.导出.p12证书文件( 两个都要导出)

          

a.     将推送证书双击,在“钥匙串访问”中你的证书会显示在“我的证书”中,注意选择“MyCertificates” 和"login",导出证书时要选中证书文件,不要展开private key。

 ios极光推送通知

b.点击导出,并命名为xxx.p12文件

 ios极光推送通知

c.点击save后,会出现这个窗口,这里的密码可以不用设置,直接下一步。但是如果你设置了就必须记住,后面创建应用那里需要用到。。。

 ios极光推送通知

     4.创建配置文件(Provisioning Profiles)

           a.这里至少一个开发,一个生产

 ios极光推送通知

     b.下一步

ios极光推送通知 

ios极光推送通知 

c.到这里选择将要运行的设备,你可以只选某一个,当你不确定时,也可以全选。。。。

 ios极光推送通知

 ios极光推送通知

d.现在配置文件也建好了,下载保存就好。。。。

 ios极光推送通知

     嘿嘿…….如下就是创建出来的所有证书了。。。。

 ios极光推送通知

OK啦~~~~~,证书什么的都好了,下面来上传证书了。。。。

三、上传证书

           a.https://www.jpush.cn/apps/new 进入极光推送页面。(先注册一个极光账号)

           b.创建应用

 ios极光推送通知

 ios极光推送通知

现在应用就创建好了,接下来就是更改工程中的一些设置了。。。。。

四、操作工程文件

     1.导入API开发包到应用程序项目

a.将SDK包解压,在XCode中选择“Add files to ‘Your project name‘...”,将解压后的lib子文件夹(包含APService.h、libPushSDK.a)添加到你的工程目录中。

2.必要的框架

  • CFNetwork.framework
  • CoreFoundation.framework
  • CoreTelephony.framework
  • SystemConfiguration.framework
  • CoreGraphics.framework
  • Foundation.framework
  • UIKit.framework
  • Security.framework
  • libz.dylib

  3.Build Settings

 a .设置 Search Paths 下的 User Header Search Paths 和 Library Search Paths,比如SDK文件夹(默认为lib)与工程文件在同一级目录下,则都设置为"$(SRCROOT)/[文件夹名称]"即可。

  4.创建并配置PushConfig.plist文件

    a .在你的工程中创建一个新的Property List文件,并将其命名为PushConfig.plist,填入Portal为你的应用提供的APP_KEY等参数。

{

    "APS_FOR_PRODUCTION = "0";

    "CHANNEL" = "Publish channel";

    "APP_KEY" = "AppKey copied from JPush Portal application";

}

  • CHANNEL
    • 指明应用程序包的下载渠道,为方便分渠道统计。根据你的需求自行定义即可。
    • APP_KEY
      • 管理Portal上创建应用时自动生成的(AppKey)用以标识该应用。请确保应用内配置的 AppKey 与第1步在 Portal 上创建应用时生成的 AppKey 一致,AppKey 可以在应用详情中查询。?
    • APS_FOR_PRODUCTION
      • 1.3.1版本新增,表示应用是否采用生产证书发布( Ad_Hoc 或 APP Store ),0 (默认值)表示采用的是开发者证书,1 表示采用生产证书发布应用。请注意此处配置与 Web Portal 应用环境设置匹配。
    • 在1.2.2或之前版本的配置文件中,有 TEST_MODE 这个键,新版的SDK不再使用,可以将它删除。?
    • ios极光推送通知

5.添加关键代码

   1.- (BOOL)application: didFinishLaunchingWithOptions:   方法里:

 ios极光推送通知

 ios极光推送通知

ios极光推送通知 

 

 

五、常见的错误

  1.ios极光推送通知

解决办法:

 ios极光推送通知

     2.点击通知进入应用后,通知栏的消息删除,并且应用上的badge number为0

     解决办法:

ios极光推送通知 

注意:

1.对于badge number需要后台在推送时设置+1或 -1.

2.对于生产环境还是开发环境都是由后台来设置

 ios极光推送通知

3.客户端需要给服务器传递tag、alias

4.如果在同一个应用上切换用户a/b,第一个用户的alias会被第二个的alias覆盖掉,不过第一个用户的离线消息还有效,这种情况你可以把离线保存时间设置长点

ios极光推送通知

上一篇:IOS Sqlite用户界面增删改查案例


下一篇:Working with JSON in iOS