- Home /
Unity ads successfully integrated in Python Kivy app, but crashes after 10 displays, help needed.
My app now displays Unity's own ads, but it crashes quite quickly after display a few interstitial ads. Am I missing something(below is my Python code):
import re
import sys
import os
from jnius import autoclass, PythonJavaClass, java_method, cast
from kivy.app import App
import logging
testmode = True
PythonActivity = autoclass("org.kivy.android.PythonActivity")
Unity_ads_listener = autoclass("com.unity3d.ads.IUnityAdsListener")
Unity_ads = autoclass("com.unity3d.ads.UnityAds")
class Unity_handler:
def __init__(self, a_id):
self.app_id = a_id
def init_unity(self):
new_ad_listener = UnityAdsListener()
Unity_ads.addListener(new_ad_listener)
self.c_activity = cast('android.app.Activity',PythonActivity.mActivity)
Unity_ads.initialize(self.c_activity,self.app_id,testmode)
def show_ad(self, id_num):
#show interstial ads
self.inter_id = id_num
if Unity_ads.isReady(self.inter_id):
try:
Unity_ads.show(self.c_activity, self.inter_id)
except:
fail=1
class UnityAdsListener(PythonJavaClass):
__javacontext__= 'app'
__javainterfaces__= ['com/unity3d/ads/IUnityAdsListener']
#def __init__(self):
# super(IUnityAdsListener, self).__init__()
# #self.callback = callback
@java_method('(Ljava/lang/String;)V')
def onUnityAdsReady(inter_id):
pass
@java_method('(Ljava/lang/String;)V')
def onUnityAdsStart(inter_id):
pass
@java_method('(Ljava/lang/String;Ljava/lang/String;)V')
def onUnityAdsFinish(inter_id,un_f):
pass
@java_method('(Lcom/unity3d/ads/UnityAds$UnityAdsError;Ljava/lang/String;)V')
def onUnityAdsError(self,error, message):
pass
Comment