Bläddra i källkod

【文档】接入文档优化

lizhe 2 år sedan
förälder
incheckning
91d1940b26

+ 96 - 16
KMAdvertisement.xcodeproj/xcuserdata/lizhe.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -93,22 +93,6 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "2468A1DF-712A-4A64-86F3-BE311A2590D4"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KMAdvertisement/UI/View/iOS/KMAdvertisementShowView_iOS.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "74"
-            endingLineNumber = "74"
-            landmarkName = "reloadData()"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
@@ -349,5 +333,101 @@
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "FCB2F55E-44EF-4D6D-AC43-891C19B9B9B0"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "KMAdvertisement/UI/Scroll/iOS/KMAdvertisementFlowLayout.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "124"
+            endingLineNumber = "124"
+            landmarkName = "targetContentOffset(forProposedContentOffset:withScrollingVelocity:)"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "96A6B39D-DD2E-460A-931D-4F7FA1E134EA"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "KMAdvertisement/UI/Scroll/iOS/KMAdvertisementShowScrollCell_iOS.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "42"
+            endingLineNumber = "42"
+            landmarkName = "reloadData()"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "318C1F95-D937-4E41-BEFA-71BC64D000B7"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "KMAdvertisement/UI/Scroll/iOS/KMAdvertisementShowScrollCell_iOS.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "66"
+            endingLineNumber = "66"
+            landmarkName = "updateColor(highlight:)"
+            landmarkType = "7">
+            <Locations>
+               <Location
+                  uuid = "318C1F95-D937-4E41-BEFA-71BC64D000B7 - e04fdee9ad1159de"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "KMAdvertisement_iOS.KMAdvertisementShowScrollCell_iOS.updateColor(highlight: Swift.Bool) -&gt; ()"
+                  moduleName = "KMAdvertisement_iOS"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Volumes/Data/Company/kdan/Projects/CloudServer/KMAdvertisement/UI/Scroll/iOS/KMAdvertisementShowScrollCell_iOS.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "67"
+                  endingLineNumber = "67"
+                  offsetFromSymbolStart = "272">
+               </Location>
+               <Location
+                  uuid = "318C1F95-D937-4E41-BEFA-71BC64D000B7 - e04fdee9ad11583d"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "KMAdvertisement_iOS.KMAdvertisementShowScrollCell_iOS.updateColor(highlight: Swift.Bool) -&gt; ()"
+                  moduleName = "KMAdvertisement_iOS"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Volumes/Data/Company/kdan/Projects/CloudServer/KMAdvertisement/UI/Scroll/iOS/KMAdvertisementShowScrollCell_iOS.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "66"
+                  endingLineNumber = "66"
+                  offsetFromSymbolStart = "2580">
+               </Location>
+            </Locations>
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "74CDB738-9FDC-4059-ADB8-72CB4A0DF4FD"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "KMAdvertisement/UI/Scroll/iOS/KMAdvertisementShowScrollCell_iOS.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "34"
+            endingLineNumber = "34"
+            landmarkName = "awakeFromNib()"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>

BIN
KMAdvertisement/KMAdvertisement.docc/截屏2023-01-06 10.03.05.png


+ 494 - 60
KMAdvertisement/KMAdvertisement.docc/接入文档.md

@@ -36,6 +36,9 @@
   * tips
 
 ## <a id="接入示例">接入示例</a>
+####SDK导入
+![导入](https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b781b41cea91672970676.png)
+
 #### 视图加载方法
 ##### 1.绑定视图
 ![添加方法一](https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/638ca544dc92c1670161732.png)
@@ -1251,48 +1254,245 @@ KMAdvertisementManager.manager.fetchData { data, error in
 ###### json示例
 ```json
 {
-    "appName":"PDFReaderProIOS",
-    "platform":"iOS",
-    "showType":"scroll",
+    "appName":18,
+    "platform":2,
+    "showType":3,
     "version":"1.3.5",
     "startTime":"1669709056569",
     "endTime":"1700709056569",
-    "subscribeType":"unsubscribed",
+    "subscribeType":1,
     "content":[
         {
             "content":[
                 {
-                    "actionType":"URL",
+                    "actionType":1,
+                    "productID":"2022010501",
+                    "title":{
+                        "font":{
+                            "name":"Helvetica-Bold",
+                            "size":20
+                        },
+                        "color":{
+                            "normal":{
+                                "universal":{
+                                    "hex":"#FFFFFF",
+                                    "alpha":1
+                                }
+                            }
+                        },
+                        "language":{
+                            "en":"All-New PDF Reader Pro Windows Released!",
+                            "zh_TW":"PDF Reader Pro Windows版全新發佈!",
+                            "zh_CN":"PDF Reader Pro Windows版全新发布!"
+                        }
+                    },
+                    "button":{
+                        "font":{
+                            "name":"PingFangSC-Semibold",
+                            "size":13
+                        },
+                        "color":{
+                            "normal":{
+                                "universal":{
+                                    "hex":"#FFFFFF",
+                                    "alpha":1
+                                }
+                            }
+                        },
+                        "language":{
+                            "en":"Learn More",
+                            "zh_TW":"更多資訊",
+                            "zh_CN":"了解更多"
+                        },
+                        "background":{
+                            "color":{
+                                "height":{
+                                    "dark":{
+                                        "hex":"#FFFFFF",
+                                        "alpha":1
+                                    },
+                                    "universal":{
+                                        "hex":"#FFFFFF",
+                                        "alpha":1
+                                    }
+                                },
+                                "normal":{
+                                    "dark":{
+                                        "hex":"#FFFFFF",
+                                        "alpha":1
+                                    },
+                                    "universal":{
+                                        "hex":"#FFFFFF",
+                                        "alpha":1
+                                    }
+                                }
+                            },
+                            "layer":{
+                                "cornerRadius":15,
+                                "borderWidth":1,
+                                "borderColor":{
+                                    "color":{
+                                        "height":{
+                                            "dark":{
+                                                "hex":"#FFFFFF",
+                                                "alpha":1
+                                            },
+                                            "universal":{
+                                                "hex":"#FFFFFF",
+                                                "alpha":1
+                                            }
+                                        },
+                                        "normal":{
+                                            "dark":{
+                                                "hex":"#FFFFFF",
+                                                "alpha":1
+                                            },
+                                            "universal":{
+                                                "hex":"#FFFFFF",
+                                                "alpha":1
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    },
                     "imageURL":{
                         "normal":{
-                            "en":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/6389b1bb019111669968315.png",
-                            "zh_TW":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/6389b1bb019111669968315.png",
-                            "zh_CN":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/6389b1baed2f41669968314.png"
+                            "dark":{
+                                "en":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b640dfa67781672888543.png",
+                                "zh_TW":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b640dfa67781672888543.png",
+                                "zh_CN":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b640dfa67781672888543.png"
+                            },
+                            "universal":{
+                                "en":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b640dfa67781672888543.png",
+                                "zh_TW":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b640dfa67781672888543.png",
+                                "zh_CN":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b640dfa67781672888543.png"
+                            }
                         }
                     },
                     "linkURL":{
-                        "en":"https://www.pdfreaderpro.com/store",
-                        "zh_TW":"https://www.pdfreaderpro.com/store",
-                        "zh_CN":"https://www.pdfreaderpro.com/store"
+                        "en":"https://www.pdfreaderpro.com/windows?utm_source=iOSApp&amp;utm_campaign=PDFiOS&amp;utm_medium=pdfios_promo",
+                        "zh_TW":"https://www.pdfreaderpro.com/windows?utm_source=iOSApp&amp;utm_campaign=PDFiOS&amp;utm_medium=pdfios_promo",
+                        "zh_CN":"https://www.pdfreaderpro.com/windows?utm_source=iOSApp&amp;utm_campaign=PDFiOS&amp;utm_medium=pdfios_promo"
                     }
                 },
                 {
-                    "actionType":"URL",
+                    "actionType":2,
+                    "productID":"2022010502",
+                    "title":{
+                        "font":{
+                            "name":"Helvetica-Bold",
+                            "size":20
+                        },
+                        "color":{
+                            "normal":{
+                                "universal":{
+                                    "hex":"#FFFFFF",
+                                    "alpha":1
+                                }
+                            }
+                        },
+                        "language":{
+                            "en":"Get PDF Reader Pro Permanent License",
+                            "zh_TW":"解鎖進階版PDF Reader Pro",
+                            "zh_CN":"解锁PDF Reader Pro高级版"
+                        }
+                    },
+                    "button":{
+                        "font":{
+                            "name":"PingFangSC-Semibold",
+                            "size":13
+                        },
+                        "color":{
+                            "normal":{
+                                "universal":{
+                                    "hex":"#FFFFFF",
+                                    "alpha":1
+                                }
+                            }
+                        },
+                        "language":{
+                            "en":"Upgrade Now",
+                            "zh_TW":"即刻升級",
+                            "zh_CN":"立即升级"
+                        },
+                        "background":{
+                            "color":{
+                                "height":{
+                                    "dark":{
+                                        "hex":"#FFFFFF",
+                                        "alpha":1
+                                    },
+                                    "universal":{
+                                        "hex":"#FFFFFF",
+                                        "alpha":1
+                                    }
+                                },
+                                "normal":{
+                                    "dark":{
+                                        "hex":"#FFFFFF",
+                                        "alpha":1
+                                    },
+                                    "universal":{
+                                        "hex":"#FFFFFF",
+                                        "alpha":1
+                                    }
+                                }
+                            },
+                            "layer":{
+                                "cornerRadius":15,
+                                "borderWidth":1,
+                                "borderColor":{
+                                    "color":{
+                                        "height":{
+                                            "dark":{
+                                                "hex":"#FFFFFF",
+                                                "alpha":1
+                                            },
+                                            "universal":{
+                                                "hex":"#FFFFFF",
+                                                "alpha":1
+                                            }
+                                        },
+                                        "normal":{
+                                            "dark":{
+                                                "hex":"#FFFFFF",
+                                                "alpha":1
+                                            },
+                                            "universal":{
+                                                "hex":"#FFFFFF",
+                                                "alpha":1
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    },
                     "imageURL":{
                         "normal":{
-                            "en":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/638b04d197d561670055121.png",
-                            "zh_TW":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/638b04d197d561670055121.png",
-                            "zh_CN":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/638b04d197ff01670055121.png"
+                            "dark":{
+                                "en":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b640dfa64141672888543.png",
+                                "zh_TW":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b640dfa64141672888543.png",
+                                "zh_CN":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b640dfa64141672888543.png"
+                            },
+                            "universal":{
+                                "en":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b640dfa64141672888543.png",
+                                "zh_TW":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b640dfa64141672888543.png",
+                                "zh_CN":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b640dfa64141672888543.png"
+                            }
                         }
                     },
                     "linkURL":{
-                        "en":"https://www.pdfreaderpro.com/store",
-                        "zh_TW":"https://www.pdfreaderpro.com/store",
-                        "zh_CN":"https://www.pdfreaderpro.com/store"
+                        "en":"https://www.pdfreaderpro.com/windows?utm_source=iOSApp&amp;utm_campaign=PDFiOS&amp;utm_medium=pdfios_promo",
+                        "zh_TW":"https://www.pdfreaderpro.com/windows?utm_source=iOSApp&amp;utm_campaign=PDFiOS&amp;utm_medium=pdfios_promo",
+                        "zh_CN":"https://www.pdfreaderpro.com/windows?utm_source=iOSApp&amp;utm_campaign=PDFiOS&amp;utm_medium=pdfios_promo"
                     }
                 },
                 {
-                    "actionType":"URL",
+                    "actionType":2,
+                    "productID":"2022010503",
                     "title":{
                         "font":{
                             "name":"Helvetica-Bold",
@@ -1307,9 +1507,122 @@ KMAdvertisementManager.manager.fetchData { data, error in
                             }
                         },
                         "language":{
-                            "en":"All-New PDF Reader Pro Windows Released!",
-                            "zh_TW":"PDF Reader Pro Windows版全新發佈!",
-                            "zh_CN":"PDF Reader Pro Windows版全新发布!"
+                            "en":"Fast & Light eSignFlow PDF Editor",
+                            "zh_TW":"輕便快捷的SignFlow電子簽名軟體。",
+                            "zh_CN":"轻便快捷的SignFlow电子签名软件。"
+                        }
+                    },
+                    "button":{
+                        "font":{
+                            "name":"PingFangSC-Semibold",
+                            "size":13
+                        },
+                        "color":{
+                            "normal":{
+                                "universal":{
+                                    "hex":"#FFFFFF",
+                                    "alpha":1
+                                }
+                            }
+                        },
+                        "language":{
+                            "en":"Free Download",
+                            "zh_TW":"免費下載",
+                            "zh_CN":"免费下载"
+                        },
+                        "background":{
+                            "color":{
+                                "height":{
+                                    "dark":{
+                                        "hex":"#FFFFFF",
+                                        "alpha":1
+                                    },
+                                    "universal":{
+                                        "hex":"#FFFFFF",
+                                        "alpha":1
+                                    }
+                                },
+                                "normal":{
+                                    "dark":{
+                                        "hex":"#FFFFFF",
+                                        "alpha":1
+                                    },
+                                    "universal":{
+                                        "hex":"#FFFFFF",
+                                        "alpha":1
+                                    }
+                                }
+                            },
+                            "layer":{
+                                "cornerRadius":15,
+                                "borderWidth":1,
+                                "borderColor":{
+                                    "color":{
+                                        "height":{
+                                            "dark":{
+                                                "hex":"#FFFFFF",
+                                                "alpha":1
+                                            },
+                                            "universal":{
+                                                "hex":"#FFFFFF",
+                                                "alpha":1
+                                            }
+                                        },
+                                        "normal":{
+                                            "dark":{
+                                                "hex":"#FFFFFF",
+                                                "alpha":1
+                                            },
+                                            "universal":{
+                                                "hex":"#FFFFFF",
+                                                "alpha":1
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    },
+                    "imageURL":{
+                        "normal":{
+                            "dark":{
+                                "en":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b640dfa967f1672888543.png",
+                                "zh_TW":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b640dfa967f1672888543.png",
+                                "zh_CN":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b640dfa967f1672888543.png"
+                            },
+                            "universal":{
+                                "en":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b640dfa967f1672888543.png",
+                                "zh_TW":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b640dfa967f1672888543.png",
+                                "zh_CN":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b640dfa967f1672888543.png"
+                            }
+                        }
+                    },
+                    "linkURL":{
+                        "en":"https://apps.apple.com/app/apple-store/id1584624017?pt=118745145&ct=proios-promo&mt=8",
+                        "zh_TW":"https://apps.apple.com/app/apple-store/id1584624017?pt=118745145&ct=proios-promo&mt=8",
+                        "zh_CN":"https://apps.apple.com/app/apple-store/id1584624017?pt=118745145&ct=proios-promo&mt=8"
+                    }
+                },
+                {
+                    "actionType":1,
+                    "productID":"2022010504",
+                    "title":{
+                        "font":{
+                            "name":"Helvetica-Bold",
+                            "size":20
+                        },
+                        "color":{
+                            "normal":{
+                                "universal":{
+                                    "hex":"#FFFFFF",
+                                    "alpha":1
+                                }
+                            }
+                        },
+                        "language":{
+                            "en":"ComPDFkit PDF SDK Library for Developers",
+                            "zh_TW":"ComPDFkit PDF SDK軟體工具開發包",
+                            "zh_CN":"ComPDFkit PDF SDK软件开发工具包"
                         }
                     },
                     "button":{
@@ -1385,15 +1698,135 @@ KMAdvertisementManager.manager.fetchData { data, error in
                     },
                     "imageURL":{
                         "normal":{
-                            "en":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/6389b82d63b181669969965.png",
-                            "zh_TW":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/6389b82d63b181669969965.png",
-                            "zh_CN":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/6389b82d63b181669969965.png"
+                            "dark":{
+                                "en":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b6419d30ea81672888733.png",
+                                "zh_TW":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b6419d30ea81672888733.png",
+                                "zh_CN":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b6419d30ea81672888733.png"
+                            },
+                            "universal":{
+                                "en":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b6419d30ea81672888733.png",
+                                "zh_TW":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b6419d30ea81672888733.png",
+                                "zh_CN":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b6419d30ea81672888733.png"
+                            }
                         }
                     },
                     "linkURL":{
-                        "en":"https://www.pdfreaderpro.com/windows?utm_source=iOSApp&amp;utm_campaign=PDFiOS&amp;utm_medium=pdfios_promo",
-                        "zh_TW":"https://www.pdfreaderpro.com/windows?utm_source=iOSApp&amp;utm_campaign=PDFiOS&amp;utm_medium=pdfios_promo",
-                        "zh_CN":"https://www.pdfreaderpro.com/windows?utm_source=iOSApp&amp;utm_campaign=PDFiOS&amp;utm_medium=pdfios_promo"
+                        "en":"https://www.compdf.com/?utm_source=iOSApp&utm_medium=pdfios&utm_campaign=promo",
+                        "zh_TW":"https://www.compdf.com/?utm_source=iOSApp&utm_medium=pdfios&utm_campaign=promo",
+                        "zh_CN":"https://www.compdf.com/?utm_source=iOSApp&utm_medium=pdfios&utm_campaign=promo"
+                    }
+                },
+                {
+                    "actionType":1,
+                    "productID":"2022010505",
+                    "title":{
+                        "font":{
+                            "name":"Helvetica-Bold",
+                            "size":20
+                        },
+                        "color":{
+                            "normal":{
+                                "universal":{
+                                    "hex":"#FFFFFF",
+                                    "alpha":1
+                                }
+                            }
+                        },
+                        "language":{
+                            "en":"ComVideoKit Video SDK Library for Developers",
+                            "zh_TW":"ComVideoKit Video SDK軟體工具開發包",
+                            "zh_CN":"ComVideoKit Video SDK软件开发工具包"
+                        }
+                    },
+                    "button":{
+                        "font":{
+                            "name":"PingFangSC-Semibold",
+                            "size":13
+                        },
+                        "color":{
+                            "normal":{
+                                "universal":{
+                                    "hex":"#FFFFFF",
+                                    "alpha":1
+                                }
+                            }
+                        },
+                        "language":{
+                            "en":"Learn More",
+                            "zh_TW":"更多資訊",
+                            "zh_CN":"了解更多"
+                        },
+                        "background":{
+                            "color":{
+                                "height":{
+                                    "dark":{
+                                        "hex":"#FFFFFF",
+                                        "alpha":1
+                                    },
+                                    "universal":{
+                                        "hex":"#FFFFFF",
+                                        "alpha":1
+                                    }
+                                },
+                                "normal":{
+                                    "dark":{
+                                        "hex":"#FFFFFF",
+                                        "alpha":1
+                                    },
+                                    "universal":{
+                                        "hex":"#FFFFFF",
+                                        "alpha":1
+                                    }
+                                }
+                            },
+                            "layer":{
+                                "cornerRadius":15,
+                                "borderWidth":1,
+                                "borderColor":{
+                                    "color":{
+                                        "height":{
+                                            "dark":{
+                                                "hex":"#FFFFFF",
+                                                "alpha":1
+                                            },
+                                            "universal":{
+                                                "hex":"#FFFFFF",
+                                                "alpha":1
+                                            }
+                                        },
+                                        "normal":{
+                                            "dark":{
+                                                "hex":"#FFFFFF",
+                                                "alpha":1
+                                            },
+                                            "universal":{
+                                                "hex":"#FFFFFF",
+                                                "alpha":1
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    },
+                    "imageURL":{
+                        "normal":{
+                            "dark":{
+                                "en":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b6419d2f6db1672888733.png",
+                                "zh_TW":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b6419d2f6db1672888733.png",
+                                "zh_CN":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b6419d2f6db1672888733.png"
+                            },
+                            "universal":{
+                                "en":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b6419d2f6db1672888733.png",
+                                "zh_TW":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b6419d2f6db1672888733.png",
+                                "zh_CN":"https://pdfreader-dev.oss-cn-shanghai.aliyuncs.com/advertise/63b6419d2f6db1672888733.png"
+                            }
+                        }
+                    },
+                    "linkURL":{
+                        "en":"https://www.filmagepro.com/video-sdk?utm_source=pdfios&utm_medium=pdfios&utm_campaign=promo",
+                        "zh_TW":"https://www.filmagepro.com/video-sdk?utm_source=pdfios&utm_medium=pdfios&utm_campaign=promo",
+                        "zh_CN":"https://www.filmagepro.com/video-sdk?utm_source=pdfios&utm_medium=pdfios&utm_campaign=promo"
                     }
                 }
             ]
@@ -1411,27 +1844,27 @@ KMAdvertisementManager.manager.fetchData { data, error in
 * <a id="AppNameType">KMAdvertisementAppNameType</a>
 ```swift
 //APP类型
-public enum KMAdvertisementAppNameType: String, Codable {
-    case RecordIt = "RecordIt"
-    case RecordItPro = "RecordItPro"
-    case RecordItDMG = "RecordItDMG"
-    case FilmageScreen = "FilmageScreen"
-    case FilmageScreenPro = "FilmageScreenPro"
-    case FilmageScreenDMG = "FilmageScreenDMG"
-    case FilmageEditorMac = "FilmageEditorMac"
-    case FilmageEditorMacPro = "FilmageEditorMacPro"
-    case FilmageEditorMacDMG = "FilmageEditorMacDMG"
-    case FilmageConverterMac = "FilmageConverterMac"
-    case FilmageConverterMacPro = "FilmageConverterMacPro"
-    case FilmageConverterMacDMG = "FilmageConverterMacDMG"
-    case FilmagePlayerMac = "FilmagePlayerMac"
-    case FilmagePlayerMacPro = "FilmagePlayerMacPro"
-    case FilmagePlayerMacDMG = "FilmagePlayerMacDMG"
-    case PDFReaderProMac = "PDFReaderProMac"
-    case PDFReaderProMacPro = "PDFReaderProMacPro"
-    case PDFReaderProMacDMG = "PDFReaderProMacDMG"
-    case PDFReaderProIOS = "PDFReaderProIOS"
-    case PDFReaderProIOSPro = "PDFReaderProIOSPro"
+@objc public enum KMAdvertisementAppNameType: Int, Codable {
+    case RecordIt = 0
+    case RecordItPro = 1
+    case RecordItDMG = 2
+    case FilmageScreen = 3
+    case FilmageScreenPro = 4
+    case FilmageScreenDMG = 5
+    case FilmageEditorMac = 6
+    case FilmageEditorMacPro = 7
+    case FilmageEditorMacDMG = 8
+    case FilmageConverterMac = 9
+    case FilmageConverterMacPro = 10
+    case FilmageConverterMacDMG = 11
+    case FilmagePlayerMac = 12
+    case FilmagePlayerMacPro = 13
+    case FilmagePlayerMacDMG = 14
+    case PDFReaderProMac = 15
+    case PDFReaderProMacPro = 16
+    case PDFReaderProMacDMG = 17
+    case PDFReaderProIOS = 18
+    case PDFReaderProIOSPro = 19
 }
 ```
 
@@ -1449,11 +1882,11 @@ public enum KMAdvertisementPlatformType: String, Codable {
 ```swift
 //显示样式
 public enum KMAdvertisementShowType: String, Codable {
-    case unknow = "unknow"
-    case list = "list" //列表
-    case pop = "pop"//弹窗
-    case scroll = "scroll"//循环
-    case view = "view" //视图显示
+    case unknow = 0
+    case list = 1 //列表
+    case pop = 2 //弹窗
+    case scroll = 3 //循环
+    case view = 4 //视图显示
 }
 ```
 
@@ -1462,9 +1895,10 @@ public enum KMAdvertisementShowType: String, Codable {
 ```swift
 //订阅状态
 public enum KMAdvertisementSubscribeType: String, Codable {
-    case unknow = "unknow"
-    case unsubscribed = "unsubscribed"//未订阅
-    case subscribed = "subscribed"//已订阅
+    case unknow = 0
+    case unsubscribed = 1 //未订阅
+    case subscribed = 2 //已订阅
+    case all = 3 //无限制
 }
 
 ```
@@ -1473,9 +1907,9 @@ public enum KMAdvertisementSubscribeType: String, Codable {
 ```swift
 //点击视图后跳转选项
 public enum KMAdvertisementActionType: String, Codable {
-    case unknow = "unknow"
-    case URL = "URL"//链接
-    case comparative = "comparative"//比价表
+    case unknow = 0
+    case URL = 1 //链接
+    case comparative = 2 //比价表
 }
 ```
 

+ 31 - 69
KMAdvertisement/KMAdvertisementConfig.swift

@@ -14,25 +14,25 @@
 //APP类型
 @objc public enum KMAdvertisementAppNameType: Int, Codable {
     case RecordIt = 0
-    case RecordItPro
-    case RecordItDMG
-    case FilmageScreen
-    case FilmageScreenPro
-    case FilmageScreenDMG
-    case FilmageEditorMac
-    case FilmageEditorMacPro
-    case FilmageEditorMacDMG
-    case FilmageConverterMac
-    case FilmageConverterMacPro
-    case FilmageConverterMacDMG
-    case FilmagePlayerMac
-    case FilmagePlayerMacPro
-    case FilmagePlayerMacDMG
-    case PDFReaderProMac
-    case PDFReaderProMacPro
-    case PDFReaderProMacDMG
-    case PDFReaderProIOS
-    case PDFReaderProIOSPro
+    case RecordItPro = 1
+    case RecordItDMG = 2
+    case FilmageScreen = 3
+    case FilmageScreenPro = 4
+    case FilmageScreenDMG = 5
+    case FilmageEditorMac = 6
+    case FilmageEditorMacPro = 7
+    case FilmageEditorMacDMG = 8
+    case FilmageConverterMac = 9
+    case FilmageConverterMacPro = 10
+    case FilmageConverterMacDMG = 11
+    case FilmagePlayerMac = 12
+    case FilmagePlayerMacPro = 13
+    case FilmagePlayerMacDMG = 14
+    case PDFReaderProMac = 15
+    case PDFReaderProMacPro = 16
+    case PDFReaderProMacDMG = 17
+    case PDFReaderProIOS = 18
+    case PDFReaderProIOSPro = 19
     
     func string() -> String {
             switch self {
@@ -63,10 +63,10 @@
 //显示样式
 @objc public enum KMAdvertisementShowType: Int, Codable {
     case unknow = 0
-    case list //列表
-    case pop //弹窗
-    case scroll //循环
-    case view //视图显示
+    case list = 1 //列表
+    case pop = 2 //弹窗
+    case scroll = 3 //循环
+    case view = 4 //视图显示
 }
 
 //平台
@@ -79,9 +79,9 @@
 //订阅状态
 @objc public enum KMAdvertisementSubscribeType: Int, Codable {
     case unknow = 0
-    case unsubscribed //未订阅
-    case subscribed //已订阅
-    case all //无限制
+    case unsubscribed = 1 //未订阅
+    case subscribed = 2 //已订阅
+    case all = 3 //无限制
 }
 
 //点击视图后跳转选项
@@ -115,41 +115,6 @@
         }
     }
     
-//    [AdvertNetworkTool configInfoWithAppID:@"FE" appType:AdvertNetworkAppTypeGetValue() platform:@"Mac"];
-//    [AdvertNetworkTool loadDataWithcompletion:^(NSDictionary * _Nonnull info, NSError * _Nonnull error) {
-//        if (!error) {
-//            NSTimeInterval currentTime = [[NSDate date] timeIntervalSince1970];
-//            if ([info isKindOfClass:[NSDictionary class]]) {
-//                NSMutableArray *arr = [[NSMutableArray alloc] init];
-//                for (NSDictionary *dict in info[@"data"]) {
-//                    NSDateFormatter *formatter= [[NSDateFormatter alloc] init];
-//                    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
-//                    NSDate *startDate  = [formatter dateFromString:dict[@"start_at"]];
-//                    NSDate *endDate  = [formatter dateFromString:dict[@"end_at"]];
-//                    NSTimeInterval startTime = [startDate timeIntervalSince1970];
-//                    NSTimeInterval endTime = [endDate timeIntervalSince1970];
-//                    BOOL isTimeValid = NO;
-//                    if (currentTime > startTime &&
-//                        currentTime < endTime) {
-//                        isTimeValid = YES;
-//                    }
-//                    if (startTime == 0 ||
-//                        endTime == 0) {
-//                        isTimeValid = YES;
-//                    }
-//                    if ([dict[@"status"] boolValue] && isTimeValid) {
-//                        if (dict[@"style_name"] &&
-//                            [dict[@"style_name"] isEqualToString:@"Editor_banner_style"]) {
-//
-//                            [arr addObject:dict];
-//
-//                        }
-//                    }
-//                }
-//            }
-//        }
-//    }];
-    
     public func initParameters(appName: KMAdvertisementAppNameType, subscribeType:KMAdvertisementSubscribeType, platform: KMAdvertisementPlatformType) {
         self.appName = appName
         self.subscribeType = subscribeType
@@ -166,15 +131,12 @@
     
     static func isDarkModel() -> Bool {
 #if os(iOS)
-        if #available(iOS 13.0, *) {
-            let color = UIColor.init { trainCollection -> UIColor in
-                if trainCollection.userInterfaceStyle == UIUserInterfaceStyle.dark {
-                    return true
-                } else {
-                    return false
-                }
+        if #available(iOS 12.0, *) {
+            if UITraitCollection.current.userInterfaceStyle == UIUserInterfaceStyle.dark {
+                return true
+            } else {
+                return false
             }
-            return color
         }
 #elseif os(OSX)
         if #available(macOS 10.14, *) {

+ 2 - 0
KMAdvertisement/UI/Scroll/iOS/KMAdvertisementFlowLayout.swift

@@ -119,6 +119,8 @@ class KMAdvertisementFlowLayout: UICollectionViewFlowLayout {
         }
         
         let X = shouldBeX - collectionViewFrameWidthHalf
+//        self.collectionView?.setContentOffset(proposedContentOffset, animated: false)
+//        self.collectionView!.setContentOffset(CGPoint(x: X , y: proposedContentOffset.y), animated: true)
         return CGPoint(x: X , y: proposedContentOffset.y)
     }
 }

+ 1 - 3
KMAdvertisement/UI/Scroll/iOS/KMAdvertisementShowScrollCell_iOS.swift

@@ -15,7 +15,7 @@ class KMAdvertisementShowScrollCell_iOS: UICollectionViewCell {
     @IBOutlet weak var actionButton: UIButton!
     @IBOutlet weak var imageView: UIImageView!
     
-    var model: KMAdvertisementModel.Section.Content! {
+    var model: KMAdvertisementModelItem! {
         didSet {
             self.reloadData()
         }
@@ -58,8 +58,6 @@ class KMAdvertisementShowScrollCell_iOS: UICollectionViewCell {
         self.imageView.layer.cornerRadius = model.imageURL?.background?.layer?.cornerRadius ?? 8
         self.imageView.layer.borderWidth = model.imageURL?.background?.layer?.borderWidth ?? 0
         
-
-        
         self.updateColor(highlight: false)
     }
     

+ 4 - 4
KMAdvertisement/UI/Scroll/iOS/KMAdvertisementShowScroll_iOS.swift

@@ -95,10 +95,10 @@ extension KMAdvertisementShowScroll_iOS: UICollectionViewDelegate {
     public func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
         if self.data != nil {
             let model = (self.data?[indexPath.section])
-            var content = model?.content[indexPath.item]
+            var content = model?.content![indexPath.item]
             if actionCompletion != nil {
                 content?.index = indexPath.item
-                actionCompletion!(content!)
+                actionCompletion!(.tap, content!)
             }
         }
     }
@@ -112,7 +112,7 @@ extension KMAdvertisementShowScroll_iOS: UICollectionViewDataSource {
     public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
         if self.data != nil {
             let model: KMAdvertisementModel.Section = (self.data?[section])!
-            return model.content.count
+            return model.content!.count
         } else {
             return 0
         }
@@ -122,7 +122,7 @@ extension KMAdvertisementShowScroll_iOS: UICollectionViewDataSource {
         let cell: KMAdvertisementShowScrollCell_iOS = collectionView.dequeueReusableCell(withReuseIdentifier: "KMAdvertisementShowScrollCell_iOS", for: indexPath) as! KMAdvertisementShowScrollCell_iOS
         if self.data != nil {
             let model = (self.data?[indexPath.section])
-            cell.model = model?.content[indexPath.item]
+            cell.model = model?.content![indexPath.item]
         }
 
         return cell

+ 2 - 8
KMAdvertisement/UI/Scroll/iOS/KMAdvertisementShowScroll_iOS.xib

@@ -5,7 +5,6 @@
         <deployment identifier="iOS"/>
         <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21505"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
-        <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -22,7 +21,7 @@
             <subviews>
                 <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="fgr-8e-fgc">
                     <rect key="frame" x="0.0" y="0.0" width="391" height="221"/>
-                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                     <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="qoP-II-eKq">
                         <size key="itemSize" width="128" height="128"/>
                         <size key="headerReferenceSize" width="0.0" height="0.0"/>
@@ -32,7 +31,7 @@
                 </collectionView>
             </subviews>
             <viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
-            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
             <constraints>
                 <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="fgr-8e-fgc" secondAttribute="trailing" id="4rf-wT-SFF"/>
                 <constraint firstItem="fgr-8e-fgc" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="Q4L-zX-UPG"/>
@@ -43,9 +42,4 @@
             <point key="canvasLocation" x="-260" y="-202"/>
         </view>
     </objects>
-    <resources>
-        <systemColor name="systemBackgroundColor">
-            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-        </systemColor>
-    </resources>
 </document>

+ 58 - 16
KMAdvertisement/UI/View/iOS/KMAdvertisementShowView_iOS.swift

@@ -14,25 +14,29 @@ open class KMAdvertisementShowView_iOS: KMAdvertisementBaseView {
     
     @IBOutlet weak var imageView: UIImageView!
     
-    lazy var presenter: KMAdvertisementTableViewPresenter! = KMAdvertisementTableViewPresenter()
+    var timer: Timer?
+    var index: Int = 0
     
     //内部使用数据
-    fileprivate var data: [KMAdvertisementModel.Section]?
+    fileprivate var data: [KMAdvertisementModelItem] = []
     /**
       @abstract 外部传入数据
       @param inputData 文件路劲
       */
     open var inputData: KMAdvertisementModel! {
         didSet {
-            self.presenter.initPresenter(view: self, data: inputData)
+            self.reloadData()
         }
     }
     
     convenience init (data: KMAdvertisementModel, superView: UIView) {
         self.init(frame: superView.bounds)
-        self.presenter.initPresenter(view: self, data: data)
+        
         superView.addSubview(self)
         self.autoresizingMask = [.flexibleHeight , .flexibleWidth]
+        
+        self.inputData = data
+        self.reloadData()
     }
     
     // MARK: 初始化
@@ -67,24 +71,62 @@ open class KMAdvertisementShowView_iOS: KMAdvertisementBaseView {
         let tap = UITapGestureRecognizer(target: self, action: #selector(buttonAction))
         self.imageView.addGestureRecognizer(tap)
         self.imageView.isUserInteractionEnabled = true
-       }
+        self.addTimer()
+    }
     
     func reloadData() {
-        let url = URL(string: self.data?.first?.content.first?.imageURL?.normal?.en ?? "")
-        self.imageView.kf.setImage(with: url)
+        self.data.removeAll()
+        let array = inputData.content!
+        for section in array {
+            for item in section.content! {
+                self.data.append(item)
+            }
+        }
+        
+        if self.data.count == 0 {
+            self.removeTimer()
+            self.removeFromSuperview()
+        }
+        self.recordTime()
     }
     
-    @objc func buttonAction() {
-        let content = self.data?.first?.content.first
-        if actionCompletion != nil {
-            actionCompletion!(content!)
+    //MARK: 定时器
+    func addTimer() {
+        self.removeTimer()
+        timer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector (recordTime),
+        userInfo: nil, repeats: true)
+        if let curTimer: Timer = timer {
+            RunLoop.main.add(curTimer, forMode: .common)
         }
     }
-}
+    
+    func removeTimer() {
+        if (timer != nil) {
+           timer?.invalidate ()
+           timer = nil
+        }
+    }
+    
+    @objc func recordTime () {
+        if self.data.count != 0 {
+            index += 1
+            if index >= self.data.count {
+                index = 0
+            }
 
-extension KMAdvertisementShowView_iOS: KMAdvertisementTableViewPresenterDelegate {
-    func showData(presenter: KMAdvertisementTableViewPresenter, data: Array<KMAdvertisementModel.Section>) {
-        self.data = data
-        self.reloadData()
+            if self.data.count != 0 {
+                let url = URL(string: KMAdvertisementModelTransition.transitionImagePath(image: self.data[index].imageURL!, highlight: false))
+                self.imageView.kf.setImage(with: url)
+            }
+        }
+    }
+    
+    @objc func buttonAction() {
+        if self.data.count > index {
+            let content = self.data[index]
+            if actionCompletion != nil {
+                actionCompletion!(.tap, content)
+            }
+        }
     }
 }

+ 4 - 4
KMAdvertisementDemo_iOS/ViewController.swift

@@ -34,25 +34,25 @@ class ViewController: UIViewController {
                 for model in data! {
                     if model.showType == .scroll {
                         //视图加载方法一
-                        let view = KMAdvertisementManager.manager.show(type: .scroll, data: model, superView: weakSelf.showScrollView) { actionType in
+                        let view = KMAdvertisementManager.manager.show(type: .scroll, data: model, superView: weakSelf.showScrollView) { actionType, actionItem in
                             print("点击了 scroll 1")
                         }
                         //视图加载方法二
                         weakSelf.advertisementScroll.inputData = model
-                        weakSelf.advertisementScroll.actionCompletion = { actionItem in
+                        weakSelf.advertisementScroll.actionCompletion = { actionType, actionItem in
                             print("点击了 scroll 2")
                         }
                     }
                     
                     if model.showType == .view {
                         //视图加载方法一
-                        let view =  KMAdvertisementManager.manager.show(type: .view, data: model, superView: weakSelf.showView) { actionItem in
+                        let view =  KMAdvertisementManager.manager.show(type: .view, data: model, superView: weakSelf.showView) { actionType, actionItem in
                             print("点击了 view 1")
                         }
                         
                         //视图加载方法二
                         weakSelf.advertisementView.inputData = model
-                        weakSelf.advertisementView.actionCompletion = { actionItem in
+                        weakSelf.advertisementView.actionCompletion = { actionType, actionItem in
                             print("点击了 view 2")
                         }
                     }