短剧

短剧

  • 短剧是单独的模块,需要按照下面方式引入
dependencies:
  zj_playlet_plugin: ^x.x.x
  • 新增注册方法通道,在程序入口需要添加此方法
// 新增注册方法通道
ZjPlayletPlugin.registerMethodChannel();
  • 初始化方法,在加载广告之前需要调用此方法
ZjPlayletPlugin.registerAppId(
    "媒体ID",
    onCallback: (result, msg) {
        print('------初始化结果$result, 初始化消息$msg');
    },
);
  • 获取SDK版本号信息
ZjPlayletPlugin.getSDKVersion(onCallback: (version) {
    print('====>>>>>$version');
});

短剧广告调用,原生加载方式

  • 短剧的加载
// 引入文件
import 'package:zj_playlet_plugin/zj_playlet_plugin.dart';

// 短剧的加载
ZjPlayletPlugin.loadPlayletAd(
    "广告位ID",
    "申请的XXX.json文件",
    1, // 代表免费观看的集数
    2, // 广告解锁集数
    hideLikeIcon: false, // 是否隐藏喜欢按钮,true代表隐藏,false代表不隐藏
    hideCollectIcon: false, // 是否隐藏收藏按钮,true代表隐藏,false代表不隐藏
    disableDoubleClickLike: false, // 是否禁用双击手势,true代表禁用,false代表不禁用
    disableLongPressSpeed: true, // 是否禁用长按手势,true代表禁用,false代表不禁用
    // 下面adType和posId代表设置自己的激励广告,如果不设置,短剧会加载默认广告,adType的值1代表激励,0代表插屏
    // adType: 1,
    // posId: "激励广告位",
    onCallback: (type, msg) { // type代表事件名,msg代表参数
    switch (type) {
        case "PlayletLoadSuccess":
        print("短剧加载成功PlayletLoadSuccess");
        break;
        case "PlayletLoadFailure":
        print("短剧加载失败PlayletLoadFailure");
        break;
        case "VideoDidStartPlay":
        print("视频开始播放");
        break;
        case "VideoDidPause":
        print("视频暂停播放");
        break;
        case "VideoDidResume":
        print("视频恢复播放");
        break;
        case "VideoDidEndPlay":
        print("视频停止播放");
        break;
        case "ShortplayPlayletDetailUnlockFlowStart":
        print("解锁流程开始");
        break;
        case "ShortplayPlayletDetailUnlockFlowCancel":
        print("解锁流程取消");
        break;
        case "ShortplayPlayletDetailUnlockFlowEnd":
        print("解锁流程结束,回调解锁结果, success: 是否解锁成功 == $msg");
        break;
        case "ShortplayClickEnterView":
        print(" 点击混排中进入跳转播放页的按钮");
        break;
        case "ShortplayNextPlayletWillPlay":
        print("本剧集观看完毕,切到下一部短剧回调");
        break;
        case "ShortplaySendAdRequest":
        print("发起广告请求");
        break;
        case "ShortplayAdLoadSuccess":
        print("广告加载成功");
        break;
        case "ShortplayAdLoadFail":
        print("广告加载失败");
        break;
        case "ShortplayAdFillFail":
        print("广告填充失败");
        break;
        case "ShortplayAdWillShow":
        print("广告曝光");
        break;
        case "ShortplayClickAdView":
        print("点击广告");
        break;
        case "ShortplayVideoRewardFinish":
        print("激励视频广告结束");
        break;
        case "ShortplayVideoRewardSkip":
        print("激励视频广告跳过");
        break;
        case "ShortplayDrawVideoCurrentVideoChanged":
        print("视频切换时的回调 == $msg");
        break;
        case "ShortplayDrawVideoDidClickedErrorButtonRetry":
        print("加载失败按钮点击重试回调");
        break;
        case "ShortplayDrawVideoCloseButtonClicked":
        print("默认关闭按钮被点击的回调");
        break;
        case "ShortplayDrawVideoDataRefreshCompletion":
        print("数据刷新完成回调");
        break;
        // 以下添加自己需要的方法回调判断,事件类型参照ZjPlayletPlugin文件的事件类型说明
        default:
        break;
    }
    },
);
  • 短剧展示
ZjPlayletPlugin.showPlayletAd();

短剧广告调用,Widget加载方式

// 引入文件
import 'package:zj_playlet_plugin/zj_playlet_ad_view.dart';

ZjPlayletAdView(
    "短剧广告位ID",
    "申请的json文件",
    width: maxWidth, // 设置短剧展示的宽度
    height: maxHeight, // 设置短剧展示的高度
    freeEpisodesCount: 2, // 设置免费观看的集数
    unlockEpisodesCountUsingAD: 2, // 设置解锁后能观看的集数
    // 下面adType和posId代表设置自己的激励广告,如果不设置,短剧会加载默认广告
    // posId: '激励广告位ID',
    // adType: ZJPlayletADType.rewardVideoAd.index,
    onPlayletListener: (type, msg) {
        // 事件名称同原生加载事件名
        print("msg = $msg, type = $type");
    },
);