美文网首页
Swift 友盟统计,日志,推送通知集成

Swift 友盟统计,日志,推送通知集成

作者: 奋斗的遗忘人 | 来源:发表于2022-10-26 13:42 被阅读0次

首先集成友盟可以到官方文档中集成, 配置相应的属性, 建立桥接文件, 主要导入一下文件

//友盟
#import <UMCommon/UMCommon.h>
#import <UMCommonLog/UMCommonLogHeaders.h> //日志
#import <UMPush/UMessage.h>    //推送

APP启动方法中设置友盟配置代码如下

//开发者需要显式的调用此函数,日志系统才能工作
        UMCommonLogManager.setUp()
        //打开加密传输
        UMConfigure.setEncryptEnabled(true)
        //设置日志
        UMConfigure.setLogEnabled(true)
        //初始化
        UMConfigure.initWithAppkey(um_appKey, channel: um_channel)
        
        // 推送通知相关
        let entity = UMessageRegisterEntity.init()
        entity.types = Int(UMessageAuthorizationOptions.badge.rawValue | UMessageAuthorizationOptions.alert.rawValue | UMessageAuthorizationOptions.sound.rawValue)
        UNUserNotificationCenter.current().delegate = self
        UMessage.registerForRemoteNotifications(launchOptions: launchOptions, entity: entity) { granted, error in
        }

UNUserNotificationCenterDelegate代理

extension AppDelegate:UNUserNotificationCenterDelegate {
 
    //iOS10新增:处理前台收到通知的代理方法
    func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
        let userInfo = notification.request.content.userInfo
        if ((notification.request.trigger?.isKind(of: UNPushNotificationTrigger.self)) != nil) {
            UMessage.setAutoAlert(false)
            UMessage.didReceiveRemoteNotification(userInfo)
            //写了completionHandler前台才能接收到通知
            completionHandler([.alert, .sound, .badge])
        }else {
            //应用处于前台时的本地推送接受
        }
    }
    
    //iOS10新增:处理后台点击通知的代理方法
    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
        let userInfo = response.notification.request.content.userInfo
        if ((response.notification.request.trigger?.isKind(of: UNPushNotificationTrigger.self)) != nil) {
            UMessage.setAutoAlert(false)
            UMessage.didReceiveRemoteNotification(userInfo)
        }else {
            //应用处于前台时的本地推送接受
        }
    }
    
//测试用的deviceToken
    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        let deviceId = deviceToken.map{ String(format: "%02.2hhx", $0) }.joined()
       UMessage.registerDeviceToken(deviceToken)
        print("deviceToken====\(deviceId)")
    }
}

// 登录成功时设置推送别名

   UMessage.addAlias("\(loginData.itemId)", type: "iOS") { (response, error) in
       if response == nil {
          print(error?.localizedDescription ?? "")
       }else {
           print("友盟:别名绑定成功")
          }
   }

代码可以直接粘贴到项目中

如果获得的deviceToken 无法在测试时绑定,则可能需要删除手机上的APP,重新运行一下(方法之一), 还是不行则是其它问题,自行百度

相关文章

  • Swift 友盟统计,日志,推送通知集成

    首先集成友盟可以到官方文档中集成, 配置相应的属性, 建立桥接文件, 主要导入一下文件 APP启动方法中设置友盟配...

  • iOS 友盟推送--关键点/核心点

    |:-| totem iOS集成友盟推送 1.iOS集成“友盟推送”后,友盟服务响应的deviceToken = ...

  • swift2.0下集成友盟推送功能

    友盟IOS版本的推送之前是基于OBJC写的,友盟官方提供的API也是基于OBJC。而swift2.0下集成友盟推...

  • Swift 集成友盟推送

    1、前期准备 集成之前, 请在http://push.umeng.com/申请开通【友盟+】消息推送服务。下载 U...

  • iOS 开发问题总结 invalid mode 'kCFRunL

    首先,集成友盟统计时默认关闭了日志打印,我们需要将日志打印打开: [MobClicksetLogEnabled:Y...

  • swift集成友盟统计

    从这个app开始用上了swift,最近又集成了友盟统计功能,根据友盟的文档一步一步来整体比较顺利,但是中间也遇到了...

  • Swift - 集成友盟统计

    关于友盟统计和itunesConnect统计到的下载量不一致的问题解释: 友盟统计是根据设备来进行统计的,如果想要...

  • swift 集成友盟统计

    github链接 我的博客 前言 友盟统计分析平台是国内最大的移动应用统计分析平台。用于帮助移动应用开发商统计和分...

  • Swift集成友盟统计:

    公司运营部提了一个需求需要统计打开某个页面的次数,点击某个按钮的次数和定时器自动关闭的次数,上次因为就这一个地方,...

  • React Native 的友盟推送

    前言 友盟推送集成失败? 本文带你3分钟快速集成友盟推送~想详细了解友盟集成小伙伴, 可以参考我的往期文章:Rea...

网友评论

      本文标题:Swift 友盟统计,日志,推送通知集成

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