问题描述
我正在尝试使用Pyjnius在我的Kivy应用程序中集成Unity广告的Java代码,但是由于我不熟悉Java(我打算在不久的将来学习),所以遇到了一些困难。这是Unity ADS自己的SDK Java示例:
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中管理的内容:
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,application_id,test_m):
self.app_id = application_id
self.test_mode = test_m
def init_unity(self):
testmode=True
new_ad_listener = UnityAdsListener()
Unity_ads.addListener(new_ad_listener)
Unity_ads.initialize(self,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):
Unity_ads.show(self,self.inter_id)
#####################################################################################################################################
class UnityAdsListener(PythonJavaClass):
__javainterfaces__= ['com/unity3d/ads/IUnityAdsListener']
def __init__(self):
super(UnityAdsListener,self).__init__()
#self.callback = callback
@java_method('Ljava/lang/String;')
def onUnityAdsReady(self,inter_id):
pass
@java_method('Ljava/lang/String;')
def onUnityAdsstart(self,inter_id):
pass
@java_method('Ljava/lang/String;(Ljava/lang/String;)')
def onUnityAdsFinish(self,inter_id,un_f):
pass
@java_method('(Ljava/lang/String;)Ljava/lang/String;')
def onUnityAdsError(self,error,message):
pass
任何帮助将不胜感激
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)