KivMob 奖励视频广告听众
KivMob Rewarded Video Ad listener
我正在尝试使用 KivMob 在我的 kivy 应用程序上实施奖励视频广告。
我想通过 KivMob 库中提供的 RewardedListenerInterface 处理奖励视频广告的回调函数。
根据我自己的理解,到目前为止我所做的...
Python代码
class KivMobDemo(MDApp):
def __init__(self,**kwargs):
self.theme_cls.theme_style = "Dark"
super().__init__(**kwargs)
# These are our Admob Ad IDs
APP = "ca-app-pub-XXXXXXXXXX"
BANNER = "ca-app-pub-XXXXXXXXXXXX"
INTERSTITIAL = "ca-app-pub-XXXXXXXXX"
REWARDED_VIDEO = "ca-app-pub-XXXXXXXX"
TEST_DEVICE_ID = "XXXXXXXXXXXXXXXXXXXXXXXX"
Count = NumericProperty(0) #The Count Variable
show_banner = False
ads = KivMob(APP)
def build(self):
self.ads.add_test_device(self.TEST_DEVICE_ID)
self.ads.new_banner(self.BANNER, False)
self.ads.new_interstitial(self.INTERSTITIAL)
self.ads.request_banner()
self.ads.request_interstitial()
self.ads.set_rewarded_ad_listener(RewardsHandler()) #passed the Rewards class object
self.ads.load_rewarded_ad(self.REWARDED_VIDEO)
self.toggled = False
self.ads.show_banner()
return KivMobDemoUI()
def toggle_banner(self):
self.show_banner = not self.show_banner
if self.show_banner:
self.ads.show_banner()
else:
self.ads.hide_banner()
def load_video(self):
self.ads.load_rewarded_ad(self.REWARDED_VIDEO)
单独 Class 用于覆盖回调函数
class RewardsHandler(RewardedListenerInterface):
def on_rewarded(self, reward_name, reward_amount):
KivMobDemo.Count += reward_amount
print("User rewarded")
def on_rewarded_video_ad_completed(self):
self.on_rewarded("Reward",1)
print("Ad Completed Time to give Rewards")
def on_rewarded_video_ad_closed(self):
KivMobDemo.Count+=0
def on_rewarded_video_ad_left_application(self):
KivMobDemo.Count = 0
def on_rewarded_video_ad_started(self):
KivMobDemo().load_video()
def on_rewarded_video_ad_failed_to_load(self, error_code):
if(error_code == 0):
print("Something Went Wrong, Please Try Again")
elif(error_code == 1):
print("Please Report To the Developer")
elif(error_code == 2):
print("Make Sure You Have Internet Access")
else:
print("Please Try Later")
基维密码
基本上我是在播放奖励视频后尝试增加计数变量。
Screen:
name: 'rewarded'
BoxLayout:
MDLabel:
font_style: 'H1'
theme_text_color: 'Primary'
text: "Counter "+str(app.Count)
halign: 'center'
pos_hint: {'center_x': 0.5, 'center_y': 0.75}
MDFloatingActionButton:
icon: 'plus'
elevation_normal: 2
pos_hint: {'center_x': 0.5, 'center_y': 0.25}
on_release:
app.ads.show_rewarded_ad()
这段代码似乎很大,但是你有很多不相关的代码我添加它是为了让贡献者更加透明。
提前致谢。
是的,它有效
我在我的代码中修复了一些错误,这是 KivMob 奖励视频监听器的正确实现。
所以让我向你们解释一下如何实现回调函数。
首先制作一个单独的 Class 来处理奖励回调函数,就像我对
所做的那样
Rewards_Handler Class 并用 RewardedListenerInterface Class.
继承
为什么我创建另一个 class 是为了覆盖 KivMob 库中 RewardedListenerInterface Class 中预定义的奖励回调函数。
您可以在 RewardedListenerInterface 下的 KivMob 库中覆盖总共 8 个函数 Class。
您可以在此处找到函数参数和有关其功能的详细信息here
通过使用与 KivMob 库中相同的名称定义函数来覆盖函数。
现在最后一步是通过在 set_rewarded_listener(YOUR_REWARDS_CLASS_OBJECT_HERE())
中传递对象,将此 Class 插入您的代码
我正在尝试使用 KivMob 在我的 kivy 应用程序上实施奖励视频广告。 我想通过 KivMob 库中提供的 RewardedListenerInterface 处理奖励视频广告的回调函数。
根据我自己的理解,到目前为止我所做的...
Python代码
class KivMobDemo(MDApp):
def __init__(self,**kwargs):
self.theme_cls.theme_style = "Dark"
super().__init__(**kwargs)
# These are our Admob Ad IDs
APP = "ca-app-pub-XXXXXXXXXX"
BANNER = "ca-app-pub-XXXXXXXXXXXX"
INTERSTITIAL = "ca-app-pub-XXXXXXXXX"
REWARDED_VIDEO = "ca-app-pub-XXXXXXXX"
TEST_DEVICE_ID = "XXXXXXXXXXXXXXXXXXXXXXXX"
Count = NumericProperty(0) #The Count Variable
show_banner = False
ads = KivMob(APP)
def build(self):
self.ads.add_test_device(self.TEST_DEVICE_ID)
self.ads.new_banner(self.BANNER, False)
self.ads.new_interstitial(self.INTERSTITIAL)
self.ads.request_banner()
self.ads.request_interstitial()
self.ads.set_rewarded_ad_listener(RewardsHandler()) #passed the Rewards class object
self.ads.load_rewarded_ad(self.REWARDED_VIDEO)
self.toggled = False
self.ads.show_banner()
return KivMobDemoUI()
def toggle_banner(self):
self.show_banner = not self.show_banner
if self.show_banner:
self.ads.show_banner()
else:
self.ads.hide_banner()
def load_video(self):
self.ads.load_rewarded_ad(self.REWARDED_VIDEO)
单独 Class 用于覆盖回调函数
class RewardsHandler(RewardedListenerInterface):
def on_rewarded(self, reward_name, reward_amount):
KivMobDemo.Count += reward_amount
print("User rewarded")
def on_rewarded_video_ad_completed(self):
self.on_rewarded("Reward",1)
print("Ad Completed Time to give Rewards")
def on_rewarded_video_ad_closed(self):
KivMobDemo.Count+=0
def on_rewarded_video_ad_left_application(self):
KivMobDemo.Count = 0
def on_rewarded_video_ad_started(self):
KivMobDemo().load_video()
def on_rewarded_video_ad_failed_to_load(self, error_code):
if(error_code == 0):
print("Something Went Wrong, Please Try Again")
elif(error_code == 1):
print("Please Report To the Developer")
elif(error_code == 2):
print("Make Sure You Have Internet Access")
else:
print("Please Try Later")
基维密码
基本上我是在播放奖励视频后尝试增加计数变量。
Screen:
name: 'rewarded'
BoxLayout:
MDLabel:
font_style: 'H1'
theme_text_color: 'Primary'
text: "Counter "+str(app.Count)
halign: 'center'
pos_hint: {'center_x': 0.5, 'center_y': 0.75}
MDFloatingActionButton:
icon: 'plus'
elevation_normal: 2
pos_hint: {'center_x': 0.5, 'center_y': 0.25}
on_release:
app.ads.show_rewarded_ad()
这段代码似乎很大,但是你有很多不相关的代码我添加它是为了让贡献者更加透明。
提前致谢。
是的,它有效 我在我的代码中修复了一些错误,这是 KivMob 奖励视频监听器的正确实现。
所以让我向你们解释一下如何实现回调函数。
首先制作一个单独的 Class 来处理奖励回调函数,就像我对
所做的那样Rewards_Handler Class 并用 RewardedListenerInterface Class.
继承为什么我创建另一个 class 是为了覆盖 KivMob 库中 RewardedListenerInterface Class 中预定义的奖励回调函数。
您可以在 RewardedListenerInterface 下的 KivMob 库中覆盖总共 8 个函数 Class。
您可以在此处找到函数参数和有关其功能的详细信息here
通过使用与 KivMob 库中相同的名称定义函数来覆盖函数。
现在最后一步是通过在 set_rewarded_listener(YOUR_REWARDS_CLASS_OBJECT_HERE())
中传递对象,将此 Class 插入您的代码