在应用上架之前一直在关心收益的问题(因为只是想简简单单试水).
根据坛子里面的前辈的经验,得到的结论是iAD的收益要高于Admob(就单单指广告类的收益),看到过有人使用广告联盟或者是其他的平台来做整合.最后发现环境太复杂(个人不太喜欢使用别人现成的东东,主要是内容不可控),因此就自己整理了一个方法(应用已经上架,已经证实可行).
背影:
国内和亚洲部分地区只能使用Admob.为了收益最大化,针对不同区域来使用不同的广告平台.
原理:
根据不同的访问ip(终端) 来区域终端的地域.
前置条件:
http://api.wipmania.com/ 这是一个api,使用最简单的http,get就可以返回区域码,网站有介绍对应区域码的地域.
直接上代码片断:
当成功并且返回是_bIAD的时候才使用iad来. 其他情况(包括失败)均视为使用admob.
根据坛子里面的前辈的经验,得到的结论是iAD的收益要高于Admob(就单单指广告类的收益),看到过有人使用广告联盟或者是其他的平台来做整合.最后发现环境太复杂(个人不太喜欢使用别人现成的东东,主要是内容不可控),因此就自己整理了一个方法(应用已经上架,已经证实可行).
背影:
国内和亚洲部分地区只能使用Admob.为了收益最大化,针对不同区域来使用不同的广告平台.
原理:
根据不同的访问ip(终端) 来区域终端的地域.
前置条件:
http://api.wipmania.com/ 这是一个api,使用最简单的http,get就可以返回区域码,网站有介绍对应区域码的地域.
直接上代码片断:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
@protocol
AdsDelegate <
NSObject
>
- (
void
) adLocationDone:(
BOOL
)_bIAD;
// _bIAD标明是否使用iad.
@end
// ........... 省略
- (
void
) getLocation
{
NSMutableURLRequest
*request = [[
NSMutableURLRequest
alloc] init];
[request setURL:[[
NSURL
alloc] initWithString:LOCATION_API]];
[request setHTTPMethod:@
"GET"
];
[request addValue:@
"text/html"
forHTTPHeaderField:@
"Content-Type"
];
[request setCachePolicy:
NSURLRequestReloadIgnoringLocalCacheData
];
connection_ = [[
NSURLConnection
alloc] initWithRequest:request delegate:
self
];
[connection_ start];
[request release];
return
;
}
// ........... 省略
- (
void
) connection:(
NSURLConnection
*)_Connection didReceiveData:(
NSData
*)_Data
{
[data_ appendData:_Data];
return
;
}
- (
void
) connectionDidFinishLoading:(
NSURLConnection
*)_Connection
{
/*
NSString *string = [[NSString alloc] initWithBytes:[self.receivedData bytes] length:[self.receivedData length] encoding:NSUTF8StringEncoding];
[string release];
*/
LogDebug((
"connectionDidFinishLoading"
));
CFRunLoopStop(CFRunLoopGetCurrent());
NSString
*result = [[
NSString
alloc] initWithData:data_ encoding:
NSUTF8StringEncoding
];
LogDebug((
"%s"
, [result UTF8String]));
NSRange
range = [result rangeOfString:@
"CN"
];
if
(range.length == 0)
{
range = [result rangeOfString:@
"KP"
];
}
/* end if */
if
(delegate_)
{
[delegate_ adLocationDone:(range.length == 0)];
// [delegate_ adLocationDone:YES];
}
/* end if */
return
;
}
|
当成功并且返回是_bIAD的时候才使用iad来. 其他情况(包括失败)均视为使用admob.