AppsPortfolio 2.2.0

AppsPortfolio 2.2.0

Mahmud Ahsan维护。




AppsPortfolio

CocoaPods swift 4.0 CocoaPods Swift Package Manager Twitter: @mahmudahsan

为了展示开发者的多个应用以进行跨推广。这是一种离线方式向用户介绍其他应用,也可以了解用户对哪些应用更感兴趣。我一直在我的所有iOS应用中使用这个UI进行跨推广。这是一个完整的工程,但也欢迎任何改进。

在plist数据中,如果只有一类,例如游戏,那么顶部将不会显示分段标签。要显示带有类别的分段标签,您必须提供至少2个应用类别。请检查plist文件结构以了解如何提供应用列表。

Apps Portfolio

特点

  • 展示应用以进行跨推广
  • 代理以集成分析,查看用户在应用商店中访问哪个应用
  • 适用于iPhone和iPad

示例

在UIViewController中集成

let bundle = Bundle(for: AppsPortfolioViewController.self)
let storyboard = UIStoryboard(name: "AppsPortfolio", bundle: bundle)
        
let appsPortfolioVC = storyboard.instantiateInitialViewController() as! AppsPortfolioViewController
appsPortfolioVC.title     = "Portfolio"
appsPortfolioVC.loadAppList(name: "sample_portfolio")
self.navigationController?.pushViewController(appsPortfolioVC, animated: true)

如果默认隐藏导航栏,则在左上角添加自定义返回按钮

let backButton = UIButton(frame: CGRect(x: 10, y: 7, width: 74, height: 30))
backButton.setImage(UIImage(named: "btnBack"), for: UIControlState.normal)
backButton.addTarget(self, action: #selector(goBackFromPortfolio), for: UIControlEvents.touchUpInside)
appsPortfolioVC.view.addSubview(backButton)
@objc private func goBackFromPortfolio(){
    self.navigationController?.popViewController(animated: true)
}

Apps Portfolio

实现代理以在用户点击应用时通知

let bundle = Bundle(for: AppsPortfolioViewController.self)
let storyboard = UIStoryboard(name: "AppsPortfolio", bundle: bundle)
        
let appsPortfolioVC = storyboard.instantiateInitialViewController() as! AppsPortfolioViewController
appsPortfolioVC.title     = "Portfolio"

//assigning analytics delegates
appsPortfolioVC.setAnalyticsDelegate(any: self) 

appsPortfolioVC.loadAppList(name: "sample_portfolio")
self.navigationController?.pushViewController(appsPortfolioVC, animated: true)

需要实现一个代理方法来了解用户交互

extension ViewController : AppsPortfolio.Analytics{
    func appClicked(appNamed: String) {
        print("App: \(appNamed) clicked.")
    }
}

sample_portfolio.plist文件结构

plist flie stucture

在iOS应用程序中的使用

可以使用以下任一方式:

  • 将AppsPortfolio/Sources文件夹拖动到您的Xcode项目中。

或者

  • 使用CocoaPods或Swift包管理器将AppsPortfolio作为依赖关系包含到项目中。
pod 'AppsPortfolio'
  • 在您的项目中创建一个新的apps_portfolio.plist文件,并为您提供的应用列表。请参考AppsPortfolio/Data中提供的sample_portfolio.plist文件格式。

  • 在您的项目中添加您的交叉推广应用的图标,并在plist文件中提及它们。最好使用Images.assets来添加应用的图标。

Images

有问题或反馈?

请随时新建问题,或在Twitter上找到我@mahmudahsan