kivmob 不在 android 应用程序 python kivy 中展示广告
kivmob doesn't show ads in android app python kivy
我尝试在我的应用中添加广告。我在 buildozer.spec 中添加了:
android.permissions = INTERNET, ACCESS_NETWORK_STATE
requirements = python3,kivy, jnius, kivmob
android.api = 28
android.minapi = 21
android.sdk = 24
android.ndk = 19b
android.gradle_dependencies = 'com.google.firebase:firebase-ads:10.2.0'
p4a.branch = master
android.meta_data = com.google.android.gms.ads.APPLICATION_ID=#here id of my app
我有代码:
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivmob import KivMob
class TestApp(App):
def build(self):
try:
fl = FloatLayout()
self.ads = KivMob('')#here my app
self.ads.add_test_device(here my id)
self.ads.new_banner('', top_pos=True)#here my banner
self.ads.request_banner()
self.ads.show_banner()
except Exception as error:
fl.add_widget(Label(text=str(error), font_size=(30)))
return fl
def on_resume(self):
self.ads.request_banner()
if __name__ == '__main__':
TestApp().run()
当我启动这个应用程序时,我看到黑屏,没有其他任何东西。我期待横幅。如何解决?希望大家帮帮我
更新:
如果我使用 TestIds.APP
和 TestIds.BANNER
它会工作并显示广告。为什么会这样?如何使用真正的横幅广告?
所以首先在buildozer.spec中的需求中添加android。
android.api = 28
是的,使用 TestIds 提供可在任何设备上显示的广告,因为它们是 google 的示例广告。
但是当您使用自己的广告单元时,您是从 admob 帐户创建的。
您必须在您的代码中提供您的测试设备 ID,以便识别 google 您正在测试您自己的广告。
在构建方法中使用 self.ads.add_test_device(YOUR_DEVICE_ID)。
你从哪里得到你的设备 ID
那么你必须在 logcat 输出中找到你的设备 ID。
希望对您有所帮助。
Kivmob 正在导入 jnius。因为它必须包含在规范文件要求中(你已经完成了)。但是你必须使用 pyjnius 而不是 jnius
在要求中。这可能对你有帮助。
但是 kivmob 也在使用 android 模块。我不知道如何将其放入要求中。所以可能会有一些问题。
我尝试在我的应用中添加广告。我在 buildozer.spec 中添加了:
android.permissions = INTERNET, ACCESS_NETWORK_STATE
requirements = python3,kivy, jnius, kivmob
android.api = 28
android.minapi = 21
android.sdk = 24
android.ndk = 19b
android.gradle_dependencies = 'com.google.firebase:firebase-ads:10.2.0'
p4a.branch = master
android.meta_data = com.google.android.gms.ads.APPLICATION_ID=#here id of my app
我有代码:
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivmob import KivMob
class TestApp(App):
def build(self):
try:
fl = FloatLayout()
self.ads = KivMob('')#here my app
self.ads.add_test_device(here my id)
self.ads.new_banner('', top_pos=True)#here my banner
self.ads.request_banner()
self.ads.show_banner()
except Exception as error:
fl.add_widget(Label(text=str(error), font_size=(30)))
return fl
def on_resume(self):
self.ads.request_banner()
if __name__ == '__main__':
TestApp().run()
当我启动这个应用程序时,我看到黑屏,没有其他任何东西。我期待横幅。如何解决?希望大家帮帮我
更新:
如果我使用 TestIds.APP
和 TestIds.BANNER
它会工作并显示广告。为什么会这样?如何使用真正的横幅广告?
所以首先在buildozer.spec中的需求中添加android。 android.api = 28
是的,使用 TestIds 提供可在任何设备上显示的广告,因为它们是 google 的示例广告。
但是当您使用自己的广告单元时,您是从 admob 帐户创建的。 您必须在您的代码中提供您的测试设备 ID,以便识别 google 您正在测试您自己的广告。
在构建方法中使用 self.ads.add_test_device(YOUR_DEVICE_ID)。
你从哪里得到你的设备 ID 那么你必须在 logcat 输出中找到你的设备 ID。
希望对您有所帮助。
Kivmob 正在导入 jnius。因为它必须包含在规范文件要求中(你已经完成了)。但是你必须使用 pyjnius 而不是 jnius 在要求中。这可能对你有帮助。 但是 kivmob 也在使用 android 模块。我不知道如何将其放入要求中。所以可能会有一些问题。