Swift-极光推送集成指南 (本人亲测)



项目用到了极光推送

官方文档没有

自己百度了

测试OK

就集成进来了


1 导入SDK

2 桥文件导入

// 引入JPush功能所需头文件

#import "JPUSHService.h"

// iOS10注册APNs所需头文件

#import <UserNotifications/UserNotifications.h>


3  AppDelegate进行注册

func registerJPush(launchOptions:[UIApplicationLaunchOptionsKey:Any]?) {

        

        if (UIDevice.current.systemVersionasNSString).floatValue >=10.0 {

            let entity = JPUSHRegisterEntity()

            entity.types = 0|1|2

            JPUSHService.register(forRemoteNotificationConfig: entity, delegate:nil)

        } else {

            JPUSHService.register(forRemoteNotificationTypes:0|1|2, categories:nil)

        }

 

        JPUSHService.setup(withOption: launchOptions, appKey: JPushAppKey, channel: JPushChannel, apsForProduction: isProduction)

        JPUSHService.setLogOFF() //关闭日志打印

    }


AppDelegate代理方法

    func application(_ application:UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken:Data) {

        JPUSHService.registerDeviceToken(deviceToken)

    }

    

    // 前台模式收到推送数据

    func application(_ application:UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable:Any], fetchCompletionHandler completionHandler:@escaping (UIBackgroundFetchResult) ->Void) {

        JPUSHService.handleRemoteNotification(userInfo)

        completionHandler(.newData)

        let alertController =UIAlertController(title:"消息通知",

                                                message:"您有一条消息请查看", preferredStyle: .alert)

        let okAction =UIAlertAction(title:"查看", style: .default, handler: {

            action in

            print("点击了确定")

        })

        alertController.addAction(okAction)

        UIApplication.shared.keyWindow?.rootViewController?.present(alertController, animated: true, completion: nil)

    }

    

    func application(_ application:UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable:Any]) {

        JPUSHService.handleRemoteNotification(userInfo)

    }



5 很重要的配置


6 清空角标

      // 置空消息未读数量

        JPUSHService.resetBadge()

        UIApplication.shared.applicationIconBadgeNumber =0

7 注册标签 别名


   // 注册极光推送别名/标签

                                JPUSHService.setTags(nil, alias: idStr,callbackSelector: nil, object: JPushManager.manager)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值