下面说下躺坑
主要是接入google admob 聚合激励广告适配器 ,开启facebook ,unity,admob 广告
使用sdk框架接入
sdk下载地址:https://developers.google.com/admob/ios/download
1:导入主要的库
GoogleMobileAds.framework
GoogleAppMeasurement.framework
GoogleUtilities.framework
nanopb.framework
对应聚合各个平台sdk 地址:https://developers.google.com/admob/ios/mediate
2:导入facebook主要的库*(注意2个framework版本要对起来)*
FBAudienceNetwork.framework
地址:https://developers.facebook.com/docs/audience-network/guides/adding-sdk/ios
FacebookAdapter.framework
地址:https://bintray.com/google/mobile-ads-adapters-ios/FacebookAdapter
地址:https://google.bintray.com/mobile-ads-adapters-ios/
3:导入unity主要库*(注意2个framework版本要对起来)*
UnityAds.framework
地址:https://github.com/Unity-Technologies/unity-ads-ios/releases
UnityAdapter.framework
地址:https://google.bintray.com/mobile-ads-adapters-ios/
4:导入库到工程
需要添加本地库: libxml2.2.tbd 和 javaScriptCore.framework,(不然编译错误)
添加info里面的GADIsAdManagerApp 为 YES (不然闪退)
修改info里面的GADApplicationidentifier 为 ca-app-pub-0000000000000000~00000000 (后台自己找)
5:发现导入库UnityAdapter.framework ,FacebookAdapter.framework存在格式问题
(IOS中Xcode framework无法识别headers目录问题)
解决方案:
将***_SDK.framework/Versions/A/ 下的Headers和SDK文件
移动到***_SDK.framework目录下,
将其他文件删除,重新编译即可。
6:添加代码走起
admon.h
#import <Foundation/Foundation.h>
@interface AdMob : NSObject
typedef void (^LoadHandler)(BOOL succeeded, NSError* error);
typedef void (^OpenedHandler)();
typedef void (^StartedHandler)();
typedef void (^ClosedHandler)();
typedef void (^RewardedHandler)(NSString *type, int amount);
+ (AdMob *)sharedInstance;
- (void) init;
- (void) load:(NSString *)adFormat withAdUnitID:(NSString *)adUnitId withCompleted:(LoadHandler)callback;
- (BOOL) isLoaded:(NSString *)adFormat;
- (void) show:(NSString *)adFormat withAdUnitID:(NSString *)adUnitId onOpened:(OpenedHandler)openedCallback onStarted:(StartedHandler)startedCallback onClosed:(ClosedHandler)closedCallback onRewarded:(RewardedHandler)rewardedCallback;
@end
admon.mm
#import "AdMob.h"
#import <Foundation/Foundation.h>
#import <GoogleMobileAds/GoogleMobileAds.h>
#import "PluginHelper.h"
#import "UnityAppController.h"
#import "UnityInterface.h"
@interface AdMob() <GADRewardedAdDelegate>
@property (nonatomic, strong) LoadHandler _loadCallback;
@property (nonatomic, strong) OpenedHandler _openedCallback;
@property (nonatomic, strong) StartedHandler _startedCallback;
@property (nonatomic, strong) ClosedHandler _closedCallback;
@property (nonatomic, strong) RewardedHandler _rewardedCallback;
@property (nonatomic, strong) GADRewardedAd *rewardedAd;
@end
@implementation AdMob
+ (UIViewController *)unityGLViewController {
UnityAppController *applicationDelegate = [UIApplication sharedApplication].delegate;
return applicationDelegate.rootViewController;
}
+ (AdMob *)sharedInstance
{
static AdMob *_instance = nil;
if (_instance == nil

6931

被折叠的 条评论
为什么被折叠?



