296 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			296 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
#import "AmazonManager.h"
 | 
						|
 | 
						|
@implementation AmazonManager
 | 
						|
 | 
						|
#pragma mark NSObject
 | 
						|
 | 
						|
+ (AmazonManager*)sharedManager
 | 
						|
{
 | 
						|
    static AmazonManager* sharedManager = nil;
 | 
						|
 | 
						|
    if (!sharedManager)
 | 
						|
        sharedManager = [[AmazonManager alloc] init];
 | 
						|
 | 
						|
    return sharedManager;
 | 
						|
}
 | 
						|
 | 
						|
- (void)initialize:(NSString*)keywords
 | 
						|
{
 | 
						|
    [[DTBAds sharedInstance] setAppKey: keywords];
 | 
						|
}
 | 
						|
 | 
						|
- (BOOL)isInitialized
 | 
						|
{
 | 
						|
    return [[DTBAds sharedInstance] isReady];
 | 
						|
}
 | 
						|
 | 
						|
- (void)setUseGeoLocation:(bool)flag
 | 
						|
{
 | 
						|
    [[DTBAds sharedInstance] setUseGeoLocation:flag];
 | 
						|
}
 | 
						|
 | 
						|
- (BOOL)getUseGeoLocation
 | 
						|
{
 | 
						|
    return [[DTBAds sharedInstance] useGeoLocation];
 | 
						|
}
 | 
						|
 | 
						|
- (void)setLogLevel:(int)logLevel
 | 
						|
{
 | 
						|
    DTBLogLevel level = (DTBLogLevel) logLevel;
 | 
						|
    [[DTBAds sharedInstance] setLogLevel:level];
 | 
						|
}
 | 
						|
 | 
						|
- (int)getLogLevel
 | 
						|
{
 | 
						|
    return 0;
 | 
						|
}
 | 
						|
 | 
						|
- (void)setTestMode:(bool)flag
 | 
						|
{
 | 
						|
    [[DTBAds sharedInstance] setTestMode:flag];
 | 
						|
}
 | 
						|
 | 
						|
- (BOOL)isTestModeEnabled
 | 
						|
{
 | 
						|
    return [[DTBAds sharedInstance] testMode];
 | 
						|
}
 | 
						|
 | 
						|
- (DTBAdSize*)createBannerAdSize:(int)width height:(int)height uuid:(NSString*)uuid{
 | 
						|
    return [[DTBAdSize alloc] initBannerAdSizeWithWidth:width height:height andSlotUUID:uuid];
 | 
						|
}
 | 
						|
 | 
						|
- (DTBAdSize*)createVideoAdSize:(int)width height:(int)height uuid:(NSString*)uuid{
 | 
						|
    return [[DTBAdSize alloc] initVideoAdSizeWithPlayerWidth:width height: height andSlotUUID: uuid];;
 | 
						|
}
 | 
						|
 | 
						|
- (DTBAdSize*)createInterstitialAdSize:(NSString*)uuid{
 | 
						|
    return [[DTBAdSize alloc] initInterstitialAdSizeWithSlotUUID:uuid];
 | 
						|
}
 | 
						|
 | 
						|
- (DTBAdLoader*)createAdLoader{
 | 
						|
    return [DTBAdLoader new];
 | 
						|
}
 | 
						|
 | 
						|
- (void)setSizes:(DTBAdLoader*)adLoader size:(DTBAdSize*)size{
 | 
						|
    [adLoader setSizes:size, nil];
 | 
						|
}
 | 
						|
 | 
						|
- (void)loadAd:(DTBAdLoader*)adLoader callback:(AmazonUnityCallback*)callback{
 | 
						|
    [adLoader loadAd:callback];
 | 
						|
}
 | 
						|
 | 
						|
- (void)loadSmartBanner:(DTBAdLoader*)adLoader callback:(AmazonUnityCallback*)callback{
 | 
						|
    [adLoader loadSmartBanner:callback];
 | 
						|
}
 | 
						|
 | 
						|
- (void)setMRAIDPolicy:(DTBMRAIDPolicy)policy
 | 
						|
{
 | 
						|
    [DTBAds sharedInstance].mraidPolicy = policy;
 | 
						|
}
 | 
						|
 | 
						|
- (int) getMRAIDPolicy{
 | 
						|
    return [DTBAds sharedInstance].mraidPolicy;
 | 
						|
}
 | 
						|
 | 
						|
- (void)setMRAIDSupportedVersions:(NSString* _Nullable)versions
 | 
						|
{
 | 
						|
    [DTBAds sharedInstance].mraidCustomVersions = nil;
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
- (NSString *)jsonFromDict:(NSDictionary *)dict {
 | 
						|
    NSError *error;
 | 
						|
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict
 | 
						|
                                                       options:0
 | 
						|
                                                         error:&error];
 | 
						|
    if (!jsonData) {
 | 
						|
        NSLog(@"Error converting JSON from VCS response dict: %@", error);
 | 
						|
        return @"";
 | 
						|
    } else {
 | 
						|
        return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
- (AmazonUnityCallback*)createCallback{
 | 
						|
    AmazonUnityCallback* newCallback = [[AmazonUnityCallback alloc] init];
 | 
						|
    return newCallback;
 | 
						|
}
 | 
						|
 | 
						|
- (DTBBannerDelegate*)createBannerDelegate{
 | 
						|
    return [[DTBBannerDelegate alloc] init];
 | 
						|
}
 | 
						|
 | 
						|
- (DTBInterstitialDelegate*)createInterstitialDelegate{
 | 
						|
    return [[DTBInterstitialDelegate alloc] init];
 | 
						|
}
 | 
						|
 | 
						|
- (void)createFetchManager:(DTBAdLoader*)adLoader isSmartBanner:(BOOL)isSmartBanner{
 | 
						|
    NSError *error = [DTBFetchFactory.sharedInstance createFetchManagerForLoader:adLoader isSmartBanner:isSmartBanner];
 | 
						|
    if(error == nil){
 | 
						|
        NSLog(@"FetchManager created");
 | 
						|
    } else {
 | 
						|
        NSLog(@"failed with error = %@", [error localizedDescription]);
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
- (DTBFetchManager*)getFetchManager:(int)slotType isSmartBanner:(BOOL)isSmartBanner{
 | 
						|
    if( !isSmartBanner ){
 | 
						|
        return [[DTBFetchFactory sharedInstance] fetchManagerBySlotType:(DTBSlotType)slotType];
 | 
						|
    }else {
 | 
						|
        return [[DTBFetchFactory sharedInstance] fetchManagerBySlotType:SLOT_SMART];
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
-(void)fetchManagerPop:(DTBFetchManager*)fetchManager{
 | 
						|
    [fetchManager pop];
 | 
						|
}
 | 
						|
 
 | 
						|
-(void)putCustomTarget:(DTBAdLoader*)adLoader key:(NSString*)key value:(NSString*)value{
 | 
						|
    [adLoader putCustomTarget:value withKey:key];
 | 
						|
}
 | 
						|
 | 
						|
-(void)startFetchManager:(DTBFetchManager*)fetchManager{
 | 
						|
    [fetchManager start];
 | 
						|
}
 | 
						|
 | 
						|
-(void)stopFetchManager:(DTBFetchManager*)fetchManager{
 | 
						|
    [fetchManager stop];
 | 
						|
}
 | 
						|
 | 
						|
-(BOOL)isEmptyFetchManager:(DTBFetchManager*)fetchManager{
 | 
						|
    return [fetchManager isEmpty];
 | 
						|
}
 | 
						|
 | 
						|
-(void)destroyFetchManager:(int)slotType{
 | 
						|
    [[DTBFetchFactory sharedInstance] removeFetchManagerForSlotType:(DTBSlotType)slotType];
 | 
						|
}
 | 
						|
 | 
						|
-(void)setSlotGroup:(DTBAdLoader*)adLoader  slotGtoupName:(NSString*)slotGtoupName{
 | 
						|
    [adLoader setSlotGroup:slotGtoupName];
 | 
						|
}
 | 
						|
 | 
						|
-(DTBSlotGroup*)createSlotGroup:(NSString*)slotGroupName{
 | 
						|
     DTBSlotGroup *group = [[DTBSlotGroup alloc] initWithName:slotGroupName];
 | 
						|
    return group;
 | 
						|
}
 | 
						|
 | 
						|
-(void)addSlot:(DTBSlotGroup*)slot size:(DTBAdSize*)size{
 | 
						|
    [slot addSize:size];
 | 
						|
}
 | 
						|
 | 
						|
-(void)addSlotGroup:(DTBSlotGroup*)group{
 | 
						|
    [DTBAds.sharedInstance addSlotGroup:group];
 | 
						|
}
 | 
						|
 | 
						|
-(NSString*)fetchMoPubKeywords:(DTBAdResponse*)response {
 | 
						|
    return [response keywordsForMopub];
 | 
						|
}
 | 
						|
 | 
						|
-(NSString*)fetchAmznSlots:(DTBAdResponse *)response {
 | 
						|
    return [response amznSlots];
 | 
						|
}
 | 
						|
 | 
						|
-(int)fetchAdWidth:(DTBAdResponse *)response {
 | 
						|
    DTBAdSize *adSize = [response adSize];
 | 
						|
    return adSize.width;
 | 
						|
}
 | 
						|
 | 
						|
-(int)fetchAdHeight:(DTBAdResponse *)response {
 | 
						|
    DTBAdSize *adSize = [response adSize];
 | 
						|
    return adSize.height;
 | 
						|
}
 | 
						|
 | 
						|
-(NSString*)fetchMediationHints:(DTBAdResponse*)response isSmart:(BOOL)isSmart{
 | 
						|
    NSError * err;
 | 
						|
    NSDictionary * hint = [response mediationHints:isSmart];
 | 
						|
    NSMutableDictionary *mHint = [hint mutableCopy];
 | 
						|
    NSDate* myDate = mHint[@"load_start"];
 | 
						|
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
 | 
						|
    [dateFormatter setDateFormat:@"dd-MM-yyyy"];
 | 
						|
    NSString *stringDate = [dateFormatter stringFromDate:myDate];
 | 
						|
    [mHint setValue:stringDate forKey:@"load_start"];
 | 
						|
    NSData * jsonData = [NSJSONSerialization  dataWithJSONObject:mHint options:0 error:&err];
 | 
						|
    NSString * mediationHints = [[NSString alloc] initWithData:jsonData   encoding:NSUTF8StringEncoding];
 | 
						|
    return mediationHints;
 | 
						|
}
 | 
						|
 | 
						|
-(void)setCMPFlavor:(DTBCMPFlavor)cFlavor {
 | 
						|
    [DTBAds.sharedInstance setCmpFlavor:cFlavor];
 | 
						|
}
 | 
						|
 | 
						|
-(void)setConsentStatus:(DTBConsentStatus)consentStatus{
 | 
						|
    [DTBAds.sharedInstance setConsentStatus:consentStatus];
 | 
						|
}
 | 
						|
 | 
						|
-(NSMutableArray*)createArray{
 | 
						|
    return [[NSMutableArray alloc] init];
 | 
						|
}
 | 
						|
 | 
						|
-(void)addToArray:(NSMutableArray*)dictionary item:(int)item{
 | 
						|
    NSNumber* num = [NSNumber numberWithInt:item];
 | 
						|
    [dictionary addObject:num];
 | 
						|
}
 | 
						|
 | 
						|
-(void)setVendorList:(NSMutableArray*)dictionary{
 | 
						|
    [DTBAds.sharedInstance setVendorList:dictionary];
 | 
						|
}
 | 
						|
 | 
						|
-(void)setAutoRefresh:(DTBAdLoader*)adLoader{
 | 
						|
    [adLoader setAutoRefresh];
 | 
						|
}
 | 
						|
 | 
						|
-(void)setAutoRefresh:(DTBAdLoader*)adLoader secs:(int)secs{
 | 
						|
    [adLoader setAutoRefresh:secs];
 | 
						|
}
 | 
						|
 | 
						|
-(void)pauseAutorefresh:(DTBAdLoader*)adLoader{
 | 
						|
    [adLoader pauseAutorefresh];
 | 
						|
}
 | 
						|
 | 
						|
-(void)stopAutoRefresh:(DTBAdLoader*)adLoader{
 | 
						|
    [adLoader stop];
 | 
						|
}
 | 
						|
 | 
						|
-(void)resumeAutoRefresh:(DTBAdLoader*)adLoader{
 | 
						|
    [adLoader resumeAutorefresh];
 | 
						|
}
 | 
						|
 | 
						|
-(void)setAPSPublisherExtendedIdFeatureEnabled:(BOOL)isEnabled {
 | 
						|
    [DTBAds.sharedInstance setAPSPublisherExtendedIdFeatureEnabled:isEnabled];
 | 
						|
}
 | 
						|
 | 
						|
-(void)addCustomAttribute:(NSString *)withKey value:(id)value {
 | 
						|
    [DTBAds.sharedInstance addCustomAttribute:withKey value:value];
 | 
						|
}
 | 
						|
 | 
						|
-(void)removeCustomAttribute:(NSString *)forKey {
 | 
						|
    [DTBAds.sharedInstance removeCustomAttribute:forKey];
 | 
						|
}
 | 
						|
 | 
						|
-(void)setAdNetworkInfo:(DTBAdNetworkInfo *)dtbAdNetworkInfo {
 | 
						|
    [[DTBAds sharedInstance] setAdNetworkInfo:dtbAdNetworkInfo];
 | 
						|
}
 | 
						|
 | 
						|
-(void)setLocalExtras:(NSString *)adUnitId localExtras:(NSDictionary *)localExtras {
 | 
						|
    [DTBAds setLocalExtras:adUnitId localExtras:localExtras];
 | 
						|
}
 | 
						|
 | 
						|
-(NSDictionary *)getMediationHintsDict:(DTBAdResponse*)response isSmart:(BOOL)isSmart{
 | 
						|
    return [response mediationHints:isSmart];
 | 
						|
}
 | 
						|
 | 
						|
-(void)showInterstitialAd:(DTBAdInterstitialDispatcher*)dispatcher {
 | 
						|
    [dispatcher showFromController:[self unityRootViewController]];
 | 
						|
}
 | 
						|
 | 
						|
-(UIViewController *)unityRootViewController {
 | 
						|
    id<UIApplicationDelegate> appDelegate = [UIApplication sharedApplication].delegate;
 | 
						|
    // @TODO Check whether the appDelegate implements rootViewController. Refer to CR-68240623 for discussions.
 | 
						|
    if ([appDelegate respondsToSelector:@selector(rootViewController)]) {
 | 
						|
        return [[[UIApplication sharedApplication].delegate window] rootViewController];
 | 
						|
    }
 | 
						|
    return nil;
 | 
						|
}
 | 
						|
 | 
						|
@end
 |