GithubHelp home page GithubHelp logo

swift-package-manager-google-mobile-ads's Introduction

Google Mobile Ads SDK

Introduction

Google Mobile Ads SDK now officially supports installation via Swift Package Manager.

Requirements

  • Requires Xcode 12.5 or above

swift-package-manager-google-mobile-ads's People

Contributors

jillsong avatar malandr2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

swift-package-manager-google-mobile-ads's Issues

XCode 15.3 and iOS 14 error on device install

Hello,

After upgrading the SDK to v11.3.0 I have this error on device install :
Failed to load Info.plist from bundle at path /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.AsNjOr/extracted/Speedometer.app/Frameworks/UserMessagingPlatform.framework; Extra info about "/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.AsNjOr/extracted/Speedometer.app/Frameworks/UserMessagingPlatform.framework/Info.plist": Couldn't stat /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.AsNjOr/extracted/Speedometer.app/Frameworks/UserMessagingPlatform.framework/Info.plist: No such file or directory

I see in the v11.2.0 point Updated the SDK's Info.plist to work around a Swift Package Manager issue on Xcode 15.3.. Maybe the issue is still there ?

Thanks

Is there support for privacy manifest requirements from Apple?

Hi,

Is there support for privacy manifest requirements from Apple?

When trying to integrate Google Mobile Ads in a sample project, there is no entry related to Google Mobile Ads in the generated privacy report. Is that expected?

I see that a xcprivacy file was introduced on Nov 2023 with the following commit, but then the commit was reverted in Dec 2023.

Could we get an update on the latest status about the support for privacy manifest from Apple?

not working

pointing to the git hub doesn't work. pointing to the raw .swift doesn't work. Please provide MORE DETAILED step by step instructions on how to add this via swift package manager. AND/OR fix your files.

GADRewardedAd's userDidEarnRewardHandler never called.

I have discovered a bug using version 9.9.0

GADRewardedAd's userDidEarnRewardHandler is never called, despite user watching ad to completion.

Ad loading snippet 👇

let request = GADRequest()
GADRewardedAd.load(withAdUnitID: testAdUnit, request: request, completionHandler: { [weak self] (ad, error) in
    if let error = error {
        print("❌ Failed to load rewarded ad with error: \(error.localizedDescription)")
    } else if let ad = ad {
        self?.rewardedAds.append(ad)
        print("✅ Rewarded ad loaded.")
    }
})

Ad presentation snippet 👇

let ad = rewardedAds.removeFirst()
ad.fullScreenContentDelegate = self
ad.present(fromRootViewController: vc) {
    print("✅ Did watch ad!")
    didWatchAd()
}

Proof reward callback should have fired 👇

IMG_1F982B137A22-1

Result is that ✅ Did watch ad! is never printed to the console.

Let me know if there is any other information that may be helpful!

Daily active users (DAU) Dropped

After updating to latest release, my app's Daily active users (DAU) dropped. I guess it's does not send DAU data to Admob. Revenue is okay.

Library block update to Firebase 10.0.0

error project: Failed to resolve dependencies Dependencies could not be resolved because root depends on 'firebase-ios-sdk' 10.0.0..<11.0.0 and root depends on 'swift-package-manager-google-mobile-ads' 9.11.0..<10.0.0.
'swift-package-manager-google-mobile-ads' is incompatible with 'firebase-ios-sdk' because 'firebase-ios-sdk' 10.0.0 depends on 'googleappmeasurement' 10.0.0 and no versions of 'firebase-ios-sdk' match the requirement 10.0.1..<11.0.0.
'swift-package-manager-google-mobile-ads' >= 9.11.0 practically depends on 'googleappmeasurement' 7.0.0..<10.0.0 because 'swift-package-manager-google-mobile-ads' 9.11.0 depends on 'googleappmeasurement' 7.0.0..<10.0.0 and no versions of 'swift-package-manager-google-mobile-ads' match the requirement 9.11.1..<10.0.0.

NSPrivacyTracking and NSPrivacyTrackingDomains for Privacy Manifest

I can see the in privacy manifest included in 11.2.0 there are no entries for NSPrivacyTracking or NSPrivacyTrackingDomains. Apple docs state:

A Boolean that indicates whether your app or third-party SDK uses data for tracking as defined under the App Tracking Transparency framework. For more information, see [User Privacy and Data Use](https://developer.apple.com/app-store/user-privacy-and-data-use/).

Since NSPrivacyCollectedDataTypeDeviceID is marked as true for NSPrivacyCollectedDataTypeTracking in the privacy manifest, should there be values for NSPrivacyTracking and NSPrivacyTrackingDomains. If not, do you have any guidance on how to handle this in a consuming app?

[BUG] Crashes in iPad - Only Production

Here you are the crashlog from Crashlytics.

Window container should not be nil

Fatal Exception: NSInternalInconsistencyException
0  CoreFoundation                 0x99d78 __exceptionPreprocess
1  libobjc.A.dylib                0x16734 objc_exception_throw
2  Foundation                     0x1311f0 _userInfoForFileAndLine
3  twoCandles                     0x3d9840 -[GADOMIDStateWatcher adSessionDidBecomeActive:]
4  twoCandles                     0x3d7060 -[GADOMIDSDK adSessionDidBecomeActive:]
5  twoCandles                     0x3cbfe4 -[GADOMIDAdSessionRegistry adSessionDidStart:]
6  twoCandles                     0x3c90e8 -[GADOMIDAdSession onStart]
7  twoCandles                     0x3d5cc8 +[GADOMIDMethodInvoker performSelectorAsync:target:]
8  twoCandles                     0x3c9098 -[GADOMIDAdSession start]
9  twoCandles                     0x38a6c8 -[GADAdVerificationReporter beginAdSession] + 145 (GADAdVerificationReporter.m:145)
10 twoCandles                     0x36d7ec -[GADAdVerificationMonitor beginAdSession] + 88 (GADAdVerificationMonitor.m:88)
11 twoCandles                     0x36d890 -[GADAdVerificationMonitor adDidMakeImpression] + 99 (GADAdVerificationMonitor.m:99)
12 twoCandles                     0x36d6a0 __113-[GADAdVerificationMonitor initWithAd:adView:friendlyObstructionView:mediaType:contentURL:impressionType:adType:]_block_invoke.13 + 58 (GADAdVerificationMonitor.m:58)
13 Foundation                     0x50a9c __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__
14 Foundation                     0x62e14 -[NSBlockOperation main]
15 Foundation                     0x3b1c4 __NSOPERATION_IS_INVOKING_MAIN__
16 Foundation                     0x4c4e0 -[NSOperation start]
17 Foundation                     0x4fae8 __NSOPERATIONQUEUE_IS_STARTING_AN_OPERATION__
18 Foundation                     0x5dc90 __NSOQSchedule_f
19 libdispatch.dylib              0x12830 _dispatch_block_async_invoke2
20 libdispatch.dylib              0x3a2c _dispatch_client_callout
21 libdispatch.dylib              0x11f48 _dispatch_main_queue_drain
22 libdispatch.dylib              0x11b98 _dispatch_main_queue_callback_4CF
23 CoreFoundation                 0x522f0 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
24 CoreFoundation                 0xc1f4 __CFRunLoopRun
25 CoreFoundation                 0x1f6b8 CFRunLoopRunSpecific
26 GraphicsServices               0x1374 GSEventRunModal
27 UIKitCore                      0x513e88 -[UIApplication _run]
28 UIKitCore                      0x2955ec UIApplicationMain
29 SwiftUI                        0x240640 closure #1 in KitRendererCommon(_:)
30 SwiftUI                        0x16e524 runApp<A>(_:)
31 SwiftUI                        0x14f810 static App.main()

It crashes when trying to present a GADInterstitialAd.

It's happening after updating GAD SDK to use Swift Package Manager.

I've updated to the last version (9.4.0) and still happening.

While running code in DEBUG, it doesn't happen. It just happen with production ipa.

Xcode 15.3 Version 11.2.0

I get this error when building on Xcode 15.3 With version 11.2.0

ld: warning: Could not find or use auto-linked framework 'CoreAudioTypes': framework 'CoreAudioTypes' not found
Undefined symbols for architecture arm64:
"OBJC_CLASS$_JSContext", referenced from:
in GoogleMobileAds[arm64]416
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

the library 'GoogleMobileAdsTarget' requires macos 10.10, but...

Got error during the standalone swift package build:

error: the library 'GoogleMobileAdsTarget' requires macos 10.10, but depends on the product 'GoogleAppMeasurement' which requires macos 10.12; consider changing the library 'GoogleMobileAdsTarget' to require macos 10.12 or later, or the product 'GoogleAppMeasurement' to require macos 10.10 or earlier.

JavaScriptCore dependency

without this dependency you are getting error
"Undefined symbol: OBJC_CLASS$_JSContext"

You should add .linkedFramework("JavaScriptCore") to target GoogleMobileAdsTarget

admob requestReview problem

import SwiftUI
import AppTrackingTransparency
import StoreKit

struct RootView: View {
https://github.com/AppStorage("showingOnboarding") private var showingOnboarding = true
https://github.com/State var adsManager = AdsManager()
https://github.com/State private var selectionItem = 0
@Environment(.requestReview) private var requestReview

var body: some View {
TabView(selection: $selectionItem){
MainView(selectionTabItem: $selectionItem)
.tabItem {
Label("Başlangıç", systemImage: "house")
.environment(.symbolVariants, selectionItem == 0 ? .fill : .none)
}
.tag(0)

    ResultView(selectionTabItem: $selectionItem)
        .tabItem {
            Label("Hesaplamalar", systemImage:     "arrow.counterclockwise.circle")
                .environment(\.symbolVariants, selectionItem == 1 ? .fill : .none)
        }
        .tag(1)
}
.fullScreenCover(isPresented: $showingOnboarding, content: {
    OnboardingView.init()
        .edgesIgnoringSafeArea(.all)
        .onDisappear{
            showingOnboarding = false
            ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in })
        }
})
.onAppear{
    adsManager.increaseBannerAdCounter()
}
.tint(.main)

}
}

@Environment(.requestReview) private var requestReview when showing admob banner ad with SwiftUI
If I define the ad is not loading and Invalid Request. Cannot determine request type. Is your ad unit id correct?
I get an error. It gets fixed when I remove it.

Ad Inspector Error: Ad Inspector closed unexpectedly

I've just updated to Google Mobile Ads SDK 10.9.0 (updating from 9.14.0 with zero issues) and now I'm getting an alert in my app with the following message:

Ad Inspector Error
Ad Inspector closed unexpectedly.

alert

I never fire the function to open the Ad Inspector
The device is not in Test devices in the admob console
I don't know how to reproduce it, I just updated and now I'm getting that alert on my app randomly a couple of times per day.

Environment:

  • iPhone 14 Pro
  • iOS 16.6
  • Google Mobile Ads SDK 10.9.0

I don't know if it could be related to the update 10.8.0 that says in release notes:

Ad inspector now displays the error that occurred when the session fails to start.

10.8.0 release notes:
https://github.com/googleads/swift-package-manager-google-mobile-ads/releases/tag/10.8.0


Edit: I downgraded to 10.7.0 and the errors gone

Missing NSPrivacyTrackingDomain declaration

When realizing a profiling of my app I have obtained some interest points associated with the privacy manifest :

  • Fault: googleads.g.doubleclick.net is not listed in your app’s NSPrivacyTrackingDomain key in any privacy manifest. It may be following users across multiple apps and websites to create a profile about users of apps that contact this domain.
  • Fault: pubads.g.doubleclick.net is not listed in your app’s NSPrivacyTrackingDomain key in any privacy manifest. It may be following users across multiple apps and websites to create a profile about users of apps that contact this domain.
  • Fault: g.doubleclick.net is not listed in your app’s NSPrivacyTrackingDomain key in any privacy manifest. It may be following users across multiple apps and websites to create a profile about users of apps that contact this domain.
  • Fault: securepubads.g.doubleclick.net is not listed in your app’s NSPrivacyTrackingDomain key in any privacy manifest. It may be following users across multiple apps and websites to create a profile about users of apps that contact this domain.

Is it normal that any of those domains are not declared as tracking domains in the privacy manifest of the library ?

Configuration :

  • GoogleMobileAds version 11.5.0
  • Xcode 15.4.0
  • iOS 17.5

Reproduction methods :

  1. Start profiling activity monitor with interest points enable
  2. Display an ad

Undefined symbol: _SKStoreProductParameterAdNetworkSourceIdentifier

I am using Xcode 13.2.1 when I try to run the application i get this error any solution?

Undefined symbols for architecture x86_64:
  "_SKStoreProductParameterAdNetworkSourceIdentifier", referenced from:
      l030 in GoogleMobileAds(GADInAppStoreMonitor.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

NSPrivacyAccessedAPICategoryDiskSpace

I have reason to believe the GoogleMobileAds framework is triggering the privacy sensitive API usage alert, while we can work-around this by marking one of the respective NSPrivacyAccessedAPITypeReasons, I don't know that any of the justifications apply for GoogleMobileAds's usage of the API so cannot in good faith make this declaration.

I note that the Firebase Crashlytics 10.22.0 release "removed calls to statfs in the Crashlytics SDK to comply with Apple Privacy Manifests. This change removes support for collecting Disk Space Free in Crashlytics reports".

Can we confirm if there are disk usage related API calls within the GoogleMobileAds framework and that we can get them removed ahead of 1st May when Apple begins enforcing this policy?

Thanks

Default branch is now `main`

As part of Google’s ongoing efforts to foster inclusive language, we’ve changed the default branch of this project to main. We encourage contributors to do the same for their forks and local development environments in order to minimize issues when creating pull requests.

Xcode 15.3 & iOS 17.4 app install issue: Framework is missing its bundle executable.

After updating Xcode to version 15.3, I can't install my app either on simulator or real device on iOS 17.4.

Here is the error message I got when installing (Build succeed):

Please try again later. Framework is missing its bundle executable. Please check your build settings to make sure that a bundle executable is produced at the path 'MyApp.app/Frameworks/GoogleMobileAds.framework/GoogleMobileAds'

Capture d’écran 2024-03-18 à 21 02 53

I don't have any issue when deploying on iOS 17.0.1, 17.2 or 17.3 on both sim and device. Does anyone face the same issue?

Detail of the error:

Impossible d’installer « My App »
Domain: IXUserPresentableErrorDomain
Code: 1
Recovery Suggestion: My App.app/Frameworks/GoogleMobileAds.framework is missing its bundle executable. Please check your build settings to make sure that a bundle executable is produced at the path "My App.app/Frameworks/GoogleMobileAds.framework/GoogleMobileAds".
User Info: {
    DVTErrorCreationDateKey = "2024-03-18 20:12:00 +0000";
    IDERunOperationFailingWorker = IDEInstallCoreDeviceWorker;
}
--
Impossible d’installer « My App »
Domain: IXUserPresentableErrorDomain
Code: 1
Recovery Suggestion: My App.app/Frameworks/GoogleMobileAds.framework is missing its bundle executable. Please check your build settings to make sure that a bundle executable is produced at the path "My App.app/Frameworks/GoogleMobileAds.framework/GoogleMobileAds".
User Info: {
    IDERunOperationFailingWorker = IDEInstallCoreDeviceWorker;
}
--
Failed to install the app on the device.
Domain: com.apple.dt.CoreDeviceError
Code: 3002
User Info: {
    NSURL = "file:///Users/clement/Library/Developer/Xcode/DerivedData/MyApp-dwgovybwoaicqghaqtvbngdkplip/Build/Products/Debug-iphoneos/My%20App.app/";
}
--
Impossible d’installer « My App »
Domain: IXUserPresentableErrorDomain
Code: 1
Failure Reason: Réessayez ultérieurement.
Recovery Suggestion: My App.app/Frameworks/GoogleMobileAds.framework is missing its bundle executable. Please check your build settings to make sure that a bundle executable is produced at the path "My App.app/Frameworks/GoogleMobileAds.framework/GoogleMobileAds".
--
My App.app/Frameworks/GoogleMobileAds.framework is missing its bundle executable. Please check your build settings to make sure that a bundle executable is produced at the path "My App.app/Frameworks/GoogleMobileAds.framework/GoogleMobileAds".
Domain: MIInstallerErrorDomain
Code: 71
User Info: {
    FunctionName = "-[MIExecutableBundle executableExistsWithError:]";
    SourceFileLine = 1580;
}
--
lstat of /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.cYcAbK/extracted/My App.app/Frameworks/GoogleMobileAds.framework/GoogleMobileAds failed: No such file or directory
Domain: NSPOSIXErrorDomain
Code: 2
Failure Reason: No such file or directory
User Info: {
    FunctionName = "-[MIFileManager itemExistsAtURL:error:]";
    SourceFileLine = 1340;
}
--

Event Metadata: com.apple.dt.IDERunOperationWorkerFinished : {
    "device_isCoreDevice" = 1;
    "device_isWireless" = 1;
    "device_model" = "iPhone12,3";
    "device_osBuild" = "17.4 (21E219)";
    "device_platform" = "com.apple.platform.iphoneos";
    "dvt_coredevice_version" = "355.24";
    "dvt_mobiledevice_version" = "1643.100.58";
    "launchSession_schemeCommand" = Run;
    "launchSession_state" = 1;
    "launchSession_targetArch" = arm64;
    "operation_duration_ms" = 10200;
    "operation_errorCode" = 1;
    "operation_errorDomain" = IXUserPresentableErrorDomain;
    "operation_errorWorker" = IDEInstallCoreDeviceWorker;
    "operation_name" = IDERunOperationWorkerGroup;
    "param_debugger_attachToExtensions" = 0;
    "param_debugger_attachToXPC" = 1;
    "param_debugger_type" = 3;
    "param_destination_isProxy" = 0;
    "param_destination_platform" = "com.apple.platform.iphoneos";
    "param_diag_MainThreadChecker_stopOnIssue" = 0;
    "param_diag_MallocStackLogging_enableDuringAttach" = 0;
    "param_diag_MallocStackLogging_enableForXPC" = 1;
    "param_diag_allowLocationSimulation" = 1;
    "param_diag_checker_tpc_enable" = 1;
    "param_diag_gpu_frameCapture_enable" = 0;
    "param_diag_gpu_shaderValidation_enable" = 0;
    "param_diag_gpu_validation_enable" = 0;
    "param_diag_memoryGraphOnResourceException" = 0;
    "param_diag_queueDebugging_enable" = 1;
    "param_diag_runtimeProfile_generate" = 0;
    "param_diag_sanitizer_asan_enable" = 0;
    "param_diag_sanitizer_tsan_enable" = 0;
    "param_diag_sanitizer_tsan_stopOnIssue" = 0;
    "param_diag_sanitizer_ubsan_stopOnIssue" = 0;
    "param_diag_showNonLocalizedStrings" = 0;
    "param_diag_viewDebugging_enabled" = 1;
    "param_diag_viewDebugging_insertDylibOnLaunch" = 1;
    "param_install_style" = 0;
    "param_launcher_UID" = 2;
    "param_launcher_allowDeviceSensorReplayData" = 0;
    "param_launcher_kind" = 0;
    "param_launcher_style" = 99;
    "param_launcher_substyle" = 8192;
    "param_runnable_appExtensionHostRunMode" = 0;
    "param_runnable_productType" = "com.apple.product-type.application";
    "param_structuredConsoleMode" = 1;
    "param_testing_launchedForTesting" = 0;
    "param_testing_suppressSimulatorApp" = 0;
    "param_testing_usingCLI" = 0;
    "sdk_canonicalName" = "iphoneos17.4";
    "sdk_osVersion" = "17.4";
    "sdk_variant" = iphoneos;
}
--


System Information

macOS Version 14.0 (Build 23A344)
Xcode 15.3 (22618) (Build 15E204a)
Timestamp: 2024-03-18T21:12:00+01:00

Mediation libraries support

According to the docs, mediation libraries still require using CocoaPods.

image

Is this on the roadmap, and does the team have an ETA they can share?

Thanks!

SwiftPackageManager No such module 'GoogleMobileAds' for google-mobile-ads

How frequently does the bug occur?

Always

Description

When add https://github.com/googleads/swift-package-manager-google-mobile-ads repository via SwiftPackageManager using xCodeGen:

GoogleMobileAds:
  url: https://github.com/googleads/swift-package-manager-google-mobile-ads
  from: 11.5.0

Stacktrace & log output

image
image

It appears in Package Dependencies

image
image

Platform OS and version(s)

mac os (14.4.1)

Build environment

Xcode version: 15.4

In xcode 15.2 with a previous version of GoogleMobileAds it worked perfectly, but when updating xcode to 15.4, it stopped working, not even with the latest version of GoogleMobileAds as I am showing.

SPM xcode 15.4 Failed to load Info.plist from UserMessagingPlatform.framework

Hello,

After use SDK to v11.5.0 I have this error on device install :
Failed to load Info.plist from bundle at path /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.g44dBB/extracted/Control.app/Frameworks/UserMessagingPlatform.framework; Extra info about "/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.g44dBB/extracted/Control.app/Frameworks/UserMessagingPlatform.framework/Info.plist": Couldn't stat /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.g44dBB/extracted/Control.app/Frameworks/UserMessagingPlatform.framework/Info.plist: No such file or directory

try versions 11.0.0 - 11.5.0 - the same error
xcode 15.4, SPM
ios 17.5.1

could you please help

Thanks

Bug: GADMobileAds breaks the Global Setted AccentColor

Implemented GoogleMobileAds with spm to my another Swift package. Calling GADMobileAds.sharedInstance().start() resets the accent color to default one.

To reproduce follow these steps.

  • Integrate GADMobileAds into another Swift package.
  • Add that package to iOS App target.
  • Set AccentColor in Assets.xcassets
  • Start GoogleMobileAds by following
GADMobileAds.sharedInstance().start()

You will see that the color you set in AccentColor is not working anymore. Commenting out GADMobileAds.sharedInstance().start() fixes the problem.

Env

  • Xcode 14.3.1
  • swift-driver version: 1.75.2 Apple Swift version 5.8.1 (swiftlang-5.8.0.124.5 clang-1403.0.22.11.100)
    Target: arm64-apple-macosx13.0

Can you investigate a solution?

Facebook Adapter Not Ready FacebookMediationAdapter -No such adapter in the application - iOS

GoogleMobileAdsMediationFacebook (6.14.0.0)
Google-Mobile-Ads-SDK (10.11.0)
GoogleMobileAdsMediationInMobi (10.6.0.0)
FBAudienceNetwork (6.14.0)
FBSDKCoreKit (16.3.1)
Xcode: 15.0.1
OS: iOS
Native platform. please help us I have done all setup and as well adding SKAdNetworkItems for respectively on google ad InMobi as well Facebook respectively [These are my adapters inMob and Meta]

GADMobileAds *ads = [GADMobileAds sharedInstance];
    [ads startWithCompletionHandler:^(GADInitializationStatus *status) {
      // Optional: Log each adapter's initialization latency.
      NSDictionary *adapterStatuses = [status adapterStatusesByClassName];
      for (NSString *adapter in adapterStatuses) {
        GADAdapterStatus *adapterStatus = adapterStatuses[adapter];
        NSLog(@"Adapter Name: %@, Description: %@, Latency: %f", adapter,
              adapterStatus.description, adapterStatus.latency);
      }
      // Start loading ads here...
    }];

WebContent process (0x1170180c0) took 1.1217 seconds to launch
Adapter Name: com.google.ads.mediation.facebook.FacebookMediationAdapter, Description: <GADAdapterStatus: 0x28240cc80; state = Not Ready;No such adapter in the application.>, Latency: 0.0000
Adapter Name: GADMobileAds, Description: <GADAdapterStatus: 0x28240d380; state = Ready>, Latency: 0.0147
GADMobileAds: {
GADMobileAds = "<GADAdapterStatus: 0x28240d380; state = Ready>";
"com.google.ads.mediation.facebook.FacebookMediationAdapter" = "<GADAdapterStatus: 0x28240cc80; state = Not Ready;No such adapter in the application.>";
}. in iOS we are getting this error
versions are
 for reference [ https://github.com/googleads/googleads-mobile-ios-mediation/issues/167 ]

Catalyst - Not working

We're excited to see the frameworks to come to SPM

Have you tried on a project that uses Catalyst?
Even when we only tick "iOS" and untick "Catalyst" within Xcode, we get an error and we're stuck.

So we cannot use this package on our project..
Maybe you need to discard catalyst from within the package.swift ?

AdMob request fails with ERROR_CODE_NETWORK_ERROR when ATT is set to Not Track

When the App Tracking Transparency Allow Tracking setting for my app in set to Not Track (toggle is off), the AdMob request fails with the Error Code 2: ERROR_CODE_NETWORK_ERROR. It looks exactly like the iOS blocks endpoints listed in google-ads manifest file, while that completely brakes the Ads serving.

It happened right after I've updated the package version to the one with added Privacy Manifest.
It affects any our account and all test ads from docs.
Test ads only work in preview when I develop my package which importing google-mobile-ads package (when there is no Privacy Manifest impact). Once I switch to the iOS app I get all that Code 2 errors everywhere (preview, simulator, device) if ATT is disabled.

So, how to fix that and what is it?

  1. A bug?
  2. Not yet refactored endpoints by separating tracking endpoints to separate endpoints/domains and will be fixed soon?
  3. Google officially says that Google Ads will not work anymore if ATT is disabled, eg for 70% of iOS users?

Have no idea how to deal with it from now...

15 memory leaks (initialization)

Hello,

Using xcode's instrument to find memory leaks in my application, I found that I had 15 memory leaks. After searching, I found the problem: google Mobile Ads. If I deactivate Google mobile Ads.

To confirm this I created a new SwiftUI project with the simple text "hello Word". I initialized Google Mobile Ads in appDelegate ( in application(application:didFinishLaunchingWithOptions:), with GADMobileAds.sharedInstance().start(completionHandler: nil) that's it.

the memory leak problem is still present

Capture ecran 2023-08-07 à 10 04 59

Google Mobile Ads: 10.9
Xcode: 14.3.1
Simulator: iOS 16.4 on iPhone 14 Pro
macoOS: 13.5

Thank you

Close button displayed under status bar on iPhone 14 Pro with dynamic island

Hello the Google Ads Team !

Unfortunately, some (not all) ads displayed on the new iPhone 14 Pro with the dynamic island have the close button stuck under the status bar. As a result, the user cannot close the ad and this makes the application completely inaccessible.
No error logs come up, even when overriding modalPresentationCapturesStatusBarAppearance.

Tested on iOS 16.0, with the latest release of Google Mobile Ads -> 9.11.0.

Some examples:

I am looking for a solution very quickly, thank you very much in advance.
Best regards,
Sascha Salles

Archive fails: GoogleMobileAds.framework does not support the minimum OS Version specified in the Info.plist

Description

Archiving our app using Xcode 15.3 RC via Xcode Cloud fails the validation stage on App Store Connect due to problems with the framework's Info.plist file. App is targeting iOS and has a deployment target of iOS 15.

The same issue has been reported in two related projects: GoogleAppMeasurement (google/GoogleAppMeasurement#62) and Firebase (firebase/firebase-ios-sdk#12441).

Reproducing the issue

Archive an app that uses the GoogleMobileAds using Xcode 15.3 RC. Submit it to App Store Connect.

GoogleMobileAds SDK Version

11.0.1

Xcode Version

15.3 RC

Installation Method

Swift Package Manager

Targeted Platforms

iOS

Relevant Log Output

Invalid Bundle. The bundle MyApp.app/Frameworks/GoogleMobileAds.framework does not support the minimum OS Version specified in the Info.plist.
Invalid Bundle. The bundle MyApp.app/Frameworks/UserMessagingPlatform.framework does not support the minimum OS Version specified in the Info.plist.

Workaround

Archiving with Xcode 15.2 works fine. You can set the Xcode version for Xcode Cloud builds within App Store Connect -> Xcode Cloud -> Manage Workflows -> Workflow -> Xcode version. The default value is "Latest Release".

Cannot build for visionOS

I am using Xcode Version 15.0 beta 6.

I want to make the project that's already available on the App Store run on visionOS, but I encountered an error message while building it.

Build target GoogleMobileAdsTarget with configuration Debug /.../DerivedData/.../SourcePackages/artifacts/swift-package-manager-google-mobile-ads/GoogleMobileAds/GoogleMobileAds.xcframework:1:1: error: While building for visionOS Simulator, no library for this platform was found in '/.../DerivedData/.../SourcePackages/artifacts/swift-package-manager-google-mobile-ads/GoogleMobileAds/GoogleMobileAds.xcframework'. (in target 'GoogleMobileAdsTarget' from project 'GoogleMobileAds') /.../DerivedData/.../SourcePackages/artifacts/swift-package-manager-google-user-messaging-platform/UserMessagingPlatform/UserMessagingPlatform.xcframework:1:1: error: While building for visionOS Simulator, no library for this platform was found in '/.../DerivedData/.../SourcePackages/artifacts/swift-package-manager-google-user-messaging-platform/UserMessagingPlatform/UserMessagingPlatform.xcframework'. (in target 'GoogleMobileAdsTarget' from project 'GoogleMobileAds')

Expand Package.resolved snippet
{
  "pins" : [
    {
      "identity" : "abseil-cpp-binary",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/abseil-cpp-binary.git",
      "state" : {
        "revision" : "bfc0b6f81adc06ce5121eb23f628473638d67c5c",
        "version" : "1.2022062300.0"
      }
    },
    {
      "identity" : "cryptoswift",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/krzyzanowskim/CryptoSwift.git",
      "state" : {
        "branch" : "main",
        "revision" : "fbeec2a3f958f175b404912c3a28f640cdd46e95"
      }
    },
    {
      "identity" : "firebase-ios-sdk",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/firebase/firebase-ios-sdk.git",
      "state" : {
        "revision" : "df2171b0c6afb9e9d4f7e07669d558c510b9f6be",
        "version" : "10.13.0"
      }
    },
    {
      "identity" : "googleappmeasurement",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/GoogleAppMeasurement.git",
      "state" : {
        "revision" : "03b9beee1a61f62d32c521e172e192a1663a5e8b",
        "version" : "10.13.0"
      }
    },
    {
      "identity" : "googledatatransport",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/GoogleDataTransport.git",
      "state" : {
        "revision" : "aae45a320fd0d11811820335b1eabc8753902a40",
        "version" : "9.2.5"
      }
    },
    {
      "identity" : "googleutilities",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/GoogleUtilities.git",
      "state" : {
        "revision" : "c38ce365d77b04a9a300c31061c5227589e5597b",
        "version" : "7.11.5"
      }
    },
    {
      "identity" : "grpc-binary",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/grpc-binary.git",
      "state" : {
        "revision" : "f1b366129d1125be7db83247e003fc333104b569",
        "version" : "1.50.2"
      }
    },
    {
      "identity" : "gtm-session-fetcher",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/gtm-session-fetcher.git",
      "state" : {
        "revision" : "d415594121c9e8a4f9d79cecee0965cf35e74dbd",
        "version" : "3.1.1"
      }
    },
    {
      "identity" : "leveldb",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/firebase/leveldb.git",
      "state" : {
        "revision" : "0706abcc6b0bd9cedfbb015ba840e4a780b5159b",
        "version" : "1.22.2"
      }
    },
    {
      "identity" : "nanopb",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/firebase/nanopb.git",
      "state" : {
        "revision" : "819d0a2173aff699fb8c364b6fb906f7cdb1a692",
        "version" : "2.30909.0"
      }
    },
    {
      "identity" : "promises",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/promises.git",
      "state" : {
        "revision" : "e70e889c0196c76d22759eb50d6a0270ca9f1d9e",
        "version" : "2.3.1"
      }
    },
    {
      "identity" : "swift-package-manager-google-mobile-ads",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/googleads/swift-package-manager-google-mobile-ads.git",
      "state" : {
        "revision" : "1a6faf6b9b82ddf8780f678745381b8628711077",
        "version" : "10.9.0"
      }
    },
    {
      "identity" : "swift-package-manager-google-user-messaging-platform",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git",
      "state" : {
        "revision" : "129fa838520cd02174f890ae0cfe0242e60714ae",
        "version" : "2.1.0"
      }
    },
    {
      "identity" : "swift-protobuf",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/apple/swift-protobuf.git",
      "state" : {
        "revision" : "ce20dc083ee485524b802669890291c0d8090170",
        "version" : "1.22.1"
      }
    }
  ],
  "version" : 2
}

Linker error: `duplicate symbol '_adView' in:` when using AppLovin

I've encountered a linker error while utilizing the latest package version 11.0.0 alongside the mediation adapter and SDK for AppLovin. It appears that both SDKs contain a file named OMIDJavaScriptSessionService.o or GADOMIDJavaScriptSessionService.o with an _adView attribute (refer to the attached screenshot). This issue first surfaced with version 11.0.0; however, version 10.14.0 functions properly in this aspect.

Screenshot 2024-02-07 at 11 16 52

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.