create static method
Implementation
static Future<FlutterBaseBannerRefined> create(
{required String channelNm, required String zoneId}) async {
var newInstance = FlutterBaseBannerRefined._internal(channelNm, zoneId);
var handler = SingletonBannerCallbackHandler();
handler.channelName = channelNm;
handler.onLoadAdCallbacks[newInstance.key] = (adInfo) {
if(adInfo != null) {
final width = adInfo.loadedBannerAdSize!.width;
final height = adInfo.loadedBannerAdSize!.height;
newInstance._setLastLoadedNetworkName(adInfo.adNetworkName);
newInstance._setBannerSize(width, height);
}
if (newInstance.onLoadAdCallback != null) {
newInstance.onLoadAdCallback!(adInfo);
}
};
handler.onFailAdCallbacks[newInstance.key] = (error) {
if (newInstance.onFailAdCallback != null) {
newInstance.onFailAdCallback!(error);
}
};
handler.onClickAdCallbacks[newInstance.key] = (adInfo) {
if (newInstance.onClickAdCallback != null) {
newInstance.onClickAdCallback!(adInfo);
}
};
handler.onRefreshPlatformViewCallbacks[newInstance.key] = () {
if (newInstance._onRefreshPlatformViewCallback != null) {
newInstance._onRefreshPlatformViewCallback!();
}
};
await handler.methodChannel!.invokeMethod("makeAdView", {
"key": newInstance.key,
"zoneId": newInstance.zoneId,
});
return newInstance;
}