demoapp/initial_implementation (#1)
* Initial checkin * Integrate CocoaPods with AppLovin SDK * Continued work * Update Main.storyboard * Update project.pbxproj * Update Main.storyboard * Delete xcschememanagement.plist * Pod deintegrate * Delete contents.xcworkspacedata * Delete IDEWorkspaceChecks.plist * Update .gitignore * Programmatically set banner constraints * Anchor banner to top of screen * Renamed to AutoLayout Banner * * FrameLayout and InterfaceBuilder based banner ad files added * Update Main.storyboard * Frame Layout banner * Interface Builder banner WIP * Update Main.storyboard Link delegate thru storyboard * Interface Builder banner ad * Rename viewcontroller and update storyboard * Delete contents.xcworkspacedata * Delete contents.xcworkspacedata * Delete IDEWorkspaceChecks.plist * Delete Podfile * Delete Contents.json * Delete project.pbxproj * Delete contents.xcworkspacedata * Delete IDEWorkspaceChecks.plist * Delete xcschememanagement.plist * Delete ALAppDelegate.swift * Revert "Delete ALAppDelegate.swift" This reverts commit 23d14ad7321ada22bcb37b39f49ea1238bb80c33. * Revert "Delete xcschememanagement.plist" This reverts commit b9d36d2ed0852393ebf5f495fc696cbafec2efee. * Revert "Delete IDEWorkspaceChecks.plist" This reverts commit b7486812f3abc59e4484aaf57977d06ba182314c. * Revert "Delete contents.xcworkspacedata" This reverts commit 8e5786110de39642b45ee46490e89163ee592f4a. * Revert "Delete project.pbxproj" This reverts commit 85107556aa284007f2e238b329a36146556d9def. * Revert "Delete Contents.json" This reverts commit 1b7ec9d1974d343485dc1d2f1bf5e215fdb20946. * Revert "Delete Podfile" This reverts commit d5ab4a03892d4f1d8d179009d0ac4133e67b5caf. * Revert "Delete IDEWorkspaceChecks.plist" This reverts commit 094f4f16bce16b0cd1947aa48c337c4067aa67e4. * Revert "Delete contents.xcworkspacedata" This reverts commit be6050a793f1409564e3a75f483deca153ff910a. * Revert "Delete contents.xcworkspacedata" This reverts commit 1802a5e706ae0914042b1be6dea9dca4f84cf9a2. * Delete contents.xcworkspacedata * Delete IDEWorkspaceChecks.plist * Adding DemoApp-Swift in .gitignore until swift app is done * Delete contents.xcworkspacedata * Delete IDEWorkspaceChecks.plist * Removing Swift files till complete * Revert "Adding DemoApp-Swift in .gitignore until swift app is done" This reverts commit bf1c0b4f170062d8bda663a442a8fab75e1aa00e. * Remove empty pod directory * Remove another empty pod dir * Move addsubview before loadAd
This commit is contained in:
Родитель
166170bab0
Коммит
806e0ca5f3
|
@ -0,0 +1,78 @@
|
|||
# Xcode
|
||||
#
|
||||
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
|
||||
|
||||
## Build generated
|
||||
build/
|
||||
DerivedData/
|
||||
|
||||
## Various settings
|
||||
*.pbxuser
|
||||
!default.pbxuser
|
||||
*.mode1v3
|
||||
!default.mode1v3
|
||||
*.mode2v3
|
||||
!default.mode2v3
|
||||
*.perspectivev3
|
||||
!default.perspectivev3
|
||||
xcuserdata/
|
||||
xcworkspace/
|
||||
*.xcworkspacedata
|
||||
DemoApp-ObjC/DemoApp-ObjC.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
|
||||
|
||||
## Other
|
||||
*.moved-aside
|
||||
*.xcuserstate
|
||||
*.xcuserdatad
|
||||
*.xcbkptlist
|
||||
*.xcscheme
|
||||
|
||||
|
||||
## Obj-C/Swift specific
|
||||
*.hmap
|
||||
*.ipa
|
||||
*.dSYM.zip
|
||||
*.dSYM
|
||||
*.a
|
||||
|
||||
# CocoaPods
|
||||
#
|
||||
# We recommend against adding the Pods directory to your .gitignore. However
|
||||
# you should judge for yourself, the pros and cons are mentioned at:
|
||||
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
||||
|
||||
Pods/
|
||||
|
||||
# Carthage
|
||||
#
|
||||
# Add this line if you want to avoid checking in source code from Carthage dependencies.
|
||||
# Carthage/Checkouts
|
||||
|
||||
Carthage/Build
|
||||
|
||||
# fastlane
|
||||
#
|
||||
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
|
||||
# screenshots whenever they are needed.
|
||||
# For more information about the recommended setup visit:
|
||||
# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md
|
||||
|
||||
fastlane/report.xml
|
||||
fastlane/Preview.html
|
||||
fastlane/screenshots
|
||||
fastlane/test_output
|
||||
|
||||
# Code Injection
|
||||
#
|
||||
# After new code Injection tools there's a generated folder /iOSInjectionProject
|
||||
# https://github.com/johnno1962/injectionforxcode
|
||||
|
||||
iOSInjectionProject/
|
||||
|
||||
# Idea
|
||||
.idea
|
||||
|
||||
# MacOS
|
||||
|
||||
.DS_Store
|
||||
*.lock
|
|
@ -0,0 +1,395 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 51;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
1D992FE6231FA1C400C472F8 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1D992FE4231FA1C400C472F8 /* Main.storyboard */; };
|
||||
1D992FE8231FA1C500C472F8 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1D992FE7231FA1C500C472F8 /* Assets.xcassets */; };
|
||||
1D992FEB231FA1C500C472F8 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1D992FE9231FA1C500C472F8 /* LaunchScreen.storyboard */; };
|
||||
37C7E1EB2328904E002165B5 /* ALAutoLayoutBannerAdViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D0CB33523204D120076AAAA /* ALAutoLayoutBannerAdViewController.m */; };
|
||||
37C7E1EC2328904E002165B5 /* ALFrameLayoutBannerAdViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 37C7E1E823285E94002165B5 /* ALFrameLayoutBannerAdViewController.m */; };
|
||||
37C7E1ED2328904E002165B5 /* ALInterstitialAdViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D0CB32F23204CE70076AAAA /* ALInterstitialAdViewController.m */; };
|
||||
37C7E1EE2328904E002165B5 /* ALRewardedAdViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D0CB33223204CF70076AAAA /* ALRewardedAdViewController.m */; };
|
||||
37C7E1EF2328904E002165B5 /* ALInterfaceBuilderBannerAdViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 37C7E1E523285B4E002165B5 /* ALInterfaceBuilderBannerAdViewController.m */; };
|
||||
37C7E1F223289286002165B5 /* AppLovinSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 37C7E1F123289286002165B5 /* AppLovinSDK.framework */; };
|
||||
37C7E1F3232892CF002165B5 /* ALAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D992FDF231FA1C400C472F8 /* ALAppDelegate.m */; };
|
||||
37C7E1F523297423002165B5 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D992FED231FA1C500C472F8 /* main.m */; };
|
||||
37C7E1F62329742E002165B5 /* ALHomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D992FE2231FA1C400C472F8 /* ALHomeViewController.m */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
1D0CB32E23204CE70076AAAA /* ALInterstitialAdViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ALInterstitialAdViewController.h; sourceTree = "<group>"; };
|
||||
1D0CB32F23204CE70076AAAA /* ALInterstitialAdViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ALInterstitialAdViewController.m; sourceTree = "<group>"; };
|
||||
1D0CB33123204CF70076AAAA /* ALRewardedAdViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ALRewardedAdViewController.h; sourceTree = "<group>"; };
|
||||
1D0CB33223204CF70076AAAA /* ALRewardedAdViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ALRewardedAdViewController.m; sourceTree = "<group>"; };
|
||||
1D0CB33423204D120076AAAA /* ALAutoLayoutBannerAdViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ALAutoLayoutBannerAdViewController.h; sourceTree = "<group>"; };
|
||||
1D0CB33523204D120076AAAA /* ALAutoLayoutBannerAdViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ALAutoLayoutBannerAdViewController.m; sourceTree = "<group>"; };
|
||||
1D992FDB231FA1C300C472F8 /* DemoApp-ObjC.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DemoApp-ObjC.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1D992FDE231FA1C300C472F8 /* ALAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ALAppDelegate.h; sourceTree = "<group>"; };
|
||||
1D992FDF231FA1C400C472F8 /* ALAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ALAppDelegate.m; sourceTree = "<group>"; };
|
||||
1D992FE1231FA1C400C472F8 /* ALHomeViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ALHomeViewController.h; sourceTree = "<group>"; };
|
||||
1D992FE2231FA1C400C472F8 /* ALHomeViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ALHomeViewController.m; sourceTree = "<group>"; };
|
||||
1D992FE5231FA1C400C472F8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||
1D992FE7231FA1C500C472F8 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
1D992FEA231FA1C500C472F8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||
1D992FEC231FA1C500C472F8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
1D992FED231FA1C500C472F8 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
37C7E1E523285B4E002165B5 /* ALInterfaceBuilderBannerAdViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ALInterfaceBuilderBannerAdViewController.m; sourceTree = "<group>"; };
|
||||
37C7E1E723285B6A002165B5 /* ALInterfaceBuilderBannerAdViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ALInterfaceBuilderBannerAdViewController.h; sourceTree = "<group>"; };
|
||||
37C7E1E823285E94002165B5 /* ALFrameLayoutBannerAdViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ALFrameLayoutBannerAdViewController.m; sourceTree = "<group>"; };
|
||||
37C7E1EA23285EDF002165B5 /* ALFrameLayoutBannerAdViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ALFrameLayoutBannerAdViewController.h; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
1D992FD8231FA1C300C472F8 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
1D0CB33823204EBD0076AAAA /* Ads */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D0CB33423204D120076AAAA /* ALAutoLayoutBannerAdViewController.h */,
|
||||
1D0CB33523204D120076AAAA /* ALAutoLayoutBannerAdViewController.m */,
|
||||
37C7E1EA23285EDF002165B5 /* ALFrameLayoutBannerAdViewController.h */,
|
||||
37C7E1E823285E94002165B5 /* ALFrameLayoutBannerAdViewController.m */,
|
||||
1D0CB32E23204CE70076AAAA /* ALInterstitialAdViewController.h */,
|
||||
1D0CB32F23204CE70076AAAA /* ALInterstitialAdViewController.m */,
|
||||
1D0CB33123204CF70076AAAA /* ALRewardedAdViewController.h */,
|
||||
1D0CB33223204CF70076AAAA /* ALRewardedAdViewController.m */,
|
||||
37C7E1E723285B6A002165B5 /* ALInterfaceBuilderBannerAdViewController.h */,
|
||||
37C7E1E523285B4E002165B5 /* ALInterfaceBuilderBannerAdViewController.m */,
|
||||
);
|
||||
path = Ads;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1D992FD2231FA1C300C472F8 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D992FDD231FA1C300C472F8 /* DemoApp-ObjC */,
|
||||
1D992FDC231FA1C300C472F8 /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1D992FDC231FA1C300C472F8 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D992FDB231FA1C300C472F8 /* DemoApp-ObjC.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1D992FDD231FA1C300C472F8 /* DemoApp-ObjC */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D0CB33823204EBD0076AAAA /* Ads */,
|
||||
1D992FDE231FA1C300C472F8 /* ALAppDelegate.h */,
|
||||
1D992FDF231FA1C400C472F8 /* ALAppDelegate.m */,
|
||||
1D992FE1231FA1C400C472F8 /* ALHomeViewController.h */,
|
||||
1D992FE2231FA1C400C472F8 /* ALHomeViewController.m */,
|
||||
1D993015231FA39000C472F8 /* Supporting Files */,
|
||||
);
|
||||
path = "DemoApp-ObjC";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1D993015231FA39000C472F8 /* Supporting Files */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D992FED231FA1C500C472F8 /* main.m */,
|
||||
1D992FEC231FA1C500C472F8 /* Info.plist */,
|
||||
1D992FE7231FA1C500C472F8 /* Assets.xcassets */,
|
||||
1D992FE9231FA1C500C472F8 /* LaunchScreen.storyboard */,
|
||||
1D992FE4231FA1C400C472F8 /* Main.storyboard */,
|
||||
);
|
||||
path = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
1D992FDA231FA1C300C472F8 /* DemoApp-ObjC */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1D992FF1231FA1C500C472F8 /* Build configuration list for PBXNativeTarget "DemoApp-ObjC" */;
|
||||
buildPhases = (
|
||||
1D992FD7231FA1C300C472F8 /* Sources */,
|
||||
1D992FD8231FA1C300C472F8 /* Frameworks */,
|
||||
1D992FD9231FA1C300C472F8 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "DemoApp-ObjC";
|
||||
productName = "DemoApp-ObjC";
|
||||
productReference = 1D992FDB231FA1C300C472F8 /* DemoApp-ObjC.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
1D992FD3231FA1C300C472F8 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 1030;
|
||||
ORGANIZATIONNAME = "AppLovin Corporation";
|
||||
TargetAttributes = {
|
||||
1D992FDA231FA1C300C472F8 = {
|
||||
CreatedOnToolsVersion = 10.3;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 1D992FD6231FA1C300C472F8 /* Build configuration list for PBXProject "DemoApp-ObjC" */;
|
||||
compatibilityVersion = "Xcode 9.3";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 1D992FD2231FA1C300C472F8;
|
||||
productRefGroup = 1D992FDC231FA1C300C472F8 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
1D992FDA231FA1C300C472F8 /* DemoApp-ObjC */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
1D992FD9231FA1C300C472F8 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1D992FEB231FA1C500C472F8 /* LaunchScreen.storyboard in Resources */,
|
||||
1D992FE8231FA1C500C472F8 /* Assets.xcassets in Resources */,
|
||||
1D992FE6231FA1C400C472F8 /* Main.storyboard in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
1D992FD7231FA1C300C472F8 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
37C7E1F62329742E002165B5 /* ALHomeViewController.m in Sources */,
|
||||
37C7E1F523297423002165B5 /* main.m in Sources */,
|
||||
37C7E1F3232892CF002165B5 /* ALAppDelegate.m in Sources */,
|
||||
37C7E1EB2328904E002165B5 /* ALAutoLayoutBannerAdViewController.m in Sources */,
|
||||
37C7E1EC2328904E002165B5 /* ALFrameLayoutBannerAdViewController.m in Sources */,
|
||||
37C7E1ED2328904E002165B5 /* ALInterstitialAdViewController.m in Sources */,
|
||||
37C7E1EE2328904E002165B5 /* ALRewardedAdViewController.m in Sources */,
|
||||
37C7E1EF2328904E002165B5 /* ALInterfaceBuilderBannerAdViewController.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
1D992FE4231FA1C400C472F8 /* Main.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
1D992FE5231FA1C400C472F8 /* Base */,
|
||||
);
|
||||
name = Main.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1D992FE9231FA1C500C472F8 /* LaunchScreen.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
1D992FEA231FA1C500C472F8 /* Base */,
|
||||
);
|
||||
name = LaunchScreen.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1D992FEF231FA1C500C472F8 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||
MTL_FAST_MATH = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
SDKROOT = iphoneos;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1D992FF0231FA1C500C472F8 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
MTL_FAST_MATH = YES;
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
SDKROOT = iphoneos;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
1D992FF2231FA1C500C472F8 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_TEAM = LUDVB6Z3BS;
|
||||
INFOPLIST_FILE = "$(SRCROOT)/DemoApp-ObjC/Supporting Files/Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.applovin.enterprise.apps.demoapp;
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1D992FF3231FA1C500C472F8 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
DEVELOPMENT_TEAM = LUDVB6Z3BS;
|
||||
INFOPLIST_FILE = "$(SRCROOT)/DemoApp-ObjC/Supporting Files/Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.applovin.enterprise.apps.demoapp;
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1D992FD6231FA1C300C472F8 /* Build configuration list for PBXProject "DemoApp-ObjC" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1D992FEF231FA1C500C472F8 /* Debug */,
|
||||
1D992FF0231FA1C500C472F8 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
1D992FF1231FA1C500C472F8 /* Build configuration list for PBXNativeTarget "DemoApp-ObjC" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1D992FF2231FA1C500C472F8 /* Debug */,
|
||||
1D992FF3231FA1C500C472F8 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 1D992FD3231FA1C300C472F8 /* Project object */;
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
//
|
||||
// ALAppDelegate.h
|
||||
// DemoApp-ObjC
|
||||
//
|
||||
// Created by Thomas So on 9/4/19.
|
||||
// Copyright © 2019 AppLovin Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface ALAppDelegate : UIResponder<UIApplicationDelegate>
|
||||
|
||||
@property (nonatomic, strong) UIWindow *window;
|
||||
|
||||
@end
|
|
@ -0,0 +1,27 @@
|
|||
//
|
||||
// ALAppDelegate.m
|
||||
// DemoApp-ObjC
|
||||
//
|
||||
// Created by Thomas So on 9/4/19.
|
||||
// Copyright © 2019 AppLovin Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
#import "ALAppDelegate.h"
|
||||
#import <AppLovinSDK/AppLovinSDK.h>
|
||||
|
||||
@implementation ALAppDelegate
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
||||
{
|
||||
#warning - Make sure to add your AppLovin SDK key in the Info.plist under the "AppLovinSdkKey" key
|
||||
|
||||
// Initialize the AppLovin SDK
|
||||
[ALSdk shared].mediationProvider = ALMediationProviderMAX;
|
||||
[[ALSdk shared] initializeSdkWithCompletionHandler:^(ALSdkConfiguration *configuration) {
|
||||
// AppLovin SDK is initialized, start loading ads now or later if ad gate is reached
|
||||
}];
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
@end
|
|
@ -0,0 +1,13 @@
|
|||
//
|
||||
// ALHomeViewController.h
|
||||
// DemoApp-ObjC
|
||||
//
|
||||
// Created by Thomas So on 9/4/19.
|
||||
// Copyright © 2019 AppLovin Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface ALHomeViewController : UIViewController
|
||||
|
||||
@end
|
|
@ -0,0 +1,23 @@
|
|||
//
|
||||
// ALHomeViewController.m
|
||||
// DemoApp-ObjC
|
||||
//
|
||||
// Created by Thomas So on 9/4/19.
|
||||
// Copyright © 2019 AppLovin Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
#import "ALHomeViewController.h"
|
||||
|
||||
@interface ALHomeViewController()
|
||||
|
||||
@end
|
||||
|
||||
@implementation ALHomeViewController
|
||||
|
||||
- (void)viewDidLoad
|
||||
{
|
||||
[super viewDidLoad];
|
||||
|
||||
}
|
||||
|
||||
@end
|
|
@ -0,0 +1,17 @@
|
|||
//
|
||||
// ALAutoLayoutBannerAdViewController.h
|
||||
// DemoApp-ObjC
|
||||
//
|
||||
// Created by Thomas So on 9/4/19.
|
||||
// Copyright © 2019 AppLovin Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface ALAutoLayoutBannerAdViewController : UIViewController
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
|
@ -0,0 +1,80 @@
|
|||
//
|
||||
// ALAutoLayoutBannerAdViewController.m
|
||||
// DemoApp-ObjC
|
||||
//
|
||||
// Created by Thomas So on 9/4/19.
|
||||
// Copyright © 2019 AppLovin Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
#import "ALAutoLayoutBannerAdViewController.h"
|
||||
#import <AppLovinSDK/AppLovinSDK.h>
|
||||
|
||||
@interface ALAutoLayoutBannerAdViewController()<MAAdViewAdDelegate>
|
||||
@property (nonatomic, strong) MAAdView *adView;
|
||||
@end
|
||||
|
||||
@implementation ALAutoLayoutBannerAdViewController
|
||||
|
||||
#pragma mark - View Lifecycle
|
||||
|
||||
- (void)viewDidLoad
|
||||
{
|
||||
[super viewDidLoad];
|
||||
|
||||
self.adView = [[MAAdView alloc] initWithAdUnitIdentifier: @"BANNER_AD_UNIT_ID"];
|
||||
self.adView.delegate = self;
|
||||
self.adView.translatesAutoresizingMaskIntoConstraints = NO;
|
||||
|
||||
// Set background or background color for banners to be fully functional
|
||||
self.adView.backgroundColor = UIColor.blackColor;
|
||||
|
||||
// Center the banner and anchor it to the top of the screen.
|
||||
CGFloat height = (UIDevice.currentDevice.userInterfaceIdiom == UIUserInterfaceIdiomPad) ? 90 : 50; // Banner height on iPhone and iPad is 50 and 90, respectively
|
||||
[self.view addConstraints: @[[self constraintWithAdView: self.adView andAttribute: NSLayoutAttributeLeading],
|
||||
[self constraintWithAdView: self.adView andAttribute: NSLayoutAttributeTrailing],
|
||||
[self constraintWithAdView: self.adView andAttribute: NSLayoutAttributeTop],
|
||||
[NSLayoutConstraint constraintWithItem: self.adView
|
||||
attribute: NSLayoutAttributeHeight
|
||||
relatedBy: NSLayoutRelationEqual
|
||||
toItem: nil
|
||||
attribute: NSLayoutAttributeNotAnAttribute
|
||||
multiplier: 1.0
|
||||
constant: height]]];
|
||||
[self.view addSubview: self.adView];
|
||||
|
||||
// Load the first ad
|
||||
[self.adView loadAd];
|
||||
}
|
||||
|
||||
- (NSLayoutConstraint *)constraintWithAdView:(MAAdView *)adView andAttribute:(NSLayoutAttribute)attribute
|
||||
{
|
||||
return [NSLayoutConstraint constraintWithItem: self.adView
|
||||
attribute: attribute
|
||||
relatedBy: NSLayoutRelationEqual
|
||||
toItem: self.view
|
||||
attribute: attribute
|
||||
multiplier: 1.0
|
||||
constant: 0.0];
|
||||
}
|
||||
|
||||
#pragma mark - MAAdDelegate Protocol
|
||||
|
||||
- (void)didLoadAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didFailToLoadAdForAdUnitIdentifier:(NSString *)adUnitIdentifier withErrorCode:(NSInteger)errorCode {}
|
||||
|
||||
- (void)didDisplayAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didHideAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didClickAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didFailToDisplayAd:(MAAd *)ad withErrorCode:(NSInteger)errorCode {}
|
||||
|
||||
#pragma mark - MAAdViewAdDelegate Protocol
|
||||
|
||||
- (void)didExpandAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didCollapseAd:(MAAd *)ad {}
|
||||
|
||||
@end
|
|
@ -0,0 +1,17 @@
|
|||
//
|
||||
// ALFrameLayoutBannerAdViewController.h
|
||||
// DemoApp-ObjC
|
||||
//
|
||||
// Created by Andrew Tian on 9/10/19.
|
||||
// Copyright © 2019 AppLovin Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface ALFrameLayoutBannerAdViewController : UIViewController
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
|
@ -0,0 +1,64 @@
|
|||
//
|
||||
// ALFrameLayoutBannerAdViewController.m
|
||||
// DemoApp-ObjC
|
||||
//
|
||||
// Created by Andrew Tian on 9/10/19.
|
||||
// Copyright © 2019 AppLovin Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
#import "ALFrameLayoutBannerAdViewController.h"
|
||||
#import <AppLovinSDK/AppLovinSDK.h>
|
||||
|
||||
@interface ALFrameLayoutBannerAdViewController()<MAAdViewAdDelegate>
|
||||
@property (nonatomic, strong) MAAdView *adView;
|
||||
@end
|
||||
|
||||
@implementation ALFrameLayoutBannerAdViewController
|
||||
|
||||
#pragma mark - View Lifecycle
|
||||
|
||||
- (void)viewDidLoad
|
||||
{
|
||||
[super viewDidLoad];
|
||||
|
||||
self.adView = [[MAAdView alloc] initWithAdUnitIdentifier: @"YOUR_AD_UNIT_ID"];
|
||||
self.adView.delegate = self;
|
||||
|
||||
// Calculate dimensions
|
||||
CGFloat width = CGRectGetWidth(self.view.bounds); // Stretch to the width of the screen for banners to be fully functional
|
||||
CGFloat height = (UIDevice.currentDevice.userInterfaceIdiom == UIUserInterfaceIdiomPad) ? 90 : 50; // Banner height on iPhone and iPad is 50 and 90, respectively
|
||||
CGFloat x = 0;
|
||||
CGFloat y = 0;
|
||||
|
||||
self.adView.frame = CGRectMake(x, y, width, height);
|
||||
|
||||
// Set background or background color for banners to be fully functional
|
||||
self.adView.backgroundColor = UIColor.blackColor;
|
||||
|
||||
[self.view addSubview: self.adView];
|
||||
|
||||
// Load the first ad
|
||||
[self.adView loadAd];
|
||||
}
|
||||
|
||||
#pragma mark - MAAdDelegate Protocol
|
||||
|
||||
- (void)didLoadAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didFailToLoadAdForAdUnitIdentifier:(NSString *)adUnitIdentifier withErrorCode:(NSInteger)errorCode {}
|
||||
|
||||
- (void)didDisplayAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didHideAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didClickAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didFailToDisplayAd:(MAAd *)ad withErrorCode:(NSInteger)errorCode {}
|
||||
|
||||
#pragma mark - MAAdViewAdDelegate Protocol
|
||||
|
||||
- (void)didExpandAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didCollapseAd:(MAAd *)ad {}
|
||||
|
||||
@end
|
|
@ -0,0 +1,17 @@
|
|||
//
|
||||
// ALInterfaceBuilderBannerAdViewController.h
|
||||
// DemoApp-ObjC
|
||||
//
|
||||
// Created by Andrew Tian on 9/10/19.
|
||||
// Copyright © 2019 AppLovin Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface ALInterfaceBuilderBannerAdViewController : UIViewController
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
|
@ -0,0 +1,53 @@
|
|||
//
|
||||
// ALInterfaceBuilderBannerAdViewController.m
|
||||
// DemoApp-ObjC
|
||||
//
|
||||
// Created by Andrew Tian on 9/10/19.
|
||||
// Copyright © 2019 AppLovin Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
#import "ALInterfaceBuilderBannerAdViewController.h"
|
||||
#import <AppLovinSDK/AppLovinSDK.h>
|
||||
|
||||
@interface ALInterfaceBuilderBannerAdViewController()<MAAdViewAdDelegate>
|
||||
@property (nonatomic, strong) IBOutlet MAAdView *adView;
|
||||
@end
|
||||
|
||||
@implementation ALInterfaceBuilderBannerAdViewController
|
||||
|
||||
#pragma mark - View Lifecycle
|
||||
|
||||
- (void)viewDidLoad
|
||||
{
|
||||
[super viewDidLoad];
|
||||
|
||||
// NOTE: Must set Storyboard "User Defined Runtime Attributes" for banner ad view
|
||||
// Key Path = ad_unit_id
|
||||
// Type = String
|
||||
// Value = YOUR_AD_UNIT_ID
|
||||
|
||||
// Load the first ad
|
||||
[self.adView loadAd];
|
||||
}
|
||||
|
||||
#pragma mark - MAAdDelegate Protocol
|
||||
|
||||
- (void)didLoadAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didFailToLoadAdForAdUnitIdentifier:(NSString *)adUnitIdentifier withErrorCode:(NSInteger)errorCode {}
|
||||
|
||||
- (void)didDisplayAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didHideAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didClickAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didFailToDisplayAd:(MAAd *)ad withErrorCode:(NSInteger)errorCode {}
|
||||
|
||||
#pragma mark - MAAdViewAdDelegate Protocol
|
||||
|
||||
- (void)didExpandAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didCollapseAd:(MAAd *)ad {}
|
||||
|
||||
@end
|
|
@ -0,0 +1,17 @@
|
|||
//
|
||||
// ALInterstitialAdViewController.h
|
||||
// DemoApp-ObjC
|
||||
//
|
||||
// Created by Thomas So on 9/4/19.
|
||||
// Copyright © 2019 AppLovin Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface ALInterstitialAdViewController : UIViewController
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
|
@ -0,0 +1,72 @@
|
|||
//
|
||||
// ALInterstitialAdViewController.m
|
||||
// DemoApp-ObjC
|
||||
//
|
||||
// Created by Thomas So on 9/4/19.
|
||||
// Copyright © 2019 AppLovin Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
#import "ALInterstitialAdViewController.h"
|
||||
#import <AppLovinSDK/AppLovinSDK.h>
|
||||
|
||||
@interface ALInterstitialAdViewController()<MAAdDelegate>
|
||||
@property (nonatomic, strong) MAInterstitialAd *interstitialAd;
|
||||
@end
|
||||
|
||||
@implementation ALInterstitialAdViewController
|
||||
|
||||
#pragma mark - View Lifecycle
|
||||
|
||||
- (void)viewDidLoad
|
||||
{
|
||||
[super viewDidLoad];
|
||||
|
||||
self.interstitialAd = [[MAInterstitialAd alloc] initWithAdUnitIdentifier: @"YOUR_AD_UNIT_ID"];
|
||||
self.interstitialAd.delegate = self;
|
||||
|
||||
// Load the first ad
|
||||
[self.interstitialAd loadAd];
|
||||
}
|
||||
|
||||
#pragma mark - IB Actions
|
||||
|
||||
- (IBAction)showAd
|
||||
{
|
||||
if ( [self.interstitialAd isReady] )
|
||||
{
|
||||
[self.interstitialAd showAd];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - MAAdDelegate Protocol
|
||||
|
||||
- (void)didLoadAd:(MAAd *)ad
|
||||
{
|
||||
// Interstitial ad is ready to be shown. '[self.interstitialAd isReady]' will now return 'YES'
|
||||
}
|
||||
|
||||
- (void)didFailToLoadAdForAdUnitIdentifier:(NSString *)adUnitIdentifier withErrorCode:(NSInteger)errorCode
|
||||
{
|
||||
// Interstitial ad failed to load. We recommend re-trying in 3 seconds.
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 3 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
|
||||
[self.interstitialAd loadAd];
|
||||
});
|
||||
}
|
||||
|
||||
- (void)didDisplayAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didClickAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didHideAd:(MAAd *)ad
|
||||
{
|
||||
// Interstitial ad is hidden. Pre-load the next ad
|
||||
[self.interstitialAd loadAd];
|
||||
}
|
||||
|
||||
- (void)didFailToDisplayAd:(MAAd *)ad withErrorCode:(NSInteger)errorCode
|
||||
{
|
||||
// Interstitial ad failed to display. We recommend loading the next ad
|
||||
[self.interstitialAd loadAd];
|
||||
}
|
||||
|
||||
@end
|
|
@ -0,0 +1,17 @@
|
|||
//
|
||||
// ALRewardedAdViewController.h
|
||||
// DemoApp-ObjC
|
||||
//
|
||||
// Created by Thomas So on 9/4/19.
|
||||
// Copyright © 2019 AppLovin Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface ALRewardedAdViewController : UIViewController
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
|
@ -0,0 +1,83 @@
|
|||
//
|
||||
// ALRewardedAdViewController.m
|
||||
// DemoApp-ObjC
|
||||
//
|
||||
// Created by Thomas So on 9/4/19.
|
||||
// Copyright © 2019 AppLovin Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
#import "ALRewardedAdViewController.h"
|
||||
#import <AppLovinSDK/AppLovinSDK.h>
|
||||
|
||||
@interface ALRewardedAdViewController()<MARewardedAdDelegate>
|
||||
@property (nonatomic, strong) MARewardedAd *rewardedAd;
|
||||
@end
|
||||
|
||||
@implementation ALRewardedAdViewController
|
||||
|
||||
#pragma mark - View Lifecycle
|
||||
|
||||
- (void)viewDidLoad
|
||||
{
|
||||
[super viewDidLoad];
|
||||
|
||||
self.rewardedAd = [MARewardedAd sharedWithAdUnitIdentifier: @"YOUR_AD_UNIT_ID"];
|
||||
self.rewardedAd.delegate = self;
|
||||
|
||||
// Load the first ad
|
||||
[self.rewardedAd loadAd];
|
||||
}
|
||||
|
||||
#pragma mark - IB Actions
|
||||
|
||||
- (IBAction)showAd
|
||||
{
|
||||
if ( [self.rewardedAd isReady] )
|
||||
{
|
||||
[self.rewardedAd showAd];
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - MAAdDelegate Protocol
|
||||
|
||||
- (void)didLoadAd:(MAAd *)ad
|
||||
{
|
||||
// Rewarded ad is ready to be shown. '[self.rewardedAd isReady]' will now return 'YES'
|
||||
}
|
||||
|
||||
- (void)didFailToLoadAdForAdUnitIdentifier:(NSString *)adUnitIdentifier withErrorCode:(NSInteger)errorCode
|
||||
{
|
||||
// Rewarded ad failed to load. We recommend re-trying in 3 seconds.
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 3 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
|
||||
[self.rewardedAd loadAd];
|
||||
});
|
||||
}
|
||||
|
||||
- (void)didDisplayAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didClickAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didHideAd:(MAAd *)ad
|
||||
{
|
||||
// Rewarded ad is hidden. Pre-load the next ad
|
||||
[self.rewardedAd loadAd];
|
||||
}
|
||||
|
||||
- (void)didFailToDisplayAd:(MAAd *)ad withErrorCode:(NSInteger)errorCode
|
||||
{
|
||||
// Rewarded ad failed to display. We recommend loading the next ad
|
||||
[self.rewardedAd loadAd];
|
||||
}
|
||||
|
||||
#pragma mark - MARewardedAdDelegate Protocol
|
||||
|
||||
- (void)didStartRewardedVideoForAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didCompleteRewardedVideoForAd:(MAAd *)ad {}
|
||||
|
||||
- (void)didRewardUserForAd:(MAAd *)ad withReward:(MAReward *)reward
|
||||
{
|
||||
// Rewarded ad was displayed and user should receive the reward
|
||||
}
|
||||
|
||||
@end
|
|
@ -0,0 +1,98 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "20x20",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "20x20",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "29x29",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "29x29",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "40x40",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "40x40",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "60x60",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "60x60",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "20x20",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "20x20",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "29x29",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "29x29",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "40x40",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "40x40",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "76x76",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "76x76",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ipad",
|
||||
"size" : "83.5x83.5",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "ios-marketing",
|
||||
"size" : "1024x1024",
|
||||
"scale" : "1x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--View Controller-->
|
||||
<scene sceneID="EHf-IW-A2E">
|
||||
<objects>
|
||||
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="53" y="375"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
|
@ -0,0 +1,276 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="7Ga-dD-PKi">
|
||||
<device id="retina6_1" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--Home View Controller-->
|
||||
<scene sceneID="kUz-88-3U0">
|
||||
<objects>
|
||||
<tableViewController id="Xhz-da-ENL" customClass="ALHomeViewController" customModule="DemoApp_ObjC" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="static" style="grouped" rowHeight="44" sectionHeaderHeight="10" sectionFooterHeight="10" id="qUe-EF-iqJ">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
|
||||
<gestureRecognizers/>
|
||||
<sections>
|
||||
<tableViewSection headerTitle="MAX ADS" id="Ppw-xv-c7e">
|
||||
<cells>
|
||||
<tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="rootPrototype" textLabel="8le-fN-BRS" style="IBUITableViewCellStyleDefault" id="gnk-Wm-cnP">
|
||||
<rect key="frame" x="0.0" y="55.5" width="414" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="gnk-Wm-cnP" id="UDo-Oe-dll">
|
||||
<rect key="frame" x="0.0" y="0.0" width="376" height="43.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Interstitials" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="8le-fN-BRS">
|
||||
<rect key="frame" x="20" y="0.0" width="356" height="43.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</tableViewCellContentView>
|
||||
<connections>
|
||||
<segue destination="hvg-Tw-ebo" kind="show" id="7d2-az-xxt"/>
|
||||
</connections>
|
||||
</tableViewCell>
|
||||
<tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="rootPrototype" textLabel="jwg-iU-PjM" style="IBUITableViewCellStyleDefault" id="sjX-rW-J4x">
|
||||
<rect key="frame" x="0.0" y="99.5" width="414" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="sjX-rW-J4x" id="haN-UP-4gB">
|
||||
<rect key="frame" x="0.0" y="0.0" width="376" height="43.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Rewarded" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="jwg-iU-PjM">
|
||||
<rect key="frame" x="20" y="0.0" width="356" height="43.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</tableViewCellContentView>
|
||||
<connections>
|
||||
<segue destination="Ax6-sK-Kei" kind="show" id="20f-rX-ydW"/>
|
||||
</connections>
|
||||
</tableViewCell>
|
||||
<tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="rootPrototype" textLabel="sqm-jN-17q" style="IBUITableViewCellStyleDefault" id="McN-1s-PdH">
|
||||
<rect key="frame" x="0.0" y="143.5" width="414" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="McN-1s-PdH" id="uDH-cj-B6x">
|
||||
<rect key="frame" x="0.0" y="0.0" width="376" height="43.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Auto Layout Banners / Leaders" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="sqm-jN-17q">
|
||||
<rect key="frame" x="20" y="0.0" width="356" height="43.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</tableViewCellContentView>
|
||||
<connections>
|
||||
<segue destination="t4N-CR-C81" kind="show" id="8jR-qK-Bq5"/>
|
||||
</connections>
|
||||
</tableViewCell>
|
||||
<tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="rootPrototype" textLabel="qEz-dE-EJ6" style="IBUITableViewCellStyleDefault" id="4rA-1a-Qdu">
|
||||
<rect key="frame" x="0.0" y="187.5" width="414" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="4rA-1a-Qdu" id="rWL-gK-Qk7">
|
||||
<rect key="frame" x="0.0" y="0.0" width="376" height="43.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Frame Layout Banners / Leaders" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="qEz-dE-EJ6" userLabel="Frame Layout Banners / Leaders">
|
||||
<rect key="frame" x="20" y="0.0" width="356" height="43.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</tableViewCellContentView>
|
||||
<connections>
|
||||
<segue destination="0nG-y1-jZJ" kind="show" id="wnR-dp-cdX"/>
|
||||
</connections>
|
||||
</tableViewCell>
|
||||
<tableViewCell contentMode="scaleToFill" selectionStyle="blue" accessoryType="disclosureIndicator" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="rootPrototype" textLabel="ibI-wO-fLO" style="IBUITableViewCellStyleDefault" id="Sj2-mt-y69">
|
||||
<rect key="frame" x="0.0" y="231.5" width="414" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<tableViewCellContentView key="contentView" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Sj2-mt-y69" id="DVy-il-4Jg">
|
||||
<rect key="frame" x="0.0" y="0.0" width="376" height="43.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="left" text="Interface Builder Banners / Leaders" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="ibI-wO-fLO">
|
||||
<rect key="frame" x="20" y="0.0" width="356" height="43.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</tableViewCellContentView>
|
||||
<connections>
|
||||
<segue destination="Lhe-mt-J8Q" kind="show" id="943-b8-KqA"/>
|
||||
</connections>
|
||||
</tableViewCell>
|
||||
</cells>
|
||||
</tableViewSection>
|
||||
</sections>
|
||||
</tableView>
|
||||
<navigationItem key="navigationItem" id="e1i-r7-ONc"/>
|
||||
</tableViewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="0eV-wE-SZP" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-277" y="171"/>
|
||||
</scene>
|
||||
<!--Navigation Controller-->
|
||||
<scene sceneID="xQE-Gg-Qfm">
|
||||
<objects>
|
||||
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="7Ga-dD-PKi" sceneMemberID="viewController">
|
||||
<toolbarItems/>
|
||||
<navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="Pkd-by-cEc">
|
||||
<rect key="frame" x="0.0" y="44" width="414" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</navigationBar>
|
||||
<nil name="viewControllers"/>
|
||||
<connections>
|
||||
<segue destination="Xhz-da-ENL" kind="relationship" relationship="rootViewController" id="eu1-lC-4dr"/>
|
||||
</connections>
|
||||
</navigationController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="lXr-9K-gJw" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-1030.4347826086957" y="170.75892857142856"/>
|
||||
</scene>
|
||||
<!--Interstitial Ads-->
|
||||
<scene sceneID="jqw-xY-VjK">
|
||||
<objects>
|
||||
<viewController title="Interstitial Ads" id="hvg-Tw-ebo" customClass="ALInterstitialAdViewController" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="cMa-q4-eJl">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="dDc-3C-PhG">
|
||||
<rect key="frame" x="0.0" y="88" width="414" height="774"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal" title="Show"/>
|
||||
<connections>
|
||||
<action selector="showAd" destination="hvg-Tw-ebo" eventType="touchUpInside" id="q6T-AM-u99"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<viewLayoutGuide key="safeArea" id="tt7-7E-5dX"/>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="6mE-Fk-JPR" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="470" y="-500"/>
|
||||
</scene>
|
||||
<!--Rewarded Ads-->
|
||||
<scene sceneID="n68-Er-1n0">
|
||||
<objects>
|
||||
<viewController title="Rewarded Ads" id="Ax6-sK-Kei" customClass="ALRewardedAdViewController" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="NfR-Km-vOC">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="crr-D9-EXc">
|
||||
<rect key="frame" x="0.0" y="61" width="414" height="774"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal" title="Show"/>
|
||||
<connections>
|
||||
<action selector="showAd" destination="hvg-Tw-ebo" eventType="touchUpInside" id="RM4-p2-hIu"/>
|
||||
<action selector="showAd" destination="Ax6-sK-Kei" eventType="touchUpInside" id="zED-Qh-dqg"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<viewLayoutGuide key="safeArea" id="P0W-JD-8nB"/>
|
||||
</view>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="g63-20-XpD" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="471" y="171"/>
|
||||
</scene>
|
||||
<!--Auto Layout Banner Ads-->
|
||||
<scene sceneID="whl-QQ-Von">
|
||||
<objects>
|
||||
<viewController title="Auto Layout Banner Ads" id="t4N-CR-C81" customClass="ALAutoLayoutBannerAdViewController" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="uUJ-XM-qql">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="808"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<viewLayoutGuide key="safeArea" id="mAF-qa-bfO"/>
|
||||
</view>
|
||||
<extendedEdge key="edgesForExtendedLayout" bottom="YES"/>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="hAI-8Y-gAP" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="470" y="841"/>
|
||||
</scene>
|
||||
<!--Frame Layout Banner Ads-->
|
||||
<scene sceneID="U9h-UA-DzG">
|
||||
<objects>
|
||||
<viewController title="Frame Layout Banner Ads" id="0nG-y1-jZJ" customClass="ALFrameLayoutBannerAdViewController" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="3Wt-xw-LQM">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="808"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<viewLayoutGuide key="safeArea" id="5d1-qc-8SX"/>
|
||||
</view>
|
||||
<extendedEdge key="edgesForExtendedLayout" bottom="YES"/>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="SaY-Tu-Pxg" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="1197" y="840"/>
|
||||
</scene>
|
||||
<!--Delegate-->
|
||||
<scene sceneID="xhy-cf-ZfV">
|
||||
<objects>
|
||||
<viewController title="Interface Builder Banner Ads" id="Lhe-mt-J8Q" customClass="ALInterfaceBuilderBannerAdViewController" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" id="W3k-OJ-EjN">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="808"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="R5C-91-3ir" customClass="MAAdView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="50"/>
|
||||
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="50" id="KOc-zK-MqA"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="string" keyPath="ad_unit_id" value="BANNER_AD_UNIT_ID"/>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="Lhe-mt-J8Q" id="7gx-Rn-iry"/>
|
||||
</connections>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstItem="R5C-91-3ir" firstAttribute="top" secondItem="W3k-OJ-EjN" secondAttribute="top" id="3vc-81-DKA"/>
|
||||
<constraint firstItem="kyo-bA-O0z" firstAttribute="trailing" secondItem="R5C-91-3ir" secondAttribute="trailing" id="Cz2-ZK-Xl9"/>
|
||||
<constraint firstItem="R5C-91-3ir" firstAttribute="leading" secondItem="kyo-bA-O0z" secondAttribute="leading" id="f0U-cg-ZKR"/>
|
||||
</constraints>
|
||||
<viewLayoutGuide key="safeArea" id="kyo-bA-O0z"/>
|
||||
</view>
|
||||
<extendedEdge key="edgesForExtendedLayout" bottom="YES"/>
|
||||
<connections>
|
||||
<outlet property="adView" destination="R5C-91-3ir" id="WCn-2m-59X"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="MII-Ur-vbY" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="1920" y="840"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>AppLovin</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1000000</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>LaunchScreen</string>
|
||||
<key>UIMainStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>armv7</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>AppLovinSdkKey</key>
|
||||
<string>SDK_KEY_HERE</string>
|
||||
</dict>
|
||||
</plist>
|
|
@ -0,0 +1,16 @@
|
|||
//
|
||||
// main.m
|
||||
// DemoApp-ObjC
|
||||
//
|
||||
// Created by Thomas So on 9/4/19.
|
||||
// Copyright © 2019 AppLovin Corporation. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "ALAppDelegate.h"
|
||||
|
||||
int main(int argc, char * argv[]) {
|
||||
@autoreleasepool {
|
||||
return UIApplicationMain(argc, argv, nil, NSStringFromClass([ALAppDelegate class]));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
use_frameworks!
|
||||
inhibit_all_warnings!
|
||||
|
||||
target 'DemoApp-ObjC' do
|
||||
pod 'AppLovinSDK'
|
||||
end
|
Загрузка…
Ссылка в новой задаче