[cocos2dx 3.0 + ios]如何编写iAd的plugin

来源:未知 责任编辑:责任编辑 发表时间:2014-05-20 18:26 点击:
cocos2dx3.0自带的plugin包含推广,收益等各个方面的第三方插件,但是对iAd没有支持,大概是因为专属于IOS,没有单独成库的必要,不过为了统一使用广告的插件化管理,封装一个专属IOS的IAD插件还是有必要的,搞了一天,在这里做个记录,有兴趣的朋友可以参考一下,不完善的地方请指出: p> 

p>1:如何创建XCODE库就不说了,创建在其他广告库的同级目录,文件结构也是一样,一共就三个文件:

p> 

p>  .pch

p> 

p>  AdsApple.h

p> 

p>  AdsApple.m

p> 

p>2:要加入到cocos2dx的PluginManager统一管理,那么我们这个新的类需要继承InterfaceAds,并且链接iAd.framework.

p> 

p>3:快1点了,直接上代码,完整注释:

p> 

p>  头文件:

p> 

p>//

p>//  AdsApple

p>//  AdsApple

p>//

p>//  Created by kevin on 14-5-2.

p>//  Copyright (c) 2014年 kevin. All rights reserved.

p>//

p> 

p>#import <Foundation/Foundation.h>

p>#import "iAd/iAd.h"

p> 

p>#import "InterfaceAds.h"

p> 

p>// 广告类型

p>typedef enum {

p>    kTypeBanner = 1,    // 广告栏

p>    kTypeFullScreen,    // 全屏

p>} AppleType;

p> 

p> 

p>@interface AdsApple : NSObject <InterfaceAds, ADBannerViewDelegate>

p>{

p>}

p> 

p>@property BOOL debug;

p>@property bool bannerVisible;

p>@property int bannerPos;

p>@property (assign, nonatomic) ADBannerView* bannerView;

p> 

p>// 设置开发者信息

p>- (void) configDeveloperInfo: (NSMutableDictionary*) devInfo;

p> 

p>// 显示广告

p>- (void) showAds: (NSMutableDictionary*) info position:(int) pos;

p> 

p>// 隐藏广告

p>- (void) hideAds: (NSMutableDictionary*) info;

p> 

p>// 位置获取

p>- (void) queryPoints;

p> 

p>//

p>- (void) spendPoints: (int) points;

p> 

p>// 开关调试模式

p>- (void) setDebugMode: (BOOL) isDebugMode;

p> 

p>// 获取SDK版本

p>- (NSString*) getSDKVersion;

p> 

p>// 获取插件版本

p>- (NSString*) getPluginVersion;

p> 

p>@end

p>  实现:

p> 

p> 

p>//

p>//  AdsApple

p>//  AdsApple

p>//

p>//  Created by kevin on 14-5-2.

p>//  Copyright (c) 2014年 kevin. All rights reserved.

p>//

p> 

p>#import "AdsApple.h"

p>#import "AdsWrapper.h"

p> 

p>#define OUTPUT_LOG(...)     if (self.debug) NSLog(__VA_ARGS__);

p>#define OUT_POS CGPointMake(-1024, -1024)

p> 

p>@implementation AdsApple

p> 

p>@synthesize debug = __debug;

p> 

p>// 初始化

p>- (id)init

p>{

p>    self = [super init];

p>    if (self) {

p>         

p>    }

p>     

p>    return self;

p>}

p> 

p>// 释放

p>- (void)dealloc

p>{

p>    if( self.bannerView != nil ) {

p>        [self.bannerView removeFromSuperview];
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x学习(一):HelloWorld
  • cocos2dx在xcode下开发,编译到android上(2)
  • cocos2d 设置屏幕默认方向
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1