【问题标题】:Displaying iOS iAds only to supported countries仅向受支持的国家/地区显示 iOS iAd
【发布时间】:2012-10-02 05:12:04
【问题描述】:

苹果似乎只向少数几个国家/地区提供 iAd。因此,当应用程序在不支持 iAd 的国家/地区使用时,我想停止发送 iAd 请求。那么最好的方法是什么?

我问这个问题是因为我最近通过 iAd 网络的消息部分收到了来自 Apple 的以下消息。

iAd 网络最近在加拿大推出。广告现在正在 服务于美国、加拿大、英国、德国、意大利、西班牙、 法国和日本的应用商店。请为您的应用配置广告 仅在这些国家/地区提供服务。

【问题讨论】:

  • 您如何知道哪些 iAd 国家支持哪些不支持?
  • iAd 广告目前正在美国、加拿大、日本、法国、德国、意大利、西班牙和英国投放。来源:developer.apple.com/iad/#developers
  • 在某些国家/地区不发送 iAd 请求,您希望获得哪些特别的优化/好处?
  • 从我读到的关于 iAd 的文章中,我认为请求很多 iAd 但获得的用户点击很少会导致有效每千次展示费用率低于请求很少的广告和获得很少的点击。
  • 如果您已阅读,您应该使用指向特定来源的链接更新您的问题。

标签: objective-c ios iad


【解决方案1】:

(我在 StackOverflow 上的第一篇文章!)

我也在尝试解决这个问题。似乎没有完美的方式来做到这一点。我的方法是使用用户语言环境的国家。 (见下文)

有什么改进的建议吗?

// Indicate if the iAds framework is supported for this particular device
+ (bool) iAdsIsSupported
{
    // List of supported countries for iAds
    static NSSet* supportedCountries = nil;
    if (supportedCountries == nil)
    {
        supportedCountries = [[NSSet setWithObjects:
                           @"ES", // spain
                           @"US", // usa
                           @"UK", // united kingdom
                           @"CA", // canada
                           @"FR", // france
                           @"DE", // german
                           @"IT", // italy
                           @"JP", // japan
                           nil] retain];
    }

    // Check if the country is in the supported countries
    // http://stackoverflow.com/questions/3940615/find-current-country-from-iphone-device
    NSLocale* currentLocale = [NSLocale currentLocale];  // get the current locale.
    NSString* countryCode = [currentLocale objectForKey:NSLocaleCountryCode];

    return [supportedCountries containsObject:countryCode];
}

【讨论】:

  • 我认为“UK”应该是“GB”,国家代码来自en.wikipedia.org/wiki/ISO_3166-1
  • currentLocale 和当前国家之间没有一对一的联系。这是错误的。
【解决方案2】:

iAd 框架是一个黑盒子。它的用例在文档中定义,您应该按预期使用它或根本不使用它。

恕我直言,使用 iAd 没有最佳方法,只有不好的方法。

您必须执行以下操作:

  1. 在您的应用中计算当前支持的国家/地区,因为它们会随着时间的推移而变化。
  2. 找出您的用户所在的位置会随时间发生变化。

以上两个选项都有不好的副作用。

  1. 检查受支持的 iAd 国家/地区的网络请求/解析将比 iAd 请求工作更多。
  2. 在您的应用程序中使用用户位置必须符合Apple's App Store Review Guidelines

你也可能犯规:

4.4 位置数据只能在与应用提供给用户的功能和服务直接相关或支持批准的广告用途时使用

【讨论】:

  • 是的,使用位置数据绝对是个坏主意。因为 AFAIK iAd 展示次数是根据用户从哪个商店下载应用程序来计算的。不是他们当前的位置。
  • 我在想,使用本地化信息会是一个好方法。但我想知道这是否是最好的方法。而且我认为没有“没有最好的方法”,因为我问这个问题是因为苹果鼓励它。我已经更新了问题,请看。无论如何感谢您的回答:)
猜你喜欢
  • 2013-02-23
  • 1970-01-01
  • 1970-01-01
  • 2012-04-24
  • 2015-11-27
  • 1970-01-01
  • 1970-01-01
  • 2014-04-16
  • 2013-05-19
相关资源
最近更新 更多