您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-js添加百度MSSP插屏(通过jsb反射机制)

2015-12-18 20:11 561 查看
1、导入jar包。。。。

2、修改AndroidManifest.xml文件

添加:

<meta-data android:name="BaiduMobAd_APP_ID" android:value="替换为appid"/>
<activity android:configChanges="keyboard|keyboardHidden|orientation" android:name="com.baidu.mobads.AppActivity"/>


添加权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>


3、修改AppActivity.java文件

//百度
import com.baidu.mobads.InterstitialAd;
import com.baidu.mobads.InterstitialAdListener;

// The name of .so is specified in AndroidMenifest.xml. NativityActivity will load it automatically for you.
// You can use "System.loadLibrary()" to load other .so files.

public class AppActivity extends Cocos2dxActivity{
private static AppActivity app = null;//百度
public static InterstitialAd interAd;//百度
static String hostIPAdress="0.0.0.0";
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//百度
app = this;
String adPlaceId = "代码位id"; // 重要:不填写代码位id不能出广告
interAd=new InterstitialAd(this, adPlaceId);
interAd.setListener(new InterstitialAdListener(){
@Override
public void onAdClick(InterstitialAd arg0) {
}
@Override
public void onAdDismissed() {
interAd.loadAd();
}
@Override
public void onAdFailed(String arg0) {
}
@Override
public void onAdPresent() {
}
@Override
public void onAdReady() {
}
});
interAd.loadAd();
if(nativeIsLandScape()) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
} else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
}
if(nativeIsDebug()){
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
hostIPAdress = getHostIpAddress();
}
public static void sdksMSSP(final String title,final String message) {
//这里一定要使用runOnUiThread
app.runOnUiThread(new Runnable() {
@Override
public void run() {
if(interAd.isAdReady()){
interAd.showAd(app);
}else{
interAd.loadAd();
}
}
});

}


4、js文件直接调用:

jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "sdksMSSP", "(Ljava/lang/String;Ljava/lang/String;)V", "title", "hahahahha");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: