如何在像 BBC 新闻应用一样的 UIScrollView 中添加“广告”?

Posted

技术标签:

【中文标题】如何在像 BBC 新闻应用一样的 UIScrollView 中添加“广告”?【英文标题】:How to add "advertisements" in the UIScrollView like BBC News app? 【发布时间】:2013-10-14 11:32:56 【问题描述】:

我创建了一个新闻应用程序,它使用“UIScrollView + UIWebView”让用户滑动浏览不同的新闻。但是,我想问一下我是否可以添加像 BBC News 应用这样的广告,哪些用户会在水平滚动时看到这些广告。

我在滚动时尝试使用 addSubView (scrollViewDidScroll),但它替换了现有内容。

我意识到 BBC 新闻应用会做这样的事情,

用户滑动浏览新闻 --> 滑动几次后 --> 显示广告(例如在第 5 位) --> 用户再次从头到尾滑动 --> 广告再次出现,但这一次可能处于位置 3)。

但我只是不知道如何使它适用于我的应用程序。有什么线索吗?提前致谢。

【问题讨论】:

我们需要看一些代码。调用addSubview 会将您的子视图放在前面,并将其放在父视图中的 0,0 处。您是否在滚动视图中正确定位广告? 【参考方案1】:

您可能已经拥有一个功能,您将新闻文章数据存储在某个数组中。或者您从数据库中获取数据到某个数组中。

嗯 - 我认为最简单的方法就是在这个新闻数组中添加 advert_data。

例如 - 你从数组中的 db 获取:

NSArray *mArray = @[
    "news1",
    "news2",
    "news3",
    "news4",
    "news5",
    "news6"];

然后你可以简单地 - 遍历它,并添加广告数据。例如

int counter = 0;


while (counter < [mArray count])

    int mTmp = 3+(arc4random() % 2);   // atleast 3, but up to 5?

    counter +=mTmp;

    [mArray insertObject:"advert" atIndex:counter];

    counter +=1;  //we added one object, so we need to adjust counter

然后很简单 - 当您尝试在 webview 中加载相应的数据时,检查内容是否不是“广告”。如果是 - 从某处加载一些随机广告 html

附:我猜,您的数据数组将有 NSManagedObjects,而不是字符串。然后您可以检查[mArray objectAtIndex:i](当您尝试将其加载到 webview 时)- 是 NSManagedObject 还是字符串值。

我希望你能理解这个想法。

【讨论】:

以上是关于如何在像 BBC 新闻应用一样的 UIScrollView 中添加“广告”?的主要内容,如果未能解决你的问题,请参考以下文章

如何在像快门一样从上到下加载时为 UIView 设置动画?

UIScroll 中心图像

如何在像 snapchat 故事一样从底部滑动到顶部 android 时打开底部工作表片段

2018.1.24 扇贝新闻精选(3/10)

今日BBC

后端交互如何在像 iOS Activity 应用程序这样的应用程序中工作,其中需要向用户显示多天的数据?