目测MIntegral 广告SDK国内接入的资源比较少,特此做个demo出来分享,仅供学习!
特别说明:
MIntegral SDK 是分国内,国外的,广告接口相同,资源库不同。详情请参考MIntegral官方接入文档。
广告类型:
此处demo接入的广告类型,请看图(红色框框是本demo没有接入的,其余都有):
项目构成:
都用单列封装好,只需要调用初始化,加载,展示的接口就可以使用,demo里面的是测试参数,上线需要替换成自己的广告参数。
示例:
激励视频广告:
1.SDK初始化:
/**
* sdk初始化
* @param context
*/
public void init(Context context){
MBridgeSDK sdk = MBridgeSDKFactory.getMBridgeSDK();
Map<String, String> map = sdk.getMBConfigurationMap(PlacementId.appId, PlacementId.appKey);
sdk.init(map, context, new SDKInitStatusListener() {
@Override
public void onInitSuccess() {
Log.e(TAG,"onInitSuccess");
}
@Override
public void onInitFail() {
Log.e(TAG,"onInitFail");
}
});
}
2.激励加载,展示
/**
* 激励加载
* @param activity
*/
public void loadMIntegralRewardAd(Activity activity){
mMBRewardVideoHandler = new MBRewardVideoHandler(activity, PlacementId.reward_Pid, PlacementId.reward_Uid);
mMBRewardVideoHandler.setRewardVideoListener(new RewardVideoListener() {
@Override
public void onLoadSuccess(String placementId, String unitId) {
Log.e(TAG, "onLoadSuccess-----");
}
@Override
public void onVideoLoadSuccess(String placementId, String unitId) {
Log.e(TAG, "onVideoLoadSuccess-----");
}
@Override
public void onVideoLoadFail(String errorMsg) {
Log.e(TAG, "onVideoLoadFail errorMsg = " + errorMsg);
}
@Override
public void onShowFail(String errorMsg) {
Log.e(TAG, "onShowFail = " + errorMsg);
}
@Override
public void onAdShow() {
Log.e(TAG, "onAdShow------");
}
@Override
public void onAdClose(boolean isCompleteView, String RewardName, float RewardAmout) {
Log.e(TAG, "onAdClose------");
mMBRewardVideoHandler.load();
if(isCompleteView){
/**
* 完成播放
* 发放奖励
*/
}else{
/**
* 中断播放
* 不发放奖励
*/
}
}
@Override
public void onVideoAdClicked(String placementId, String unitId) {
Log.e(TAG, "onVideoAdClicked-----");
}
@Override
public void onVideoComplete(String placementId, String unitId) {
Log.e(TAG, "onVideoComplete-----");
}
@Override
public void onEndcardShow(String placementId, String unitId) {
Log.e(TAG, "onEndcardShow-----");
}
});
mMBRewardVideoHandler.load();
}
/**
* 激励展示
*/
public void showMIntegralRewardAd(){
if (mMBRewardVideoHandler.isReady()){
mMBRewardVideoHandler.show(PlacementId.reward_Sid,"test123");
}
}
调用示例:
激励加载
MIntegralRewardAd.getInstance().loadMIntegralRewardAd(this);//加载
激励展示
MIntegralRewardAd.getInstance().showMIntegralRewardAd();
激励视频广告效果图:
完整demo下载:MIntegral Demo