@capacitor-community/admob 6.0.0 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +261 -66
- package/android/src/main/java/com/getcapacitor/community/admob/AdMob.java +17 -0
- package/android/src/main/java/com/getcapacitor/community/admob/models/AdOptions.java +10 -0
- package/android/src/main/java/com/getcapacitor/community/admob/rewardedinterstitial/AdRewardInterstitialExecutor.java +84 -0
- package/android/src/main/java/com/getcapacitor/community/admob/rewardedinterstitial/RewardInterstitialAdPluginEvents.kt +12 -0
- package/android/src/main/java/com/getcapacitor/community/admob/rewardedinterstitial/RewardedInterstitialAdCallbackAndListeners.kt +50 -0
- package/android/src/main/java/com/getcapacitor/community/admob/rewardedinterstitial/models/SsvInfo.kt +20 -0
- package/dist/docs.json +340 -0
- package/dist/esm/definitions.d.ts +2 -1
- package/dist/esm/definitions.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/reward-interstitial/index.d.ts +4 -0
- package/dist/esm/reward-interstitial/index.js +5 -0
- package/dist/esm/reward-interstitial/index.js.map +1 -0
- package/dist/esm/reward-interstitial/reward-interstitial-ad-options.interface.d.ts +25 -0
- package/dist/esm/reward-interstitial/reward-interstitial-ad-options.interface.js +2 -0
- package/dist/esm/reward-interstitial/reward-interstitial-ad-options.interface.js.map +1 -0
- package/dist/esm/reward-interstitial/reward-interstitial-ad-plugin-events.enum.d.ts +32 -0
- package/dist/esm/reward-interstitial/reward-interstitial-ad-plugin-events.enum.js +35 -0
- package/dist/esm/reward-interstitial/reward-interstitial-ad-plugin-events.enum.js.map +1 -0
- package/dist/esm/reward-interstitial/reward-interstitial-definitions.interface.d.ts +30 -0
- package/dist/esm/reward-interstitial/reward-interstitial-definitions.interface.js +2 -0
- package/dist/esm/reward-interstitial/reward-interstitial-definitions.interface.js.map +1 -0
- package/dist/esm/reward-interstitial/reward-interstitial-item.interface.d.ts +14 -0
- package/dist/esm/reward-interstitial/reward-interstitial-item.interface.js +2 -0
- package/dist/esm/reward-interstitial/reward-interstitial-item.interface.js.map +1 -0
- package/dist/esm/web.d.ts +2 -0
- package/dist/esm/web.js +12 -0
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +47 -0
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +47 -0
- package/dist/plugin.js.map +1 -1
- package/ios/Plugin/Banner/BannerExecutor.swift +7 -7
- package/ios/Plugin/Consent/ConsentExecutor.swift +1 -1
- package/ios/Plugin/Interstitial/AdInterstitialExecutor.swift +4 -4
- package/ios/Plugin/Plugin.m +2 -0
- package/ios/Plugin/Plugin.swift +24 -2
- package/ios/Plugin/Rewarded/AdRewardExecutor.swift +4 -4
- package/ios/Plugin/RewardedInterstitial/AdRewardInterstitialExecutor.swift +86 -0
- package/ios/Plugin/RewardedInterstitial/RewardInterstitialAdPluginEvents.swift +8 -0
- package/package.json +3 -3
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import Capacitor
|
|
3
|
+
import GoogleMobileAds
|
|
4
|
+
|
|
5
|
+
class AdRewardInterstitialExecutor: NSObject, GADFullScreenContentDelegate {
|
|
6
|
+
public weak var plugin: AdMob?
|
|
7
|
+
var rewardedInterstitialAd: GADRewardedInterstitialAd!
|
|
8
|
+
|
|
9
|
+
func prepareRewardInterstitialAd(_ call: CAPPluginCall, _ request: GADRequest, _ adUnitID: String) {
|
|
10
|
+
GADRewardedInterstitialAd.load(
|
|
11
|
+
withAdUnitID: adUnitID,
|
|
12
|
+
request: request,
|
|
13
|
+
completionHandler: { (ad, error) in
|
|
14
|
+
if let error = error {
|
|
15
|
+
NSLog("Rewarded ad failed to load with error: \(error.localizedDescription)")
|
|
16
|
+
self.plugin?.notifyListeners(RewardInterstitialAdPluginEvents.FailedToLoad.rawValue, data: [
|
|
17
|
+
"code": 0,
|
|
18
|
+
"message": error.localizedDescription
|
|
19
|
+
])
|
|
20
|
+
call.reject("Loading failed")
|
|
21
|
+
return
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
self.rewardedInterstitialAd = ad
|
|
25
|
+
|
|
26
|
+
if let providedOptions = call.getObject("ssv") {
|
|
27
|
+
let ssvOptions = GADServerSideVerificationOptions()
|
|
28
|
+
|
|
29
|
+
if let customData = providedOptions["customData"] as? String {
|
|
30
|
+
NSLog("Sending Custom Data: \(customData) to SSV callback")
|
|
31
|
+
ssvOptions.customRewardString = customData
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if let userId = providedOptions["userId"] as? String {
|
|
35
|
+
NSLog("Sending UserId: \(userId) to SSV callback")
|
|
36
|
+
ssvOptions.userIdentifier = userId
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
self.rewardedInterstitialAd?.serverSideVerificationOptions = ssvOptions
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
self.rewardedInterstitialAd?.fullScreenContentDelegate = self
|
|
43
|
+
self.plugin?.notifyListeners(RewardInterstitialAdPluginEvents.Loaded.rawValue, data: [
|
|
44
|
+
"adUnitId": adUnitID
|
|
45
|
+
])
|
|
46
|
+
call.resolve([
|
|
47
|
+
"adUnitId": adUnitID
|
|
48
|
+
])
|
|
49
|
+
}
|
|
50
|
+
)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
func showRewardInterstitialAd(_ call: CAPPluginCall) {
|
|
54
|
+
if let rootViewController = plugin?.getRootVC() {
|
|
55
|
+
if let ad = self.rewardedInterstitialAd {
|
|
56
|
+
ad.present(fromRootViewController: rootViewController,
|
|
57
|
+
userDidEarnRewardHandler: {
|
|
58
|
+
let reward = ad.adReward
|
|
59
|
+
self.plugin?.notifyListeners(RewardInterstitialAdPluginEvents.Rewarded.rawValue, data: ["type": reward.type, "amount": reward.amount])
|
|
60
|
+
call.resolve(["type": reward.type, "amount": reward.amount])
|
|
61
|
+
}
|
|
62
|
+
)
|
|
63
|
+
} else {
|
|
64
|
+
call.reject("Reward Video is Not Ready Yet")
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
public func ad(_ ad: GADFullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) {
|
|
70
|
+
NSLog("RewardFullScreenDelegate Ad failed to present full screen content with error \(error.localizedDescription).")
|
|
71
|
+
self.plugin?.notifyListeners(RewardInterstitialAdPluginEvents.FailedToShow.rawValue, data: [
|
|
72
|
+
"code": 0,
|
|
73
|
+
"message": error.localizedDescription
|
|
74
|
+
])
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
public func adWillPresentFullScreenContent(_ ad: GADFullScreenPresentingAd) {
|
|
78
|
+
NSLog("RewardFullScreenDelegate Ad did present full screen content.")
|
|
79
|
+
self.plugin?.notifyListeners(RewardInterstitialAdPluginEvents.Showed.rawValue, data: [:])
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
public func adDidDismissFullScreenContent(_ ad: GADFullScreenPresentingAd) {
|
|
83
|
+
NSLog("RewardFullScreenDelegate Ad did dismiss full screen content.")
|
|
84
|
+
self.plugin?.notifyListeners(RewardInterstitialAdPluginEvents.Dismissed.rawValue, data: [:])
|
|
85
|
+
}
|
|
86
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
public enum RewardInterstitialAdPluginEvents: String {
|
|
2
|
+
case Loaded = "onRewardedInterstitialAdLoaded"
|
|
3
|
+
case FailedToLoad = "onRewardedInterstitialAdFailedToLoad"
|
|
4
|
+
case Showed = "onRewardedInterstitialAdShowed"
|
|
5
|
+
case FailedToShow = "onRewardedInterstitialAdFailedToShow"
|
|
6
|
+
case Dismissed = "onRewardedInterstitialAdDismissed"
|
|
7
|
+
case Rewarded = "onRewardedInterstitialAdReward"
|
|
8
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@capacitor-community/admob",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.1.0",
|
|
4
4
|
"description": "A native plugin for AdMob",
|
|
5
5
|
"main": "dist/plugin.cjs.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"verify:android": "cd android && ./gradlew clean build test && cd ..",
|
|
32
32
|
"verify:web": "npm run build",
|
|
33
33
|
"lint": "npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint",
|
|
34
|
-
"fmt": "npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint --
|
|
34
|
+
"fmt": "npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format",
|
|
35
35
|
"eslint": "eslint src/. --ext ts",
|
|
36
36
|
"prettier": "prettier \"{src/*.ts,**/*.java}\"",
|
|
37
37
|
"swiftlint": "node-swiftlint",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"git add"
|
|
82
82
|
],
|
|
83
83
|
"*.swift": [
|
|
84
|
-
"npm run swiftlint --
|
|
84
|
+
"npm run swiftlint -- --fix --format",
|
|
85
85
|
"git add"
|
|
86
86
|
]
|
|
87
87
|
},
|