Java 颤振本机android回调
我正在开发一个flutter应用程序,它需要一些本地Android代码的帮助。更具体地说,我想集成一个名为“IronSource”的广告网络,在我的应用程序中提供广告服务。但目前他们没有为flatter提供库,所以我用java语言编写了所需的代码,并进行了平台调用以显示广告。广告显示成功,但我在如何听取他们提供的回调方法方面遇到了问题 我将发布我迄今为止尝试过的内容Java 颤振本机android回调,java,android,dart,callback,flutter,Java,Android,Dart,Callback,Flutter,我正在开发一个flutter应用程序,它需要一些本地Android代码的帮助。更具体地说,我想集成一个名为“IronSource”的广告网络,在我的应用程序中提供广告服务。但目前他们没有为flatter提供库,所以我用java语言编写了所需的代码,并进行了平台调用以显示广告。广告显示成功,但我在如何听取他们提供的回调方法方面遇到了问题 我将发布我迄今为止尝试过的内容 new MethodChannel(getFlutterView(), CHANNEL).setMethodCallHandler
new MethodChannel(getFlutterView(), CHANNEL).setMethodCallHandler(
new MethodCallHandler() {
@Override
public void onMethodCall(MethodCall call, Result result) {
if (call.method.equals("loadInterstitialAd")) {
IronSource.loadInterstitial();
} else {
result.notImplemented();
}
}
});
上述方法将侦听频道并加载ad。但是,本机库中提供了一些回调方法:
public void onInterstitialAdLoadFailed
public void onInterstitialAdOpened()
public void onInterstitialAdClosed()
public void onInterstitialAdShowSucceeded()
等等
现在我不明白如何在flatter中访问这些方法并编写自己的代码
如有任何想法/建议,将不胜感激。感谢您可以为
OnInterstitalAdLoadFailed
、OnInterstitalAdOpened
、OnInterstitalAdClosed
、OnInterstitalAdShowSuccessed
定义一些整数值,并在这些回调方法中调用Result.onSuccess(Object)
。以下是示例代码:
本地部分:
Result mResult;
new MethodChannel(getFlutterView(), CHANNEL).setMethodCallHandler(
new MethodCallHandler() {
@Override
public void onMethodCall(MethodCall call, Result result) {
if (call.method.equals("loadInterstitialAd")) {
IronSource.loadInterstitial();
mResult = result;//save the result
} else {
result.notImplemented();
}
}
});
public void onInterstitialAdLoadFailed(){
mResult.success(0);
}
public void onInterstitialAdOpened(){
mResult.success(1);
}
public void onInterstitialAdClosed(){
mResult.success(2);
}
public void onInterstitialAdShowSucceeded(){
mResult.success(3);
}
颤振部分:
int resultCode = await loadAds();
if(resultCode == 0){ ... }
else if(resultCode == 1){ ... }
else if(resultCode == 2){ ... }
else if(resultCode == 3){ ... }
无法声明结果mResult的可能重复,它是一个接口