Saj*_*ard 4 java android callback dart flutter
我正在开发一个 flutter 应用程序,需要一些本机 Android 代码的帮助。更具体地说,我想集成一个名为“IronSource”的广告网络来在我的应用程序中提供广告服务。但目前他们没有提供flutter的库,所以我用java语言编写了所需的代码并进行了平台调用来展示广告。广告显示成功,但我在如何监听他们提供的回调方法方面遇到问题。
我将发布到目前为止我所尝试过的内容。
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();
}
}
});
Run Code Online (Sandbox Code Playgroud)
上述方法将监听频道并加载广告。但是,这些是本机库中可用的一些回调方法:
public void onInterstitialAdLoadFailed
public void onInterstitialAdOpened()
public void onInterstitialAdClosed()
public void onInterstitialAdShowSucceeded()
Run Code Online (Sandbox Code Playgroud)
等等...
现在我不明白如何在flutter中访问这些方法并编写自己的代码。
任何想法/建议将不胜感激。
谢谢
您可以Integer为onInterstitialAdLoadFailed\xe3\x80\x81 onInterstitialAdOpened\xe3\x80\x81 onInterstitialAdClosed\xe3\x80\x81定义一些值onInterstitialAdShowSucceeded并调用Result.onSuccess(Object)这些回调方法。这是示例代码:
原生部分:
\n\nResult mResult;\nnew MethodChannel(getFlutterView(), CHANNEL).setMethodCallHandler(\n new MethodCallHandler() {\n @Override\n public void onMethodCall(MethodCall call, Result result) {\n if (call.method.equals("loadInterstitialAd")) {\n IronSource.loadInterstitial();\n mResult = result;//save the result\n } else {\n result.notImplemented();\n }\n }\n });\n\n public void onInterstitialAdLoadFailed(){\n mResult.success(0);\n }\n public void onInterstitialAdOpened(){\n mResult.success(1);\n }\n public void onInterstitialAdClosed(){\n mResult.success(2);\n }\n public void onInterstitialAdShowSucceeded(){\n mResult.success(3);\n }\nRun Code Online (Sandbox Code Playgroud)\n\n颤动部分:
\n\nint resultCode = await loadAds();\nif(resultCode == 0){ ... }\nelse if(resultCode == 1){ ... }\nelse if(resultCode == 2){ ... }\nelse if(resultCode == 3){ ... }\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
3626 次 |
| 最近记录: |