0

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

在此处输入图像描述

在此处输入图像描述

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

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

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

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

4

1 回答 1

2

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

好吧 - 我认为最简单的方法就是在这个新闻数组中添加 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。

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

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

于 2013-10-14T12:10:25.580 回答