SJMAdSDK_iOS_APICloud使用文档

该文档和文件适用APICloud

一、 接入说明

1.1、工程设置导入sjmadModule

1. 将文件sjmadModule.zip文件上传至开发控制台对应项目的模块中(在自定义模块中上传)

2.上传完成后点击右上角的+号,添加到项目中。

3.上传完成后通过云打包进行测试

二、加载广告

广告调用可以参考sjmad_demo

2.1、广告初始化

在config.xml文件中设置媒体id

<feature name="SJMSDKInitModule">
        <param name="appId" value="sjm_ios123" />
    </feature>

2.2、接入开屏广告

1.调用方法:

loadAd({adId:’广告id’,fetchDelay:(int)超时时间})
show()

2.示例

function showSplashAd() {
    var splashAd = api.require('SJMSplashAdModule');
    splashAd.loadAd({
        adId: 'SJM_S001',
        fetchDelay: 5
    },function(ret, err){
        var event = ret.event;
        console.log(event);
        api.toast({
            msg: event
        });
        
        if (event == 'SplashAdDidLoad') {
            splashAd.show();
        }else if (event == 'SplashAdShow'){
           
        }else if (event == 'SplashAdClicked'){
            
        }else if (event == 'SplashAdClosed'){
            
        }else if (event == 'SplashAdCountdownEnd'){
            
        }else if (event == 'SplashAdError'){
            
        }else{
            
        }
        //SplashAdDidLoad  开屏广告素材加载成功
        //SplashAdShow  开屏广告成功展示
        //SplashAdClicked  开屏广告点击回调
        //SplashAdClosed   开屏广告关闭回调
        //SplashAdCountdownEnd  开屏广告倒记时结束
        //SplashAdError   开屏广告错误
        //SplashAdWillEnterBackground  应用进入后台时回调
    });
}

2.3、接入激励视频

1.调用方法:

loadAd({adId:’广告id’,userId:’用户Id’,rewardName:'奖励名称',rewardAmount:(int)奖励数量})
show()

2.示例

function showRewardAd() {
    var rewardAd = api.require('SJMRewardVideoAdModule');
    rewardAd.loadAd({
        adId: 'SJM_R001',
        userId:'userId123',
        rewardName:'奖励名称',
        rewardAmount:0,
    },function(ret, err){
        var event = ret.event;
        console.log(event);
        api.toast({
            msg: event
        });
        
        if (event == 'rewardVideoAdDidLoad') {
            
        }else if (event == 'rewardVideoAdVideoDidLoad'){
            rewardAd.show();
        }else if (event == 'rewardVideoAdDidShow'){
            
        }else if (event == 'rewardVideoAdDidClose'){
            
        }else if (event == 'rewardVideoAdDidClicked'){
            
        }else if (event == 'rewardVideoAdDidRewardEffective'){
            
        }else if (event == 'rewardVideoAdDidPlayFinish'){
            
        }else if (event == 'rewardVideoAdError'){
            
        }
        //rewardVideoAdDidLoad 广告数据加载成功回调
        //rewardVideoAdVideoDidLoad 视频数据下载成功回调
        //rewardVideoAdDidShow  视频广告展示
        //rewardVideoAdDidClose 视频播放页关闭
        //rewardVideoAdDidClicked 视频广告信息点击
        //rewardVideoAdDidRewardEffective 奖励触发
        //rewardVideoAdDidPlayFinish 视频广告视频播放完成
        //rewardVideoAdError  视频广告各种错误信息回调
    });
}

2.4、接入插屏广告

1.调用方法:

loadAd({adId:’广告id’})
show()

2.示例

function showInterstitialAd() {
    var interstitialAd = api.require('SJMInterstitialAdModule');
    interstitialAd.loadAd({
        adId: 'SJM_I001'
    },function(ret, err){
        var event = ret.event;
        console.log(event);
        api.toast({
            msg: event
        });
        
        if (event == 'interstitialAdDidLoad') {
            interstitialAd.show();
        }else if (event == 'interstitialAdDidLoadFail'){
            
        }else if (event == 'interstitialAdDidPresentScreen'){
            
        }else if (event == 'interstitialAdDidClick'){
            
        }else if (event == 'interstitialAdDidClose'){
            
        }else if (event == 'interstitialAdDetailDidClose'){
            
        }else if (event == 'interstitialAdDidFail'){
            
        }
        //interstitialAdDidLoad 广告数据加载成功回调
        //interstitialAdDidLoadFail 广告数据加载失败回调
        //interstitialAdDidPresentScreen  广告展示
        //interstitialAdDidClick 广告点击
        //interstitialAdDidClose 广告关闭
        //interstitialAdDetailDidClose 详情页关闭
        //interstitialAdDidFail  其他错误
    });
}

2.5、接入视频内容

1.调用方法:

//fixedOn:视图位置
//fixed:控制视图是否随着frame内容的移动而跟着移动
loadAd({adId:’广告id’,fixedOn:’视图位置‘,fixed:false })

2.示例

    var contentPage = api.require('SJMContentPageModule');
    contentPage.loadAd({
        adId: '广告Id',
        fixedOn:api.frameName,
        fixed: false
    },function(ret, err){
        var event = ret.event;
        console.log(event);
        api.toast({
            msg: event
        });
        
        if (event == 'VideoState_videoDidStartPlay') {
            
        }else if (event == 'VideoState_videoDidPause'){
            
        }else if (event == 'VideoState_videoDidResume'){
            
        }else if (event == 'VideoState_videoDidEndPlay'){
            
        }else if (event == 'VideoState_videoDidFailedToPlay'){
            
        }
        //VideoState_videoDidStartPlay 视频开始播放
        //VideoState_videoDidPause 视频暂停播放
        //VideoState_videoDidResume  视频恢复播放
        //VideoState_videoDidEndPlay 视频停止播放 有是否播放完成参数
        //VideoState_videoDidFailedToPlay 视频播放失败
        //contentDidFullDisplay 内容展示
        //contentDidEndDisplay 内容隐藏
        //contentDidPause  内容暂停显示
        //contentDidResume 内容恢复显示
    });

2.6、接入全屏视频流广告

1.调用方法:

loadAd({adId:’广告id’,adCount:广告个数(int),width:广告宽度(float),height:广告高度(float)})
//fixedOn:视图位置
//fixed:控制视图是否随着frame内容的移动而跟着移动
showIn({index:对应位置广告(int),fixedOn:’视图位置‘,fixed:false})

2.示例

  function loadFeedFullVideo() {
    var feedVideo = api.require('SJMFeedFullVideoModule');
    contentPage.loadAd({
        adId: 'SJM_V001',
        adCount:5,
        width:300,
        height:600,
    },function(ret, err){
        var event = ret.event;
        console.log(event);
        api.toast({
            msg: event
        });
        
        if (event == 'feedFullVideoProviderLoadSuccess') {
            contentPage.showIn({
                index : 0,
                fixedOn:api.frameName,
                fixed: false
            });
        }else if (event == 'feedFullVideoProviderLoadFail'){
            
        }else if (event == 'feedFullVideoAdViewRenderSuccess'){
            
        }else if (event == 'feedFullVideoAdViewRenderFail'){
            
        }else if (event == 'feedFullVideoAdViewWillShow'){
            
        }else if (event == 'feedFullVideoAdViewStateDidChanged'){
            
        }else if (event == 'feedFullVideoAdViewPlayerDidPlayFinish'){
            
        }else if (event == 'feedFullVideoAdViewDidClick'){
            
        }else if (event == 'feedFullVideoAdViewDetailViewWillPresentScreen'){
            
        }else if (event == 'feedFullVideoAdViewDetailViewClosed'){
            
        }
        
        //feedFullVideoProviderLoadSuccess 广告加载成功
        //feedFullVideoProviderLoadFail 广告加载失败
        //feedFullVideoAdViewRenderSuccess 广告渲染成功
        //feedFullVideoAdViewRenderFail 广告渲染失败
        //feedFullVideoAdViewWillShow 广告曝光回调
        //feedFullVideoAdViewStateDidChanged 视频广告播放状态更改回调
        //feedFullVideoAdViewPlayerDidPlayFinish 视频广告播放完毕
        //feedFullVideoAdViewDidClick  广告点击回调
        //feedFullVideoAdViewDetailViewWillPresentScreen 广告详情页面即将展示回调
        //feedFullVideoAdViewDetailViewClosed 广告详情页关闭回调
        
    });
}

2.7、接入Banner广告

1.调用方法:

//interval  广告刷新间隔,范围 [30, 120] 秒,默认值 30 秒。设 0 则不刷新。
//fixedOn:视图位置
//fixed:控制视图是否随着frame内容的移动而跟着移动
loadAdAndShow({adId:'广告id',width:宽度,height:高度(float),interval:0,fixedOn:视图位置,fixed:false})

2.示例

function showBannerAd() {
    var bannerAd = api.require('SJMBannerAdModule');
    bannerAd.loadAdAndShow({
        rect: {
                x: 100,
                y: 200,
                w: 300,
                h: 80
        },
        adId: 'SJM_B003',
        width:300,
        height:80,
        interval:30,
        fixedOn:api.frameName,
        fixed:false
    },function(ret, err){
        var event = ret.event;
        console.log(event);
        api.toast({
            msg: event
        });
        
        if (event == 'bannerAdViewDidLoad') {
            
        }else if (event == 'bannerAdViewDidLoadFail'){
            
        }else if (event == 'bannerAdViewWillBecomVisible'){
            
        }else if (event == 'bannerAdViewDislike'){
            
        }else if (event == 'bannerAdViewDidClick'){
            
        }else if (event == 'bannerAdViewDidCloseOtherController'){
            
        }
        //bannerAdViewDidLoad banner广告加载成功
        //bannerAdViewDidLoadFail banner广告加载失败
        //bannerAdViewWillBecomVisible banner广告展示
        //bannerAdViewDislike banner广告关闭
        //bannerAdViewDidClick banner广告点击
        //bannerAdViewDidCloseOtherController banner广告关闭详情页
    });
}
▶︎
all
running...