Browse Source

【广告SDK】更换SDK(修复图片卡死问题)

lizhe 1 year ago
parent
commit
5de83c4762

+ 8 - 0
PDF Office/PDF Office/AppDelegate.swift

@@ -6,6 +6,7 @@
 //
 
 import Cocoa
+import KMAdvertisement
 
 @main
 class AppDelegate: NSObject, NSApplicationDelegate {
@@ -41,6 +42,13 @@ class AppDelegate: NSObject, NSApplicationDelegate {
         DBClientsManager.setup(withAppKeyDesktop: "jxjlqfm1cfp2mjj")
         
         reopenDocument(forPaths: [])
+        
+        //广告数据初始化
+        KMAdvertisementManager.manager.initConfig(appName: .PDFReaderProMac,
+                                                  subscribeType: .unsubscribed,
+                                                  platform: .Mac)
+        //测试模式,默认false
+        KMAdvertisementManager.manager.debug = true
     }
     
     func application(_ application: NSApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {

+ 2 - 2
PDF Office/PDF Office/Third Pard Library/KMAdvertisement.framework/Versions/A/Headers/KMAdvertisement-Swift.h

@@ -426,7 +426,7 @@ SWIFT_CLASS("_TtC15KMAdvertisement23KMAdvertisementShowView")
 @interface KMAdvertisementShowView : KMAdvertisementBaseView
 /// @abstract 外部传入数据
 /// @param inputData 文件路劲
-@property (nonatomic, strong) KMAdvertisementModel * _Null_unspecified inputData;
+@property (nonatomic, strong) KMAdvertisementModel * _Nullable inputData;
 - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)decoder OBJC_DESIGNATED_INITIALIZER;
 - (nonnull instancetype)initWithFrame:(NSRect)frameRect OBJC_DESIGNATED_INITIALIZER;
 - (void)drawRect:(NSRect)dirtyRect;
@@ -920,7 +920,7 @@ SWIFT_CLASS("_TtC15KMAdvertisement23KMAdvertisementShowView")
 @interface KMAdvertisementShowView : KMAdvertisementBaseView
 /// @abstract 外部传入数据
 /// @param inputData 文件路劲
-@property (nonatomic, strong) KMAdvertisementModel * _Null_unspecified inputData;
+@property (nonatomic, strong) KMAdvertisementModel * _Nullable inputData;
 - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)decoder OBJC_DESIGNATED_INITIALIZER;
 - (nonnull instancetype)initWithFrame:(NSRect)frameRect OBJC_DESIGNATED_INITIALIZER;
 - (void)drawRect:(NSRect)dirtyRect;

+ 12 - 20
PDF Office/PDF Office/Third Pard Library/KMAdvertisement.framework/Versions/A/Headers/KMAdvertisementManager.swift

@@ -67,13 +67,14 @@ extension KMAdvertisementManager {
      @return
       */
     @objc public func fetchData(completion:@escaping (_ data: [KMAdvertisementModel]?, _ error:Error?) -> Void) -> Void {
+        print("开始获取数据")
         var version: String = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString").debugDescription
         if (version.count == 0) {
             version = Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion").debugDescription
             version = version.replacingOccurrences(of: ".", with: "")
         }
         
-        let urlString = configuration.activityBaseURL() + "/api/advertise"
+        let urlString = configuration.activityBaseURL() + "/api/advertise-new"
         let params: [String:Any] = ["app_name": configuration.appName.string(),
                                     "app_version": version]
         
@@ -87,26 +88,17 @@ extension KMAdvertisementManager {
         
         unowned let weakSelf = self
         KMAdvertisementRequestServer.requestServer.request(urlString: urlString, method: "GET", params: params) { task, responseObject, error in
+            print("正在获取数据")
             if (error == nil && responseObject != nil) {
                 let array = responseObject?["list"] ?? []
-                //保存数据
-                KMAdvertisementCache.default.saveData(data: array as! [NSDictionary])
-                //解析数据
-                weakSelf.parseData(data: array as! [NSDictionary]) { data in
-                    completion(data, nil)
+                if array != nil {
+                    //解析数据
+                    weakSelf.parseData(data: array as! [NSDictionary]) { data in
+                        print("数据处理完毕")
+                        completion(data, nil)
+                    }
                 }
             }
-//            else {
-//                //获取缓存数据
-//                let cacheData = KMAdvertisementCache.default.readData()
-//                if cacheData.count != 0 {
-//                    weakSelf.parseData(data: cacheData) { data in
-//                        completion(data, nil)
-//                    }
-//                } else {
-//                    completion(nil, error!)
-//                }
-//            }
         }
     }
 }
@@ -200,8 +192,8 @@ extension KMAdvertisementManager {
             KMAdvertisementCache.default.saveData(data: data)
         }
         
+        var resultArray:[KMAdvertisementModel] = []
         for model in data {
-            var resultArray:[KMAdvertisementModel] = []
             if (self.allowLoadData(data: model)) {
                 let jsonString: String = (model["detail"] as? String) ?? ""
                 let jsonData: Data = jsonString.data(using: .utf8)!
@@ -227,8 +219,8 @@ extension KMAdvertisementManager {
                 }
 #endif
             }
-            completion(resultArray)
         }
+        completion(resultArray)
     }
     
     func allowLoadData(data: NSDictionary) -> Bool {
@@ -287,7 +279,7 @@ extension KMAdvertisementManager {
                 let endTime: NSInteger = NSInteger(item.endTime ?? timeString)!
                 let hidden = item.hidden ?? false
 
-                print(hidden ? "隐藏" : "显示")
+//                print(hidden ? "隐藏" : "显示")
                 if (!hidden &&
                     time >= startTime &&
                     time <= endTime &&

+ 50 - 38
PDF Office/PDF Office/Third Pard Library/KMAdvertisement.framework/Versions/A/Headers/KMAdvertisementRequestServer.swift

@@ -20,7 +20,7 @@ class KMAdvertisementRequestServer {
     func request(urlString: String,
                  method:String,
                  params: Dictionary<String, Any>?,
-                 completion: KMAdvertisementRequestServerCompletion?) -> Void {
+                 completion: @escaping KMAdvertisementRequestServerCompletion) -> Void {
         self.request(urlString: urlString,
                      method: method,
                      params: params,
@@ -32,7 +32,7 @@ class KMAdvertisementRequestServer {
                  method:String,
                  params: Dictionary<String, Any>?,
                  requestSerializer: ((_ requestSerializer:AFHTTPRequestSerializer) -> Void)?,
-                 completion: KMAdvertisementRequestServerCompletion?) -> Void {
+                 completion: @escaping KMAdvertisementRequestServerCompletion) -> Void {
         self.request(urlString: urlString,
                      method: method,
                      params: params,
@@ -46,7 +46,7 @@ class KMAdvertisementRequestServer {
                  params: Dictionary<String, Any>?,
                  requestSerializer: ((_ requestSerializer:AFHTTPRequestSerializer) -> Void)?,
                  body: ((_ formData:AFMultipartFormData) -> Void)?,
-                 completion: KMAdvertisementRequestServerCompletion?) -> Void {
+                 completion: @escaping KMAdvertisementRequestServerCompletion) -> Void {
         //每次请求需要重新创建
         sessionManager.requestSerializer = AFJSONRequestSerializer()
         sessionManager.responseSerializer = AFJSONResponseSerializer()
@@ -64,26 +64,18 @@ class KMAdvertisementRequestServer {
                     
                 } success: { task, responseObject in
                     let responseObject = responseObject as AnyObject
-                    if (completion != nil) {
-                        completion!(task,responseObject,nil);
-                    }
+                    completion(task,responseObject,nil);
                 } failure: { task, error in
-                    if (completion != nil) {
-                        completion!(task,nil,error);
-                    }
+                    completion(task,nil,error);
                 }
             } else {
                 sessionManager.post(urlString, parameters: params, headers: nil) { progress in
                 
                 } success: { task, responseObject in
-                    if (completion != nil) {
-                        let responseObject = responseObject as AnyObject
-                        completion!(task,responseObject,nil);
-                    }
+                    let responseObject = responseObject as AnyObject
+                    completion(task,responseObject,nil)
                 } failure: { task, error in
-                    if (completion != nil) {
-                        completion!(task,nil,error);
-                    }
+                    completion(task,nil,error)
                 }
 
             }
@@ -91,14 +83,10 @@ class KMAdvertisementRequestServer {
             sessionManager.get(urlString, parameters: params, headers: nil) { progress in
                 
             } success: { task, responseObject in
-                if (completion != nil) {
-                    let responseObject = responseObject as AnyObject
-                    completion!(task,responseObject,nil);
-                }
+                let responseObject = responseObject as AnyObject
+                completion(task,responseObject,nil)
             } failure: { task, error in
-                if (completion != nil) {
-                    completion!(task,nil,error);
-                }
+                completion(task,nil,error)
             }
         }
     }
@@ -106,33 +94,57 @@ class KMAdvertisementRequestServer {
     /**
      下载
      */
-    func downLoad(urlString: String,
+    func downLoad(inputURL: URL,
                   filePath: String,
                   progress: @escaping(_ progress: Progress) -> Void,
-                  completion: KMAdvertisementRequestServerCompletion) {
+                  completion: @escaping KMAdvertisementRequestServerCompletion) {
+        let request: URLRequest = URLRequest.init(url: inputURL)
+        self.sessionManager.requestSerializer.timeoutInterval = 100.0
+        let downloadTask = self.sessionManager.downloadTask(with: request) { resultProgress in
+            progress(resultProgress)
+        } destination: { url, response in
+            return NSURL(fileURLWithPath: filePath) as URL
+        } completionHandler: { resultResponse, resultUrl, error in
+            completion(nil, resultResponse, error)
+        }
+        downloadTask.resume()
+
+
 //        /* 下载地址 */
-//        NSURL *url = [NSURL URLWithString:urlString];
+//        NSURL *url = [NSURL URLWithString:requestURL];
 //        NSURLRequest *request = [NSURLRequest requestWithURL:url];
+//        /* 下载路径 */
+//        NSString *downFilePath = [NSString stringWithFormat:@"%@/%@", [self setPathOfDocumentsByFileCreated:created fileName:fileName], fileName];
+//        self.downFilePath = downFilePath;
+//
 //        /* 开始请求下载 */
-//        NSProgress *tProgress;
-//        NSURLSessionDownloadTask *downloadTask = [_sessionManager downloadTaskWithRequest:request progress:&tProgress destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {
+//        self.downloadTask = [_sessionManager downloadTaskWithRequest:request progress:^(NSProgress * _Nonnull downloadProgress) {
+//            float p = downloadProgress.fractionCompleted * 100;
+//            if (progress) {
+//                progress(p);
+//            }
+//            NSLog(@"下载进度:%.0f%", downloadProgress.fractionCompleted * 100);
+//        } destination:^NSURL * _Nonnull(NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {
 //            dispatch_async(dispatch_get_main_queue(), ^{
 //                //如果需要进行UI操作,需要获取主线程进行操作
 //            });
 //            /* 设定下载到的位置 */
-//            return [NSURL fileURLWithPath:filePath];
+//            return [NSURL fileURLWithPath:downFilePath];
 //
-//        } completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) {
-//            if (completion) {
-//                completion(response,filePath,error);
+//        } completionHandler:^(NSURLResponse * _Nonnull response, NSURL * _Nullable filePath, NSError * _Nullable error) {
+//            NSLog(@"下载完成");
+//            if (error) {
+//                if (failure) {
+//                    failure(error);
+//                }
+//                [weakSelf removeDownLoadFile];
+//            } else {
+//                if (success) {
+//                    success(downFilePath,[weakSelf setPathOfDocumentsByFileCreated:created fileName:fileName]);
+//                }
 //            }
 //        }];
-//
-//        if (progress) {
-//            progress(tProgress);
-//        }
-//
-//        [downloadTask resume];
+//        [self.downloadTask resume];
     }
     
     /*

BIN
PDF Office/PDF Office/Third Pard Library/KMAdvertisement.framework/Versions/A/KMAdvertisement


BIN
PDF Office/PDF Office/Third Pard Library/KMAdvertisement.framework/Versions/A/Modules/KMAdvertisement.swiftmodule/Project/arm64-apple-macos.swiftsourceinfo


BIN
PDF Office/PDF Office/Third Pard Library/KMAdvertisement.framework/Versions/A/Modules/KMAdvertisement.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo


BIN
PDF Office/PDF Office/Third Pard Library/KMAdvertisement.framework/Versions/A/Modules/KMAdvertisement.swiftmodule/arm64-apple-macos.swiftmodule


BIN
PDF Office/PDF Office/Third Pard Library/KMAdvertisement.framework/Versions/A/Modules/KMAdvertisement.swiftmodule/x86_64-apple-macos.swiftmodule


+ 7 - 7
PDF Office/PDF Office/Third Pard Library/KMAdvertisement.framework/Versions/A/_CodeSignature/CodeResources

@@ -51,7 +51,7 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			es2TUVqfjFA+oj2Rnwg5XPhVzHMG+N0sohugxzeltm4=
+			KLSyoK2/5K6UuRFEXEYR4zWInqv7e71GGt/8+VQtGIM=
 			</data>
 		</dict>
 		<key>Headers/KMAdvertisement.h</key>
@@ -72,7 +72,7 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			faTXk7Q6QgcwKvklzFrHVGZl/L0lnv/UW22Z/A2nxwc=
+			ZeVH1uQSo5DQkYrwCzg4oSRrEGugOPeggrAUOW4hSQ4=
 			</data>
 		</dict>
 		<key>Headers/KMAdvertisementModel.swift</key>
@@ -86,7 +86,7 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			A71drTVAdsTo8R+6PboY7+HHEJSY+nqOUBRxm5cwAuc=
+			d0OnD6SLSRPII4b53++/N/jsqOGYLGKL4acHyeqJyCw=
 			</data>
 		</dict>
 		<key>Headers/KMAdvertisementTimeStampConversion.swift</key>
@@ -100,14 +100,14 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			UTEKTNIDGqtEecUJ+p/zHwAMIPNjp/yWfSUFtP2QJqo=
+			gduzDxaL9B3Trmf94etebjV0700AE2KQ/YEsS8fNf2k=
 			</data>
 		</dict>
 		<key>Modules/KMAdvertisement.swiftmodule/Project/x86_64-apple-macos.swiftsourceinfo</key>
 		<dict>
 			<key>hash2</key>
 			<data>
-			H3LaNwr1a9kdcgNcyi0vSY9bt8LHSjmAWv0df3v1tlg=
+			ZLcCJ9kO+1nsIMtzskG467tKtL19Hmh9iIj5j2IMw0o=
 			</data>
 		</dict>
 		<key>Modules/KMAdvertisement.swiftmodule/arm64-apple-macos.abi.json</key>
@@ -128,7 +128,7 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			+HDrvjcDSWqMQTi7yxsVnY+RRYf5vWWKdai/ENoyvK8=
+			6WBMsLw9DExXRML8bb9XoPmSrCoqcKpSTKihxcX69Hk=
 			</data>
 		</dict>
 		<key>Modules/KMAdvertisement.swiftmodule/x86_64-apple-macos.abi.json</key>
@@ -149,7 +149,7 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			qR9GGuzz2KGCN/Fu3CS9DEU5kinIfnEOEZ670bKftYg=
+			6UyUbXL91KqyGklLG2g2DDqVCeGCQF3y20FMy/Sb+C4=
 			</data>
 		</dict>
 		<key>Modules/module.modulemap</key>