diff --git a/CHANGELOG.md b/CHANGELOG.md
index ec94a0f..aeff72c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.7.0 [2023-01-28]
+* [修复] iOS SDK 版本升级后不可用问题 #
+* 升级 iOS SDK 到 `v5.0.0.5`
+* 升级 Android SDK 到 Pro 版 `v5.1.0.2`
## 2.6.1 [2022-09-06]
* [修复] iOS 开屏广告点击后不跳转的问题
* [修复] Android 激励视频通知两次激励的问题
diff --git a/README.md b/README.md
index da0cc59..1b50810 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
一款优质的 Flutter 广告插件(字节跳动、巨量引擎、穿山甲)
-
+
@@ -40,7 +40,7 @@
``` Dart
dependencies:
- flutter_pangle_ads: ^2.6.1
+ flutter_pangle_ads: ^2.7.0
```
### 初始化广告
@@ -51,6 +51,13 @@ import 'package:flutter_pangle_ads/flutter_pangle_ads.dart';
FlutterPangleAds.initAd(appId);
```
+### 个性化广告开关
+
+```dart
+/// 不调用默认为开,'1'打开,'0'关闭
+FlutterPangleAds.setUserExtData(personalAdsType: '1');
+```
+
### 开屏广告
- 全屏
diff --git a/android/build.gradle b/android/build.gradle
index 41939fb..b885551 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -39,6 +39,6 @@ dependencies {
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
// 广告 SDK
- implementation 'com.pangle.cn:ads-sdk-pro:4.7.1.2'
+ implementation 'com.pangle.cn:ads-sdk-pro:5.1.0.2'
// compileOnly fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
}
diff --git a/android/src/main/java/com/zero/flutter_pangle_ads/PluginDelegate.java b/android/src/main/java/com/zero/flutter_pangle_ads/PluginDelegate.java
index 1451853..71b5267 100644
--- a/android/src/main/java/com/zero/flutter_pangle_ads/PluginDelegate.java
+++ b/android/src/main/java/com/zero/flutter_pangle_ads/PluginDelegate.java
@@ -12,11 +12,13 @@
import com.zero.flutter_pangle_ads.load.FeedAdManager;
import com.zero.flutter_pangle_ads.page.AdSplashActivity;
import com.zero.flutter_pangle_ads.page.FullScreenVideoPage;
-import com.zero.flutter_pangle_ads.page.InterstitialPage;
import com.zero.flutter_pangle_ads.page.NativeViewFactory;
import com.zero.flutter_pangle_ads.page.RewardVideoPage;
import com.zero.flutter_pangle_ads.utils.DataUtils;
+import org.json.JSONArray;
+import org.json.JSONObject;
+
import java.util.ArrayList;
import java.util.List;
@@ -83,8 +85,6 @@ public void onMethodCall(@NonNull MethodCall call, @NonNull MethodChannel.Result
initAd(call, result);
} else if ("showSplashAd".equals(method)) {
showSplashAd(call, result);
- } else if ("showInterstitialAd".equals(method)) {
- showInterstitialAd(call, result);
} else if ("showRewardVideoAd".equals(method)) {
showRewardVideoAd(call, result);
} else if ("showFullScreenVideoAd".equals(method)) {
@@ -93,6 +93,8 @@ public void onMethodCall(@NonNull MethodCall call, @NonNull MethodChannel.Result
loadFeedAd(call, result);
} else if ("clearFeedAd".equals(method)) {
clearFeedAd(call, result);
+ } else if ("setUserExtData".equals(method)) {
+ setUserExtData(call, result);
} else {
result.notImplemented();
}
@@ -229,18 +231,6 @@ public void showSplashAd(MethodCall call, MethodChannel.Result result) {
result.success(true);
}
- /**
- * 显示插屏广告
- *
- * @param call MethodCall
- * @param result Result
- */
- public void showInterstitialAd(MethodCall call, MethodChannel.Result result) {
- InterstitialPage adPage = new InterstitialPage();
- adPage.showAd(activity, call);
- result.success(true);
- }
-
/**
* 显示激励视频广告
*
@@ -292,4 +282,31 @@ public void clearFeedAd(MethodCall call, MethodChannel.Result result) {
result.success(true);
}
+
+ /**
+ * 个性化推荐广告开关
+ *
+ * @param call MethodCall
+ * @param result Result
+ */
+ public void setUserExtData(MethodCall call, MethodChannel.Result result) {
+ try {
+ String personalTypeValue = call.argument("personalAdsType");
+
+ JSONArray jsonArray = new JSONArray();
+ JSONObject personalObject = new JSONObject();
+ personalObject.put("name", "personal_ads_type");
+ personalObject.put("value", personalTypeValue);
+ jsonArray.put(personalObject);
+
+ TTAdConfig ttAdConfig = new TTAdConfig.Builder()
+ .data(jsonArray.toString())
+ .build();
+ TTAdSdk.updateAdConfig(ttAdConfig);
+ result.success(true);
+ } catch (Exception e) {
+ e.printStackTrace();
+ result.success(false);
+ }
+ }
}
diff --git a/android/src/main/java/com/zero/flutter_pangle_ads/page/InterstitialPage.java b/android/src/main/java/com/zero/flutter_pangle_ads/page/InterstitialPage.java
deleted file mode 100644
index ccb2fd9..0000000
--- a/android/src/main/java/com/zero/flutter_pangle_ads/page/InterstitialPage.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package com.zero.flutter_pangle_ads.page;
-
-import android.util.Log;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-
-import com.bytedance.sdk.openadsdk.AdSlot;
-import com.bytedance.sdk.openadsdk.TTAdNative;
-import com.bytedance.sdk.openadsdk.TTNativeExpressAd;
-import com.zero.flutter_pangle_ads.event.AdEventAction;
-
-import java.util.List;
-
-import io.flutter.plugin.common.MethodCall;
-
-/**
- * 插屏广告
- */
-public class InterstitialPage extends BaseAdPage implements TTAdNative.NativeExpressAdListener, TTNativeExpressAd.AdInteractionListener {
- private final String TAG = InterstitialPage.class.getSimpleName();
- // 渲染广告对象
- TTNativeExpressAd iad;
-
- @Override
- public void loadAd(@NonNull MethodCall call) {
- int expressViewWidth = call.argument("width");
- int expressViewHeight = call.argument("height");
- adSlot = new AdSlot.Builder()
- .setCodeId(posId)
- .setExpressViewAcceptedSize(expressViewWidth, expressViewHeight)
- .build();
- ad.loadInteractionExpressAd(adSlot, this);
- }
-
- @Override
- public void onError(int i, String s) {
- Log.e(TAG, "onError code:" + i + " msg:" + s);
- sendErrorEvent(i, s);
- }
-
- @Override
- public void onNativeExpressAdLoad(List list) {
- Log.i(TAG, "onRenderSuccess");
- if (list == null || list.size() == 0) {
- return;
- }
- iad = list.get(0);
- iad.setExpressInteractionListener(this);
- iad.render();
- // 添加广告事件
- sendEvent(AdEventAction.onAdLoaded);
- }
-
-
- @Override
- public void onAdClicked(View view, int i) {
- Log.i(TAG, "onAdClicked");
- // 添加广告事件
- sendEvent(AdEventAction.onAdClicked);
- }
-
- @Override
- public void onAdShow(View view, int i) {
- Log.i(TAG, "onAdShow");
- // 添加广告事件
- sendEvent(AdEventAction.onAdExposure);
- }
-
- @Override
- public void onRenderFail(View view, String s, int i) {
- Log.e(TAG, "onRenderFail code:" + i + " msg:" + s);
- // 添加广告错误事件
- sendErrorEvent(i, s);
- }
-
- @Override
- public void onRenderSuccess(View view, float v, float v1) {
- Log.i(TAG, "onRenderSuccess");
- if (iad != null && activity != null) {
- iad.showInteractionExpressAd(activity);
- // 添加广告事件
- sendEvent(AdEventAction.onAdPresent);
- }
- }
-
- @Override
- public void onAdDismiss() {
- Log.i(TAG, "onAdDismiss");
- // 添加广告事件
- sendEvent(AdEventAction.onAdClosed);
- iad = null;
- }
-}
\ No newline at end of file
diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle
index 3ce82b9..1de8e24 100644
--- a/example/android/app/build.gradle
+++ b/example/android/app/build.gradle
@@ -52,6 +52,6 @@ flutter {
dependencies {
// 广告 SDK
-// implementation 'com.pangle.cn:ads-sdk-pro:4.7.0.8'
+// implementation 'com.pangle.cn:ads-sdk-pro:5.1.0.2'
// implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
}
diff --git a/example/ios/Podfile b/example/ios/Podfile
index f7d6a5e..bfd60c4 100644
--- a/example/ios/Podfile
+++ b/example/ios/Podfile
@@ -1,5 +1,5 @@
# Uncomment this line to define a global platform for your project
-# platform :ios, '9.0'
+platform :ios, '11.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
diff --git a/example/lib/ads_config.dart b/example/lib/ads_config.dart
index 77672ae..79c5c11 100644
--- a/example/lib/ads_config.dart
+++ b/example/lib/ads_config.dart
@@ -26,9 +26,6 @@ class AdsConfig {
/// 获取开屏广告位id
static String get splashId => '887870893';
- /// 获取插屏广告位id
- static String get interstitialId => '949641653';
-
/// 获取新插屏广告位id
static String get newInterstitialId => '949641653';
diff --git a/example/lib/home_page.dart b/example/lib/home_page.dart
index 05ca97a..56a5742 100644
--- a/example/lib/home_page.dart
+++ b/example/lib/home_page.dart
@@ -137,20 +137,6 @@ class _HomePageState extends State {
height: 50,
autoClose: false,
),
- SizedBox(height: 20),
- ElevatedButton(
- child: Text('展示全屏视频广告(已过时)'),
- onPressed: () {
- showFullScreenVideoAd(AdsConfig.fullScreenVideoId);
- },
- ),
- SizedBox(height: 20),
- ElevatedButton(
- child: Text('展示插屏广告(已过时)'),
- onPressed: () {
- showInterstitialAd();
- },
- ),
],
),
),
@@ -170,6 +156,10 @@ class _HomePageState extends State {
],
);
_result = "广告SDK 初始化${result ? '成功' : '失败'}";
+
+ // 打开个性化广告推荐
+ FlutterPangleAds.setUserExtData(personalAdsType: '1');
+
setState(() {});
return result;
} on PlatformException catch (e) {
@@ -234,21 +224,6 @@ class _HomePageState extends State {
}
}
- /// 展示插屏广告
- Future showInterstitialAd() async {
- try {
- bool result = await FlutterPangleAds.showInterstitialAd(
- AdsConfig.interstitialId,
- width: 300,
- height: 300,
- );
- _result = "展示插屏广告${result ? '成功' : '失败'}";
- } on PlatformException catch (e) {
- _result = "展示插屏广告失败 code:${e.code} msg:${e.message} details:${e.details}";
- }
- setState(() {});
- }
-
/// 展示激励视频广告
Future showRewardVideoAd() async {
try {
diff --git a/example/pubspec.yaml b/example/pubspec.yaml
index c5312f5..d15198d 100644
--- a/example/pubspec.yaml
+++ b/example/pubspec.yaml
@@ -4,7 +4,7 @@ description: FlutterAds 穿山甲广告 SDK 插件示例
# The following line prevents the package from being accidentally published to
# pub.dev using `pub publish`. This is preferred for private packages.
publish_to: "none" # Remove this line if you wish to publish to pub.dev
-version: 2.6.1+16
+version: 2.7.0+18
environment:
sdk: ">=2.12.0 <3.0.0"
diff --git a/ios/Classes/FlutterPangleAdsPlugin.h b/ios/Classes/FlutterPangleAdsPlugin.h
index 33ad35b..8dfd7d5 100644
--- a/ios/Classes/FlutterPangleAdsPlugin.h
+++ b/ios/Classes/FlutterPangleAdsPlugin.h
@@ -1,7 +1,6 @@
#import
#import
#import "SplashPage.h"
-#import "InterstitialPage.h"
#import "RewardVideoPage.h"
#import "FullScreenVideoPage.h"
#import "FeedAdLoad.h"
@@ -10,7 +9,6 @@
@interface FlutterPangleAdsPlugin : NSObject
@property (strong,nonatomic) FlutterEventSink eventSink;
@property (strong, nonatomic) SplashPage *sad;
-@property (strong, nonatomic) InterstitialPage *iad;
@property (strong, nonatomic) RewardVideoPage *rvad;
@property (strong,nonatomic) FullScreenVideoPage *fsad;
@property (strong,nonatomic) FeedAdLoad *fad;
diff --git a/ios/Classes/FlutterPangleAdsPlugin.m b/ios/Classes/FlutterPangleAdsPlugin.m
index 3a21d00..2be308c 100644
--- a/ios/Classes/FlutterPangleAdsPlugin.m
+++ b/ios/Classes/FlutterPangleAdsPlugin.m
@@ -36,8 +36,6 @@ - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result {
[self initAd:call result:result];
}else if([@"showSplashAd" isEqualToString:methodStr]) {
[self showSplashAd:call result:result];
- }else if ([@"showInterstitialAd" isEqualToString:methodStr]){
- [self showInterstitialAd:call result:result];
}else if ([@"showRewardVideoAd" isEqualToString:methodStr]){
[self showRewardVideoAd:call result:result];
}else if ([@"showFullScreenVideoAd" isEqualToString:methodStr]){
@@ -46,6 +44,8 @@ - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result {
[self loadFeedAd:call result:result];
}else if ([@"clearFeedAd" isEqualToString:methodStr]){
[self clearFeedAd:call result:result];
+ }else if ([@"setUserExtData" isEqualToString:methodStr]){
+ [self setUserExtData:call];
}else {
result(FlutterMethodNotImplemented);
}
@@ -82,13 +82,6 @@ - (void) showSplashAd:(FlutterMethodCall*) call result:(FlutterResult) result{
result(@(YES));
}
-// 显示插屏广告
-- (void) showInterstitialAd:(FlutterMethodCall*) call result:(FlutterResult) result{
- self.iad=[[InterstitialPage alloc] init];
- [self.iad showAd:call eventSink:self.eventSink];
- result(@(YES));
-}
-
// 显示激励视频广告
- (void) showRewardVideoAd:(FlutterMethodCall*) call result:(FlutterResult) result{
self.rvad=[[RewardVideoPage alloc] init];
@@ -117,6 +110,17 @@ - (void) clearFeedAd:(FlutterMethodCall*) call result:(FlutterResult) result{
result(@(YES));
}
+// 设置个性化推荐
+// personalAdsType: String
+// 不传或传空或传非01值没任何影响,默认不屏蔽
+// 0,屏蔽个性化推荐广告;
+// 1,不屏蔽个性化推荐广告
+- (void) setUserExtData:(FlutterMethodCall*) call{
+ NSString *personalAdsType = call.arguments[@"personalAdsType"];
+ NSString *data = [NSString stringWithFormat:@"[{\"name\":\"personal_ads_type\",\"value\":\"%@\"}]", personalAdsType];
+ [BUAdSDKManager setUserExtData: data];
+}
+
#pragma mark - FlutterStreamHandler
- (FlutterError * _Nullable)onCancelWithArguments:(id _Nullable)arguments {
self.eventSink=nil;
diff --git a/ios/Classes/Page/InterstitialPage.h b/ios/Classes/Page/InterstitialPage.h
deleted file mode 100644
index 3f6a521..0000000
--- a/ios/Classes/Page/InterstitialPage.h
+++ /dev/null
@@ -1,13 +0,0 @@
-//
-// InterstitialPage.h
-// flutter_pangle_ads
-//
-// Created by zero on 2021/8/18.
-//
-
-#import "BaseAdPage.h"
-
-// 插屏广告
-@interface InterstitialPage : BaseAdPage
-@property (nonatomic, strong) BUNativeExpressInterstitialAd *iad;
-@end
diff --git a/ios/Classes/Page/InterstitialPage.m b/ios/Classes/Page/InterstitialPage.m
deleted file mode 100644
index edefa4d..0000000
--- a/ios/Classes/Page/InterstitialPage.m
+++ /dev/null
@@ -1,82 +0,0 @@
-//
-// InterstitialPage.m
-// flutter_pangle_ads
-//
-// Created by zero on 2021/8/18.
-//
-
-#import "InterstitialPage.h"
-
-@implementation InterstitialPage
-
-- (void)dealloc
-{
- NSLog(@"InterstitialPage dealloc");
-}
-// 加载广告
-- (void)loadAd:(FlutterMethodCall *)call{
- int width = [call.arguments[@"width"] intValue];
- int height = [call.arguments[@"height"] intValue];
-
- self.iad=[[BUNativeExpressInterstitialAd alloc] initWithSlotID:self.posId adSize:CGSizeMake(width, height)];
- self.iad.delegate=self;
- [self.iad loadAdData];
-}
-
-#pragma mark - BUNativeExpresInterstitialAdDelegate
-
-- (void)nativeExpresInterstitialAdDidLoad:(BUNativeExpressInterstitialAd *)interstitialAd {
- NSLog(@"%s",__FUNCTION__);
- // 发送广告事件
- [self sendEventAction:onAdLoaded];
-}
-
-- (void)nativeExpresInterstitialAd:(BUNativeExpressInterstitialAd *)interstitialAd didFailWithError:(NSError *)error {
- NSLog(@"%s",__FUNCTION__);
- // 发送广告错误事件
- [self sendErrorEvent:error.code withErrMsg:error.localizedDescription];
-}
-
-- (void)nativeExpresInterstitialAdRenderSuccess:(BUNativeExpressInterstitialAd *)interstitialAd {
- NSLog(@"%s",__FUNCTION__);
- if(self.iad){
- [self.iad showAdFromRootViewController:self.rootController];
- }
- // 发送广告事件
- [self sendEventAction:onAdPresent];
-}
-
-- (void)nativeExpresInterstitialAdRenderFail:(BUNativeExpressInterstitialAd *)interstitialAd error:(NSError *)error {
- NSLog(@"%s",__FUNCTION__);
- // 发送广告错误事件
- [self sendErrorEvent:error.code withErrMsg:error.localizedDescription];
-}
-
-- (void)nativeExpresInterstitialAdWillVisible:(BUNativeExpressInterstitialAd *)interstitialAd {
- NSLog(@"%s",__FUNCTION__);
- // 发送广告事件
- [self sendEventAction:onAdExposure];
-}
-
-- (void)nativeExpresInterstitialAdDidClick:(BUNativeExpressInterstitialAd *)interstitialAd {
- NSLog(@"%s",__FUNCTION__);
- // 发送广告事件
- [self sendEventAction:onAdClicked];
-}
-
-- (void)nativeExpresInterstitialAdWillClose:(BUNativeExpressInterstitialAd *)interstitialAd {
- NSLog(@"%s",__FUNCTION__);
- // 发送广告事件
- [self sendEventAction:onAdClosed];
-}
-
-- (void)nativeExpresInterstitialAdDidClose:(BUNativeExpressInterstitialAd *)interstitialAd {
- NSLog(@"%s",__FUNCTION__);
- self.iad = nil;
-}
-
-- (void)nativeExpresInterstitialAdDidCloseOtherController:(BUNativeExpressInterstitialAd *)interstitialAd interactionType:(BUInteractionType)interactionType {
- NSLog(@"%s",__FUNCTION__);
-}
-
-@end
diff --git a/ios/Classes/Page/SplashViewController.m b/ios/Classes/Page/SplashViewController.m
index 5548012..6bf8f4d 100644
--- a/ios/Classes/Page/SplashViewController.m
+++ b/ios/Classes/Page/SplashViewController.m
@@ -36,7 +36,6 @@ - (void)viewDidLoad {
// 广告区域大小
CGSize adSize = CGSizeMake(width,adHeight);
// 广告数据构建
-
self.splashAd=[[BUSplashAd alloc] initWithSlotID:self.posId adSize:adSize];
self.splashAd.tolerateTimeout=self.timeout;
self.splashAd.delegate=self;
diff --git a/ios/flutter_pangle_ads.podspec b/ios/flutter_pangle_ads.podspec
index 36fd70e..79db7e1 100644
--- a/ios/flutter_pangle_ads.podspec
+++ b/ios/flutter_pangle_ads.podspec
@@ -4,7 +4,7 @@
#
Pod::Spec.new do |s|
s.name = 'flutter_pangle_ads'
- s.version = '2.6.1'
+ s.version = '2.7.0'
s.summary = '一款优质的 Flutter 广告插件(字节跳动、穿山甲)'
s.description = <<-DESC
FlutterAds 致力于构建优质的 Flutter 广告插件
@@ -16,7 +16,7 @@ FlutterAds 致力于构建优质的 Flutter 广告插件
s.source_files = 'Classes/**/*'
s.public_header_files = 'Classes/**/*.h'
s.dependency 'Flutter'
- s.dependency 'Ads-CN', '>=4.7.0.8' #SDK版本 >=3.4.0.0
+ s.dependency 'Ads-CN', '>=5.0.0.5' #SDK版本 >=5.0.0.5
s.platform = :ios, '9.0'
s.static_framework = true
diff --git a/lib/flutter_pangle_ads.dart b/lib/flutter_pangle_ads.dart
index 0599a80..78be935 100644
--- a/lib/flutter_pangle_ads.dart
+++ b/lib/flutter_pangle_ads.dart
@@ -81,26 +81,6 @@ class FlutterPangleAds {
return result;
}
- /// 展示插屏广告
- /// [posId] 广告位 id
- /// [width] 请求模板广告素材的尺寸宽度(对应 expressViewWidth 参数)
- /// [height] 请求模板广告素材的尺寸高度(对应 expressViewWidth 参数)
- static Future showInterstitialAd(
- String posId, {
- int width = 300,
- int height = 300,
- }) async {
- final bool result = await _methodChannel.invokeMethod(
- 'showInterstitialAd',
- {
- 'posId': posId,
- 'width': width,
- 'height': height,
- },
- );
- return result;
- }
-
/// 展示激励视频广告
/// [posId] 广告位 id
/// [customData] 设置服务端验证的自定义信息
@@ -172,4 +152,15 @@ class FlutterPangleAds {
hanleAdEvent(data, onAdEventListener);
});
}
+
+ /// 设置个性化推荐
+ /// @params personalAdsType,不传或传空或传非01值没任何影响,默认不屏蔽, 0屏蔽个性化推荐广告, 1不屏蔽个性化推荐广告
+ static setUserExtData({required String personalAdsType}) async {
+ await _methodChannel.invokeMethod(
+ 'setUserExtData',
+ {
+ 'personalAdsType': personalAdsType,
+ },
+ );
+ }
}
diff --git a/pubspec.yaml b/pubspec.yaml
index e5d7810..8a09879 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,6 +1,6 @@
name: flutter_pangle_ads
description: 一款优质的 Flutter 广告插件(字节跳动、穿山甲)
-version: 2.6.1
+version: 2.7.0
homepage: https://github.com/FlutterAds
environment:
diff --git a/test/ads_config.dart b/test/ads_config.dart
index 7a87848..79c5c11 100644
--- a/test/ads_config.dart
+++ b/test/ads_config.dart
@@ -21,17 +21,51 @@ class AdsConfig {
}
/// 获取 App id
- static String get appId => '5195673';
+ static String get appId => '5324024';
/// 获取开屏广告位id
- static String get splashId => '887516177';
-
- /// 获取插屏广告位id
- static String get interstitialId => '946584889';
+ static String get splashId => '887870893';
/// 获取新插屏广告位id
- static String get newInterstitialId => '946584893';
+ static String get newInterstitialId => '949641653';
+
+ /// 获取新插屏(半屏)广告位id
+ static String get newInterstitialId2 => '949641665';
/// 获取激励视频广告位id
- static String get rewardVideoId => '946584890';
+ static String get rewardVideoId => '949641706';
+
+ /// 获取进阶激励视频广告位id
+ static String get rewardInteractVideoId => '949641720';
+
+ /// 获取全屏视频广告位id
+ static String get fullScreenVideoId => '946593099';
+
+ /// 获取 Banner 广告位id
+ static String get bannerId => '949641731';
+
+ /// 获取 Banner 广告位id 01
+ static String get bannerId01 => '949641733';
+
+ /// 获取 Banner 广告位id 02
+ static String get bannerId02 => '949641736';
+
+ /// 获取 Feed 信息流列表
+ static List get feedIdList =>
+ [feedId01, feedId02, feedId03, feedId04, feedId05];
+
+ /// 获取 Feed 信息流广告位id(左右图文 2.4)
+ static String get feedId01 => '949641744';
+
+ /// 获取 Feed 信息流广告位id(上下文图0.9)
+ static String get feedId02 => '949641747';
+
+ /// 获取 Feed 信息流广告位id(三图2)
+ static String get feedId03 => '949641752';
+
+ /// 获取 Feed 信息流广告位id(文字悬浮1)
+ static String get feedId04 => '949641755';
+
+ /// 获取 Feed 信息流广告位id(竖版0.5)
+ static String get feedId05 => '949641756';
}
diff --git a/test/flutter_pangle_ads_test.dart b/test/flutter_pangle_ads_test.dart
index 00fbd70..ef20eb0 100644
--- a/test/flutter_pangle_ads_test.dart
+++ b/test/flutter_pangle_ads_test.dart
@@ -1,6 +1,6 @@
import 'package:flutter/services.dart';
-import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_pangle_ads/flutter_pangle_ads.dart';
+import 'package:flutter_test/flutter_test.dart';
import 'ads_config.dart';
@@ -16,7 +16,7 @@ void main() {
return true;
} else if (method == 'showSplashAd') {
return true;
- } else if (method == 'showInterstitialAd') {
+ } else if (method == 'showFullScreenVideoAd') {
return true;
} else if (method == 'showRewardVideoAd') {
return true;
@@ -56,16 +56,14 @@ void main() {
);
});
- test('showInterstitialAd', () async {
+ test('showFullScreenVideoAd', () async {
expect(
- await FlutterPangleAds.showInterstitialAd(AdsConfig.interstitialId),
+ await FlutterPangleAds.showFullScreenVideoAd(AdsConfig.newInterstitialId),
true,
);
expect(
- await FlutterPangleAds.showInterstitialAd(
- AdsConfig.interstitialId,
- width: 600,
- height: 600,
+ await FlutterPangleAds.showFullScreenVideoAd(
+ AdsConfig.newInterstitialId2,
),
true,
);
@@ -78,7 +76,7 @@ void main() {
);
expect(
await FlutterPangleAds.showRewardVideoAd(
- AdsConfig.interstitialId,
+ AdsConfig.rewardVideoId,
customData: 'FlutterAds',
userId: '1024',
),