问题描述
请帮助, 因此,为了在我的Kivy android应用程序中实现Unity ADS进行了艰苦的努力,在该应用程序崩溃之前,我仅在有限的时间内成功显示了ADS。
Java SDK的集成指南在此处(https://unityads.unity3d.com/help/android/integration-guide-android)。他们在这里提供以下示例:
import com.unity3d.ads.IUnityAdsListener;
import com.unity3d.ads.UnityAds;
public class ShowInterstitialAds extends AppCompatActivity implements View.OnClickListener,IUnityAdsListener {
private String unityGameID = "1234567";
private Boolean testMode = true;
private String placementId = "video";
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setContentView (R.layout.activity_main);
// Declare a new listener:
final UnityAdsListener myAdsListener = new UnityAdsListener ();
// Add the listener to the SDK:
UnityAds.addListener(myAdsListener);
// Initialize the SDK:
UnityAds.initialize (this,unityGameID,testMode);
}
// Implement a function to display an ad if the Placement is ready:
public void displayInterstitialAd () {
if (UnityAds.isReady (placementId)) {
UnityAds.show (this,placementId);
}
}
// Implement the IUnityAdsListener interface methods:
private class UnityAdsListener implements IUnityAdsListener {
@Override
public void onUnityAdsReady (String placementId) {
// Implement functionality for an ad being ready to show.
}
@Override
public void onUnityAdsstart (String placementId) {
// Implement functionality for a user starting to watch an ad.
}
@Override
public void onUnityAdsFinish (String placementId,UnityAds.FinishState finishState) {
// Implement functionality for a user finishing an ad.
}
@Override
public void onUnityAdsError (UnityAds.UnityAdsError error,String message) {
// Implement functionality for a Unity Ads service error occurring.
}
}
}
这是我的Python代码,在应用程序因各种不同的错误而崩溃之前,只能工作很短的时间:
#! /usr/bin/python
import re
import sys
import os
from android.runnable import run_on_ui_thread
from jnius import autoclass,PythonJavaClass,java_method,cast
from kivy.app import App
import logging
testmode = True
inter_id = "12839"
PythonActivity = autoclass("org.kivy.android.PythonActivity")
Unity_ads_listener = autoclass("com.unity3d.ads.IUnityAdsListener")
Unity_ads = autoclass("com.unity3d.ads.UnityAds")
class Unity_handler(App):
@run_on_ui_thread
def __init__(self,a_id):
self.app_id = a_id
@run_on_ui_thread
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)
@run_on_ui_thread
def show_ad(self,id_num):
#show interstial ads
#self.inter_id = id_num
if Unity_ads.isReady(inter_id):
try:
Unity_ads.show(self.c_activity,inter_id)
except:
fail=1
class UnityAdsListener(PythonJavaClass):
__javainterfaces__= ['com/unity3d/ads/IUnityAdsListener']
__javacontext__= 'app'
@java_method('(Ljava/lang/String;)V')
def onUnityAdsReady(self,inter_id):
pass
@java_method('(Ljava/lang/String;)V')
def onUnityAdsstart(self,inter_id):
pass
@java_method('(Ljava/lang/String;Lcom/unity3d/ads/UnityAds$FinishState;)V')
def onUnityAdsFinish(self,inter_id,un_f):
pass
@java_method('(Lcom/unity3d/ads/UnityAds$UnityAdsError;Ljava/lang/String;)V')
def onUnityAdsError(self,error,message):
pass
我在做错什么吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)