Просмотр исходного кода

【综合】活动广告增加Firebase配置,批量界面文件大小获取调整

niehaoyu 9 месяцев назад
Родитель
Сommit
4595d18a75

+ 0 - 1
PDF Office/PDF Master/Class/AD/KMAdsManager.swift

@@ -129,7 +129,6 @@ class KMAdsManager: NSObject {
 //        }
 
         adsState = .finish
-        updateShowAdsDate()
     }
 
     func showFreeTimeAdsInfo() {

+ 18 - 0
PDF Office/PDF Master/Class/AD/KMAdsWebView.swift

@@ -302,6 +302,24 @@ class KMAdsWebView: NSView, WKNavigationDelegate, CAAnimationDelegate {
         }
         
         adDelegate?.kmAdViewClicked(self)
+        
+        guard let dict = self.adsInfo.infoDict else {
+            return
+        }
+        guard let firebase = dict["firebase"] as? NSDictionary else {
+            return
+        }
+        guard let firebaseEvent = firebase["event"] as? String else {
+            return
+        }
+        guard let firebasepropertyKey = firebase["propertyKey"] as? String else {
+            return
+        }
+        guard let firebasepropertyValue = firebase["propertyValue"] as? String else {
+            return
+        }
+        FMTrackEventManager.defaultManager.trackEvent(event: firebaseEvent, withProperties: [firebasepropertyValue : firebasepropertyValue])
+        
     }
     
     @objc func buttonItemClicked_Close(_ sender: Any) {

+ 4 - 3
PDF Office/PDF Master/Class/Batch/Data/KMBatchOperateFile.swift

@@ -13,9 +13,10 @@ import Cocoa
     var filePath: String = ""
     var outputFilePath: String = ""
     lazy var sizeString: String = {
-        let attributes = try? FileManager.default.attributesOfItem(atPath: self.filePath)
-        let fileSize: Int = attributes?[FileAttributeKey.size] as! Int
-        let _sizeString = self.fileSizeString(fSize: Float(fileSize))
+        guard let dict = try? FileManager.default.attributesOfItem(atPath: self.filePath) as NSDictionary else {
+            return "0"
+        }
+        let _sizeString = self.fileSizeString(fSize: Float(dict.fileSize()))
         return _sizeString
     }()
     var fileType: KMBatchOperateFileType?

+ 6 - 0
PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController.swift

@@ -218,6 +218,12 @@ import Cocoa
                     if string.count != 0  {
                         NSWorkspace.shared.open(URL.init(string: string)!)
                     }
+                    
+                    guard let firebaseInfo = item.firebase else {
+                        return
+                    }
+                    KMAdvertisementModelTransition.sendFireBaseEvent(firebase: firebaseInfo)
+
                 }
                 
                 if KMAdvertisementManager.manager.infoDict.allKeys.count > 0 {

+ 7 - 0
PDF Office/PDF Master/Class/KMAdvertisement/Model/KMAdvertisementModel.swift

@@ -49,6 +49,7 @@
     var btnTitle: Language? //名称(自适应多语)
     
     //Firebase
+    var firebase: firebaseInfo?
     var firebaseEvent: String?
     var firebasePropertyKey: String?
     var firebasePropertyValue: String?
@@ -66,6 +67,12 @@
     }
 }
 
+public class firebaseInfo: NSObject, Codable {
+    var event: String?
+    var propertyKey: String?
+    var propertyValue: String?
+}
+
 public class Language: NSObject, Codable {
     var en: String?
     var zh_TW: String?

+ 16 - 0
PDF Office/PDF Master/Class/KMAdvertisement/Model/KMAdvertisementModelTransition.swift

@@ -96,6 +96,22 @@ import AppKit
         return chooseLanguage
 #endif
     }
+    
+    @objc public static func sendFireBaseEvent(firebase: firebaseInfo?) -> Void {
+        guard let firebaseInfo = firebase else {
+            return
+        }
+        guard let fireBaseEvent = firebaseInfo.event else {
+            return
+        }
+        guard let firebasePropertyKey = firebaseInfo.propertyKey else {
+            return
+        }
+        guard let firebasePropertyValue = firebaseInfo.propertyValue else {
+            return
+        }
+        FMTrackEventManager.defaultManager.trackEvent(event: fireBaseEvent, withProperties: [firebasePropertyKey : firebasePropertyValue])
+    }
 }
 
 extension NSColor {

+ 4 - 0
PDF Office/PDF Master/Class/KMAdvertisement/View/KMRecommondPopWindow/KMRecommondPopWindow.m

@@ -87,6 +87,10 @@ NSWindowDelegate>
 - (IBAction)buyAction:(NSButton *)sender {
     if (_info.version) {
         [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:[KMAdvertisementModelTransition transitionLanguageWithLangeuage:_info.linkURL]]];
+        
+        if (_info.firebase != nil) {
+            [KMAdvertisementModelTransition sendFireBaseEventWithFirebase:_info.firebase];
+        }
     }
 }