рдпрд╣ рдЧрд╛рдЗрдб рдЙрди рдкрдмреНрд▓рд┐рд╢рд░ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ Firebase рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдмрд┐рдирд╛, AdMob рдХреА рдорджрдж рд╕реЗ C++ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдХрдорд╛рдИ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ. рдЕрдЧрд░ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ Firebase рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдЧрд╛рдЗрдб рдХреЗ AdMob with Firebase рд╡рд░реНрд╢рди рдХреЛ рджреЗрдЦреЗрдВ.
Google Mobile Ads C++ SDK рдХреЛ рдХрд┐рд╕реА рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЗрдВрдЯрд┐рдЧреНрд░реЗрдЯ рдХрд░рдирд╛, рд╡рд┐рдЬреНрдЮрд╛рдкрди рджрд┐рдЦрд╛рдиреЗ рдФрд░ рдХрдорд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рдХрджрдо рд╣реИ. SDK рдЯреВрд▓ рдХреЛ рдЗрдВрдЯрд┐рдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрдВрдЯрд░рд╕реНрдЯреАрд╢рд┐рдпрд▓ рдпрд╛ рдЗрдирд╛рдо рд╡рд╛рд▓реЗ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЬреИрд╕реЗ рдХрд┐рд╕реА рд╡рд┐рдЬреНрдЮрд╛рдкрди рдлрд╝реЙрд░реНрдореИрдЯ рдХреЛ рдЪреБрдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. рд╕рд╛рде рд╣реА, рдЙрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ.
Google Mobile Ads C++ SDK, Google Mobile Ads iOS рдФрд░ Android SDK рдХреЛ рд░реИрдк рдХрд░рддрд╛ рд╣реИ. рд╕рд╛рде рд╣реА, рдпрд╣ рд╕рд┐рд░реНрдлрд╝ рдЗрди рдкреНрд▓реИрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ. Google Mobile Ads C++ SDK, рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдСрдкрд░реЗрд╢рдВрд╕ рдХреЗ рд▓рд┐рдП Firebase C++ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддрд╛ рд╣реИ. рдЗрд╕рд▓рд┐рдП, рдпрд╣ firebase::gma
рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИ.
рдЕрдЧрд░ рдЖрдк рдкрд╣рд▓реА рдмрд╛рд░ рдЗрд╕ рдЧрд╛рдЗрдб рдХреЛ рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк Google Mobile Ads C++ рдЯреЗрд╕реНрдЯ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдХреЗ, рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рд╕рд╛рде-рд╕рд╛рде рдкрдврд╝реЗрдВ.
рдЬрд╝рд░реВрд░реА рд╢рд░реНрддреЗрдВ
Android
- Android Studio 3.2 рдпрд╛ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╡рд░реНрд╢рди рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ
- рдкрдХреНрдХрд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдмрд┐рд▓реНрдб рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдпреЗ рд╡реИрд▓реНрдпреВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЧрдИ рд╣реЛрдВ:
minSdkVersion
16 рдпрд╛ рдЗрд╕рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПcompileSdkVersion
28 рдпрд╛ рдЗрд╕рд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
iOS
- Xcode 13 рдпрд╛ рдЙрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╡рд░реНрд╢рди рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ
- iOS 10.0 рдпрд╛ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╡рд░реНрд╢рди рдХреЛ рдЯрд╛рд░рдЧреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
рдЕрдкрдиреЗ AdMob рдЦрд╛рддреЗ рдореЗрдВ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрдЯ рдЕрдк рдХрд░рдирд╛
рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ AdMob рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рддреМрд░ рдкрд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рддрд░реАрдХрд╛ рдЕрдкрдирд╛рдПрдВ:
AdMob рдЦрд╛рддреЗ рдореЗрдВ рд╕рд╛рдЗрди рдЗрди рдХрд░реЗрдВ рдпрд╛ рд╕рд╛рдЗрди рдЕрдк рдХрд░реЗрдВ.
AdMob рдореЗрдВ рдЕрдкрдирд╛ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░реЗрдВ. рдЗрд╕ рдЪрд░рдг рдореЗрдВ, рдПрдХ AdMob рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ. рдЗрд╕рдореЗрдВ рдПрдХ рдпреВрдиреАрдХ AdMob рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрдИрдбреА рд╣реЛрддрд╛ рд╣реИ. рдЗрд╕рдХреА рдЬрд╝рд░реВрд░рдд рдЗрд╕ рдЧрд╛рдЗрдб рдореЗрдВ рдЖрдЧреЗ рдкрдбрд╝реЗрдЧреА.
Google Mobile Ads C++ SDK рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛
Google Mobile Ads C++ SDK, firebase::gma
рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИ. рдЗрд╕рд▓рд┐рдП, Firebase C++ SDK рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ. рдЗрд╕рдХреЗ рдмрд╛рдж, рдЗрд╕реЗ рдЕрдкрдиреА рдкрд╕рдВрдж рдХреА рдХрд┐рд╕реА рдбрд╛рдпрд░реЗрдХреНрдЯреНрд░реА рдореЗрдВ рдЕрдирдЬрд╝рд┐рдк рдХрд░реЗрдВ.
Firebase C++ SDK, рдХрд┐рд╕реА рдкреНрд▓реИрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ. рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд▓реИрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЬрд╝рд░реВрд░рдд рд╣реЛрддреА рд╣реИ.
Android
рд╣рдорд╛рд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ CMake рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ. рд╣рд╛рд▓рд╛рдВрдХрд┐, libfirebase_app.a
рдФрд░ libfirebase_gma.a
рдХреЛ рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, ndk-build рд╕реЗ рдЬреБрдбрд╝реЗ рдирд┐рд░реНрджреЗрд╢ рд╣рдорд╛рд░реА рд╕рд╛рдорд╛рдиреНрдп Firebase C++ SDK рдЯреВрд▓ рдХреЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╕реЗ рдЬреБрдбрд╝реА рдЧрд╛рдЗрдб рдореЗрдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ.
рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА
gradle.properties
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдЕрдирдЬрд╝рд┐рдк рдХрд┐рдП рдЧрдП рдПрд╕рдбреАрдХреЗ рдХреА рдЬрдЧрд╣ рдХреА рдЬрд╛рдирдХрд╛рд░реА рджреЗрдВ:systemProp.firebase_cpp_sdk.dir=FULL_PATH_TO_SDK
рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА
settings.gradle
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдпрд╣ рдХреЙрдиреНрдЯреЗрдВрдЯ рдЬреЛрдбрд╝реЗрдВ:def firebase_cpp_sdk_dir = System.getProperty('firebase_cpp_sdk.dir') gradle.ext.firebase_cpp_sdk_dir = "$firebase_cpp_sdk_dir" includeBuild "$firebase_cpp_sdk_dir"
рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ (рдРрдкреНрд▓рд┐рдХреЗрд╢рди-рд▓реЗрд╡рд▓) рдХреА Gradle рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдЖрдо рддреМрд░ рдкрд░
app/build.gradle
, рдпрд╣ рдХреЙрдиреНрдЯреЗрдВрдЯ рдЬреЛрдбрд╝реЗрдВ. рдЗрд╕рдореЗрдВ Google Mobile Ads C++ SDK рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рд╢рд╛рдорд┐рд▓ рд╣реИ.android.defaultConfig.externalNativeBuild.cmake { arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir" } # Add the dependency for the Google Mobile Ads C++ SDK apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle" firebaseCpp.dependencies { gma }
рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА
CMakeLists.txt
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдпрд╣ рдХреЙрдиреНрдЯреЗрдВрдЯ рдЬреЛрдбрд╝реЗрдВ.# Add Firebase libraries to the target using the function from the SDK. add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL) # Add the Google Mobile Ads C++ SDK. # The Firebase C++ library `firebase_app` is required, # and it must always be listed last. set(firebase_libs firebase_gma firebase_app ) target_link_libraries(${target_name} "${firebase_libs}")
рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рд┐рдВрдХ рдХрд░реЗрдВ, рддрд╛рдХрд┐ рдпрд╣ рдкрдХреНрдХрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рд╕рднреА рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдХреЗ рдкрд╛рд╕ рдЬрд╝рд░реВрд░реА рд╡рд░реНрд╢рди рд╣реИрдВ.
iOS
рдЗрд╕ рд╕реЗрдХреНрд╢рди рдореЗрдВ рджрд┐рдП рдЧрдП рдЪрд░рдг, iOS рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ Google Mobile Ads C++ SDK рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ.
CocoaPods рдХрд╛ рд╡рд░реНрд╢рди 1 рдпрд╛ рдЗрд╕рдХреЗ рдмрд╛рдж рдХрд╛ рд╡рд░реНрд╢рди рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдВ:
sudo gem install cocoapods --pre
рдЕрдирдЬрд╝рд┐рдк рдХрд┐рдП рдЧрдП SDK рд╕реЗ, Google Mobile Ads рдкреЙрдб рдЬреЛрдбрд╝реЗрдВ.
рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдХреЛрдИ Podfile рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ рдмрдирд╛рдПрдВ:
cd APP_DIRECTORY
pod init
рдЕрдкрдиреЗ Podfile рдореЗрдВ, Google Mobile Ads C++ SDK, Google User Messaging Platform SDK, рдФрд░ Firebase core SDK рдХреЗ рд▓рд┐рдП рдкреЙрдб рдЬреЛрдбрд╝реЗрдВ. GMA C++ SDK рдХреЗ рд▓рд┐рдП, Firebase core SDK рдЬрд╝рд░реВрд░реА рд╣реИ:
pod 'Firebase/CoreOnly' pod 'Google-Mobile-Ads-SDK' pod 'GoogleUserMessagingPlatform'
рдкреЙрдб рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ. рдЗрд╕рдХреЗ рдмрд╛рдж, Xcode рдореЗрдВ
.xcworkspace
рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ.pod install
open APP.xcworkspace
Firebase C++ SDK рдЯреВрд▓ рд╕реЗ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдпреЗ рдлрд╝реНрд░реЗрдорд╡рд░реНрдХ рдЬреЛрдбрд╝реЗрдВ:
xcframeworks/firebase.xcframework
xcframeworks/firebase_gma.xcframework
рдЖрдк рдмрд┐рд▓реНрдХреБрд▓ рддреИрдпрд╛рд░ рд╣реИрдВ! рдЖрдкрдХрд╛ C++ рдРрдкреНрд▓рд┐рдХреЗрд╢рди, Google Mobile Ads C++ SDK рдЯреВрд▓ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ. рд╕рд╛рде рд╣реА, рдЗрд╕рдореЗрдВ Firebase рдХреА рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реЗрд╡рд╛ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рди рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реЛ.
рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ AdMob рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрдИрдбреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
Android
Mobile Ads SDK Android рдЧрд╛рдЗрдб рдореЗрдВ рдмрддрд╛рдП рдЧрдП рддрд░реАрдХреЗ рд╕реЗ, рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рдХреЗ рддреАрд╕рд░реЗ рдЪрд░рдг рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ. рдЗрд╕рдХреЗ рдмрд╛рдж, рдЗрд╕ рдкреЗрдЬ рдкрд░ рд╡рд╛рдкрд╕ рдЖрдПрдБ.
iOS
Mobile Ads SDK iOS рдЧрд╛рдЗрдб рдореЗрдВ рдмрддрд╛рдП рдЧрдП рддрд░реАрдХреЗ рд╕реЗ, рдЕрдкрдирд╛ Info.plist рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ рдЪрд░рдг рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ. рдЗрд╕рдХреЗ рдмрд╛рдж, рдЗрд╕ рдкреЗрдЬ рдкрд░ рд╡рд╛рдкрд╕ рдЖрдПрдВ.
Google Mobile Ads SDK рдХреЛ рд╢реБрд░реВ рдХрд░рдирд╛
рд╡рд┐рдЬреНрдЮрд╛рдкрди рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЕрдкрдиреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ Google Mobile Ads C++ SDK рдХреЛ рд╢реБрд░реВ рдХрд░реЗрдВ. рдЗрд╕рдХреЗ рд▓рд┐рдП, firebase::gma::Initialize()
рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ. рдЗрд╕рд╕реЗ SDK рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ firebase::Future
рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛. рдпрд╣ рдкреНрд░реЛрд╕реЗрд╕, SDK рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдпрд╛ 30 рд╕реЗрдХрдВрдб рдХреЗ рдЯрд╛рдЗрдо рдЖрдЙрдЯ рдХреЗ рдмрд╛рдж рдкреВрд░реА рд╣реЛрддреА рд╣реИ. рдЗрд╕реЗ рд╕рд┐рд░реНрдлрд╝ рдПрдХ рдмрд╛рд░ рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИ. рд╕рдмрд╕реЗ рд╕рд╣реА рд╕рдордп, рдРрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди рд╣реЛрддрд╛ рд╣реИ.
Initialize()
рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░, Google Mobile Ads C++ SDK рдпрд╛ рдореАрдбрд┐рдПрд╢рди рдкрд╛рд░реНрдЯрдирд░ SDK рд╕реЗ рд╡рд┐рдЬреНрдЮрд╛рдкрдиреЛрдВ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. рдЕрдЧрд░ рдЖрдкрдХреЛ рдпреВрд░реЛрдкрд┐рдпрди рдЗрдХрдиреЙрдорд┐рдХ рдПрд░рд┐рдпрд╛ (рдИрдИрдП) рдореЗрдВ рд░рд╣рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рд╕рд╣рдорддрд┐ рд▓реЗрдиреА рд╣реИ, рдЕрдиреБрд░реЛрдз рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рдлрд╝реНрд▓реИрдЧ рд╕реЗрдЯ рдХрд░рдиреЗ рд╣реИрдВ (рдЬреИрд╕реЗ рдХрд┐ tag_for_child_directed_treatment
рдпрд╛ tag_for_under_age_of_consent
) рдпрд╛ рд╡рд┐рдЬреНрдЮрд╛рдкрди рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрдИ рдЕрдиреНрдп рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреА рд╣реИ, рддреЛ рдкрдХреНрдХрд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ Google Mobile Ads C++ SDK рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, firebase::gma::SetRequestConfiguration()
рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реЛ. рдЬрд╝реНрдпрд╛рджрд╛ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реА рдЯрд╛рд░рдЧреЗрдЯрд┐рдВрдЧ рдЧрд╛рдЗрдб рджреЗрдЦреЗрдВ.
Initialize()
рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
Android
// Initialize the Google Mobile Ads library
firebase::InitResult result;
Future<AdapterInitializationStatus> future =
firebase::gma::Initialize(jni_env, j_activity, &result);
if (result != kInitResultSuccess) {
// Initialization immediately failed, most likely due to a missing
// dependency. Check the device logs for more information.
return;
}
// Monitor the status of the future.
// See "Use a Future to monitor the completion status of a method call" below.
if (future.status() == firebase::kFutureStatusComplete &&
future.error() == firebase::gma::kAdErrorCodeNone) {
// Initialization completed.
} else {
// Initialization on-going, or an error has occurred.
}
iOS
// Initialize the Google Mobile Ads library.
firebase::InitResult result;
Future<AdapterInitializationStatus> future =
firebase::gma::Initialize(&result);
if (result != kInitResultSuccess) {
// Initialization immediately failed, most likely due to a missing
// dependency. Check the device logs for more information.
return;
}
// Monitor the status of the future.
// See "Use a Future to monitor the completion status of a method call" below.
if (future.status() == firebase::kFutureStatusComplete &&
future.error() == firebase::gma::kAdErrorCodeNone) {
// Initialization completed.
} else {
// Initialization on-going, or an error has occurred.
}
рдХрд┐рд╕реА рддрд░реАрдХреЗ рдХреЗ рдХреЙрд▓ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Future
рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛
Future
рдХреА рдорджрдж рд╕реЗ, рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдП рдЧрдП рдореЗрдердб рдХреЙрд▓ рдХреЗ рдкреВрд░реЗ рд╣реЛрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ.
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдкрдХрд╛ рдРрдкреНрд▓рд┐рдХреЗрд╢рди firebase::gma::Initialize()
рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдирдпрд╛ firebase::Future
рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рд╡рд╛рдкрд╕ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ. рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХрд╛ рдРрдкреНрд▓рд┐рдХреЗрд╢рди Future
рдХреЗ status()
рдХреЛ рдкреЛрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдпрд╣ рдкрддрд╛ рдЪрд▓ рд╕рдХреЗ рдХрд┐ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреА рдкреНрд░реЛрд╕реЗрд╕ рдХрдм рдкреВрд░реА рд╣реБрдИ.
рдпрд╣ рдкреНрд░реЛрд╕реЗрд╕ рдкреВрд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХрд╛ рдРрдкреНрд▓рд┐рдХреЗрд╢рди result()
рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ, AdapterInitializationStatus
рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ.
Future
рджрд┐рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рддрд░реАрдХреЛрдВ рдХреЗ рд▓рд┐рдП, "рд▓рд╛рд╕реНрдЯ рд░рд┐рдЬрд╝рд▓реНрдЯ" рддрд░реАрдХрд╛ рдЙрдкрд▓рдмреНрдз рд╣реЛрддрд╛ рд╣реИ. рдРрдкреНрд▓рд┐рдХреЗрд╢рди, рдЗрд╕ рддрд░реАрдХреЗ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдХреЗ рдХрд┐рд╕реА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╣рд╛рд▓ рдХрд╛ Future
рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ. рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, firebase::gma::Initialize()
рдореЗрдВ firebase::gma::InitializeLastResult()
рдирд╛рдо рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ. рдпрд╣ Future
рджрд┐рдЦрд╛рддрд╛ рд╣реИ. рдЖрдкрдХрд╛ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдХреЗ, firebase::gma::Initialize()
рдХреЛ рдХрд┐рдП рдЧрдП рдЖрдЦрд┐рд░реА рдХреЙрд▓ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИ.
рдЕрдЧрд░ Future
рдХрд╛ рд╕реНрдЯреЗрдЯрд╕ 'рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛' рд╣реИ рдФрд░ рдЙрд╕рдХрд╛ рдЧрдбрд╝рдмрдбрд╝реА рдХреЛрдб firebase::gma::kAdErrorCodeNone
рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдСрдкрд░реЗрд╢рди рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ.
Future
рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХреЙрд▓рдмреИрдХ рднреА рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ. рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдХреЙрд▓рдмреИрдХ рдХрд┐рд╕реА рджреВрд╕рд░реЗ рдереНрд░реЗрдб рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реЛрдЧрд╛. рдЗрд╕рд▓рд┐рдП, рдкрдХреНрдХрд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдХреЛрдб рдереНрд░реЗрдб-рд╕реЗрдлрд╝ рд╣реЛ. рдпрд╣ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ, рдХреЙрд▓рдмреИрдХ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддрд╛ рд╣реИ:
// Registers the OnCompletion callback. user_data is a pointer that is passed verbatim
// to the callback as a void*. This allows you to pass any custom data to the callback
// handler. In this case, the app has no data, so you must pass nullptr.
firebase::gma::InitializeLastResult().OnCompletion(OnCompletionCallback,
/*user_data=*/nullptr);
// The OnCompletion callback function.
static void OnCompletionCallback(
const firebase::Future<AdapterInitializationStatus>& future, void* user_data) {
// Called when the Future is completed for the last call to firebase::gma::Initialize().
// If the error code is firebase::gma::kAdErrorCodeNone,
// then the SDK has been successfully initialized.
if (future.error() == firebase::gma::kAdErrorCodeNone) {
// success!
} else {
// failure.
}
}
рдХреЛрдИ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдлрд╝реЙрд░реНрдореИрдЯ рдЪреБрдиреЗрдВ
Google Mobile Ads C++ SDK рдЕрдм рдЗрдВрдкреЛрд░реНрдЯ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрдм рд╡рд┐рдЬреНрдЮрд╛рдкрди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. AdMob рдХрдИ рддрд░рд╣ рдХреЗ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдлрд╝реЙрд░реНрдореИрдЯ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рддрд╛ рд╣реИ. рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рдРрд╕рд╛ рдлрд╝реЙрд░реНрдореИрдЯ рдЪреБрдирдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рд╕рдмрд╕реЗ рд╕рд╣реА рд╣реЛ.
рдмреИрдирд░
рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╕реНрдХреНрд░реАрди рдкрд░ рд╕рдмрд╕реЗ рдКрдкрд░ рдпрд╛ рд╕рдмрд╕реЗ рдиреАрдЪреЗ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рдЖрдпрддрд╛рдХрд╛рд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди. рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдкрдХреЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддрдм рд╕реНрдХреНрд░реАрди рдкрд░ рдмреИрдирд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди рджрд┐рдЦрддреЗ рд░рд╣рддреЗ рд╣реИрдВ. рдпреЗ рдХреБрдЫ рд╕рдордп рдмрд╛рдж рдЕрдкрдиреЗ-рдЖрдк рд░реАрдлрд╝реНрд░реЗрд╢ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ. рдЕрдЧрд░ рдЖрдкрдХреЛ рдореЛрдмрд╛рдЗрд▓ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╝реНрдпрд╛рджрд╛ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛.
рдмреИрдирд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди рд▓рд╛рдЧреВ рдХрд░рдирд╛
рдордзреНрдпрд╡рд░реНрддреА
рдлрд╝реБрд▓-рд╕реНрдХреНрд░реАрди рд╡рд┐рдЬреНрдЮрд╛рдкрди, рдЬреЛ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рддрдм рддрдХ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ, рдЬрдм рддрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрдиреНрд╣реЗрдВ рдмрдВрдж рдирд╣реАрдВ рдХрд░ рджреЗрддрд╛. рдЗрди рд╡рд┐рдЬреНрдЮрд╛рдкрдиреЛрдВ рдХреЛ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдиреИрдЪреБрд░рд▓ рдкреЙрдЬрд╝ рдХреЗ рджреМрд░рд╛рди рджрд┐рдЦрд╛рдирд╛ рд╕рдмрд╕реЗ рд╕рд╣реА рд╣реЛрддрд╛ рд╣реИ. рдЬреИрд╕реЗ, рдЧреЗрдо рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓реЗрд╡рд▓ рдХреЗ рдмреАрдЪ рдореЗрдВ рдпрд╛ рдЯрд╛рд╕реНрдХ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж.
рдЗрдВрдЯрд░рд╕реНрдЯреАрд╢рд┐рдпрд▓ рд╡рд┐рдЬреНрдЮрд╛рдкрди рд▓рд╛рдЧреВ рдХрд░рдирд╛
рдЗрдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛
рдЗрди рд╡рд┐рдЬреНрдЮрд╛рдкрдиреЛрдВ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрдирд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ. рдЗрдирд╛рдо рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЫреЛрдЯреЗ-рдЫреЛрдЯреЗ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦрдиреЗ рд╣реЛрддреЗ рд╣реИрдВ. рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрдиреНрд╣реЗрдВ 'рдЧреЗрдо рдЦреЗрд▓рдиреЗ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рдЬреНрдЮрд╛рдкрди' рд╕реЗ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИ рдпрд╛ рдлрд┐рд░ рд╕рд░реНрд╡реЗ рдореЗрдВ рд╣рд┐рд╕реНрд╕рд╛ рд▓реЗрдирд╛ рд╣реЛрддрд╛ рд╣реИ. рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓, рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╢реБрд▓реНрдХ рдХреЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдХрдорд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ.
рдЗрдирд╛рдо рд╡рд╛рд▓реЗ рд╡рд┐рдЬреНрдЮрд╛рдкрди рд▓рд╛рдЧреВ рдХрд░рдирд╛