cocos2d-js添加百度appx的插屏广告(通过jsb反射机制)
本来一直用的anysdk接入广告,结果从前几天开始,百度商店的审核总是通不过,结果一问才知道:要上传到百度商店就必须要用百度的appx(真的是各种坑,我们这些个人开发者迟早要被你们大公司玩死),没办法只能用appx了,谁叫百度的量还是挺大的呢
下面是接入过程:
【1】按照百度appx给的AppXSample,先把libs文件夹下的baidu_cuid.jar和baidu_appx_android_2.0.0.jar两个jar包拷贝至项目libs里面。
【2】把AppXSample下的res文件夹下的文件全部拷贝至项目res,注意文件合并
【3】修改AndroidManifest.xml
添加:activity
<!-- 移动云AppX SDK -->
<activity android:name="com.baidu.appx.ui.BDInnerBrowser" /> <receiver android:name="com.baidu.appx.app_download.CompleteReceiver" >
<intent-filter>
<action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
<action android:name="android.intent.action.DOWNLOAD_NOTIFICATION_CLICKED" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" /> <data android:scheme="package" />
<!-- 注意!! 这句必须要加,否则接收不到安装完成广播 -->
</intent-filter>
</receiver>
添加两个权限:
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
【4】修改AppActivity.java文件
package org.cocos2dx.javascript; import org.cocos2dx.lib.Cocos2dxActivity;
import org.cocos2dx.lib.Cocos2dxGLSurfaceView;
import android.content.pm.ActivityInfo;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.os.Environment;
import android.view.WindowManager;
//百度appx
import com.baidu.appx.BDInterstitialAd;
import com.baidu.appx.BDInterstitialAd.InterstitialAdListener;
import android.util.Log; public class AppActivity extends Cocos2dxActivity{ //百度appx
private static AppActivity app = null;
private static String TAG = "AppX_Interstitial";
private static BDInterstitialAd appxInterstitialAdView; static String hostIPAdress="0.0.0.0";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//百度appx
app = this;//百度appx
appxInterstitialAdView = new BDInterstitialAd(this,
"h8g8XsOYSXo5uGnGXdAHOAUw", "zqGAV5GBdAPWt0NWuPDylS2E");
appxInterstitialAdView.setAdListener(new InterstitialAdListener() {
@Override
public void onAdvertisementDataDidLoadFailure() {
Log.e(TAG, "load failure");
}
@Override
public void onAdvertisementDataDidLoadSuccess() {
Log.e(TAG, "load success");
}
@Override
public void onAdvertisementViewDidClick() {
Log.e(TAG, "on click");
}
@Override
public void onAdvertisementViewDidHide() {
Log.e(TAG, "on hide");
}
@Override
public void onAdvertisementViewDidShow() {
Log.e(TAG, "on show");
}
@Override
public void onAdvertisementViewWillStartNewIntent() {
Log.e(TAG, "leave");
}
});
appxInterstitialAdView.loadAd();
} public static void sdks(final String title,final String message) {
//这里一定要使用runOnUiThread
app.runOnUiThread(new Runnable() {
@Override
public void run() {
if (appxInterstitialAdView.isLoaded()) {
appxInterstitialAdView.showAd();
} else {
Log.i(TAG, "AppX Interstitial Ad is not ready");
appxInterstitialAdView.loadAd();
}
}
});
} }
其中sdks()方法为jsb反射回调方法,目的是显示插屏广告
ps:要把参数换成自己的api_key和推广位ID
【5】最后一步就是在js代码中添加调用sdks()的方法
jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "sdks", "(Ljava/lang/String;Ljava/lang/String;)V", "title", "hahahahha");
cocos2d-js添加百度appx的插屏广告(通过jsb反射机制)的更多相关文章
- cocos2d-js添加道有道插屏(通过jsb反射机制)
1.导入jar包 2.修改AndroidManifest.xml文件 添加权限: <activity android:configChanges="keyboard|keyb ...
- cocos2d-js添加广点通插屏(通过jsb反射机制)
1.把广点通的jar包加入libs文件夹 2.修改AndroidManifest.xml文件 添加权限: <uses-permission android:name="android. ...
- cocos2d-js添加百度MSSP插屏(通过jsb反射机制)
1.导入jar包.... 2.修改AndroidManifest.xml文件 添加: <meta-data android:name="BaiduMobAd_APP_ID" ...
- cocos2d-js添加360广告联盟插屏(通过jsb反射机制)
1.添加demo里的libs里的jar包 2.修改AndroidManifest.xml文件 添加权限: <uses-permission android:name="android. ...
- cocos2d-js添加艾盟插屏(通过jsb反射机制)
1.导入jar包 2.修改AndroidManifest.xml文件 添加: <activity android:name="com.xingka ...
- cocos2d-js添加百通广告(通过jsb反射机制)
1.导入jar包,包括so文件 2.配置AndroidManifest.xml文件,添加: <!-- BDAPPUNIONSDK start --> <activity androi ...
- JS版百度地图API
地图的构建非常简单,官方的API文档也写得很清晰,我只做一总结: 一起jquery,17jquery 一.引入JS :这个很容易理解,既然是调用JS版的百度地图,肯定得引用外部的JS文件了,而这个文件 ...
- js调用百度地图接口
原文:js调用百度地图接口 这是前几天公司做的新项目,上面需要用到地图的数据.第一次做这类型的东西没啥思路,咱们经理说,这东西简单,截个图存文件夹里调整好尺寸,数据库里存上图片的地址动态调用就行了.心 ...
- cocos2d js的一些tip
cocos2d-js-v3.2-rc0 cc.director.end();//退出app cc.Application.getInstance().openURL("http://www. ...
随机推荐
- python安装在windows server2008,故障排除
python安装在windows server2008,故障排除 我也在虚拟机上的win2008安装python2.7.9多次回滚了.搜了一通 Windows Server 2003/2008无法 ...
- 10.1综合强化刷题 Day6
T1 排序 题目描述 小Z 有一个数字序列a1; a2; .... ; an,长度为n,小Z 只有一个操作:选 定p(1<p<n),然后把ap 从序列中拿出,然后再插⼊到序列中任意位置. ...
- [LOJ6235]区间素数个数
题目大意: 给定$n(n\leq10^{11})$,求$\pi(n)$. 思路: 计算$\pi$函数有$O(n^{\frac23})$的Lehmer算法,这里考虑$O(\frac{n^{\frac34 ...
- 在网页中插入flash播放器,播放flv视频
效果图如下: 所用代码如下: <object id="FLVPlayer" height="480" width="640" code ...
- Mac. 文件夹赋予权限
1. click on your background to go to finder click on go and go to folder /usr right click on local a ...
- setOnFocusChangeListener的使用
类似于文本框里面hint文字在初始化的时候显示或者隐藏的操作,就要用到setOnFocusChangeListener的 首先我认为不是太必要- 毕竟当你输入东西时,默认文字自然会消失 当然假设你执意 ...
- Spark原理小总结
1.spark是什么? 快速,通用,可扩展的分布式计算引擎 2.弹性分布式数据集RDD RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据 ...
- Linux学习之十二-Linux文件属性
Linux文件属性 在Linux中,对于每个文件都有相应属性,以Linux中root用户家目录下新建文件a.txt为例,在a.txt中输入几个字符 使用命令ls -ild a.txt查看文件的权限等 ...
- Mockito 如何 mock 返回值为 void 的方法
转载:https://unmi.cc/mockito-how-to-mock-void-method/#more-7748 最初接触 Mockito 还思考并尝试过如何用它来 mock 返回值为 vo ...
- Win7如何自定义鼠标右键菜单 添加在此处打开CMD窗口
将下面文件保存为"右键添加在此处打开CMD窗口.reg"双击导入运行即可 Windows Registry Editor Version 5.00 [HKEY_CLASSES_RO ...