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. ...
随机推荐
- 寒假week1---二分查找(二分枚举)
寒假week1---二分查找(二分枚举)1.适用条件:要查找(枚举)的集合有序 && 查找(枚举)的“条件”具有单调性2.什么是“条件”:example: 1.给定一个有序数组,从中查 ...
- TiKV 源码解析系列——Placement Driver
https://zhuanlan.zhihu.com/p/24809131?refer=newsql
- Android无需权限显示悬浮窗, 兼谈逆向分析app
前言 最近UC浏览器中文版出了一个快速搜索的功能, 在使用其他app的时候, 如果复制了一些内容, 屏幕顶部会弹一个窗口, 提示一些操作, 点击后跳转到UC, 显示这个悬浮窗不需要申请android. ...
- DIV相对于父DIV底部对齐的实现方法
代码如下 <style type="text/css"> .box1 {border:1px #cccccc solid; width:500px; height:60 ...
- nginx 启动,重启,添加开机启动等相关命令
nginx -t 测试 配置文件是否正确,同时可以查看配置文件路径 nginx -c /usr/local/nginx/conf/nginx.conf 启动nginx ps -ef|grep ng ...
- 用户空间和内核空间通讯之【Netlink 上】
原文地址:用户空间和内核空间通讯之[Netlink 上] 作者:wjlkoorey258 引言 Alan Cox在内核1.3版本的开发阶段最先引入了Netlink,刚开始时Netlink是以字符驱动接 ...
- Web编程前端之7:web.config详解 【转】
http://www.cnblogs.com/alvinyue/archive/2013/05/06/3063008.html 声明:这篇文章是摘抄周公(周金桥)的<asp.net夜话> ...
- java中的占位符\t\n\r\f
\t 相当于tab,缩进\n NewLine 换行 System.out.println("aaa\tbbb"); //aaa bbbSystem.out.println(&quo ...
- Linux学习之十四-Linux文件和目录权限
Linux文件和目录权限 在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允 ...
- 【前端阅读】——《JavaScript应用开发技术详解指南》摘记&思维导图
读这本书,我主要关注三个部分:JavaScript内置函数,程序调试以及Ajax基础.由于多是介绍基本概念,所以,采用思维导图的方式,做了一个梳理,以下就是精简的主要内容. 注:转载请注明出处