本来一直用的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

  1. <!-- 移动云AppX SDK -->
  2. <activity android:name="com.baidu.appx.ui.BDInnerBrowser" />
  3.  
  4. <receiver android:name="com.baidu.appx.app_download.CompleteReceiver" >
  5. <intent-filter>
  6. <action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
  7. <action android:name="android.intent.action.DOWNLOAD_NOTIFICATION_CLICKED" />
  8. </intent-filter>
  9. <intent-filter>
  10. <action android:name="android.intent.action.PACKAGE_ADDED" />
  11.  
  12. <data android:scheme="package" />
  13. <!-- 注意!! 这句必须要加,否则接收不到安装完成广播 -->
  14. </intent-filter>
  15. </receiver>

添加两个权限:

  1. <uses-permission android:name="android.permission.WRITE_SETTINGS" />
  2. <uses-permission android:name="android.permission.READ_PHONE_STATE" />

【4】修改AppActivity.java文件

  1. package org.cocos2dx.javascript;
  2.  
  3. import org.cocos2dx.lib.Cocos2dxActivity;
  4. import org.cocos2dx.lib.Cocos2dxGLSurfaceView;
  5. import android.content.pm.ActivityInfo;
  6. import android.net.wifi.WifiInfo;
  7. import android.net.wifi.WifiManager;
  8. import android.os.Bundle;
  9. import android.os.Environment;
  10. import android.view.WindowManager;
  11. //百度appx
  12. import com.baidu.appx.BDInterstitialAd;
  13. import com.baidu.appx.BDInterstitialAd.InterstitialAdListener;
  14. import android.util.Log;
  15.  
  16. public class AppActivity extends Cocos2dxActivity{
  17.  
  18. //百度appx
  19. private static AppActivity app = null;
  20. private static String TAG = "AppX_Interstitial";
  21. private static BDInterstitialAd appxInterstitialAdView;
  22.  
  23. static String hostIPAdress="0.0.0.0";
  24. @Override
  25. protected void onCreate(Bundle savedInstanceState) {
  26. super.onCreate(savedInstanceState);
    //百度appx
  27. app = this;//百度appx
  28. appxInterstitialAdView = new BDInterstitialAd(this,
  29. "h8g8XsOYSXo5uGnGXdAHOAUw", "zqGAV5GBdAPWt0NWuPDylS2E");
  30. appxInterstitialAdView.setAdListener(new InterstitialAdListener() {
  31. @Override
  32. public void onAdvertisementDataDidLoadFailure() {
  33. Log.e(TAG, "load failure");
  34. }
  35. @Override
  36. public void onAdvertisementDataDidLoadSuccess() {
  37. Log.e(TAG, "load success");
  38. }
  39. @Override
  40. public void onAdvertisementViewDidClick() {
  41. Log.e(TAG, "on click");
  42. }
  43. @Override
  44. public void onAdvertisementViewDidHide() {
  45. Log.e(TAG, "on hide");
  46. }
  47. @Override
  48. public void onAdvertisementViewDidShow() {
  49. Log.e(TAG, "on show");
  50. }
  51. @Override
  52. public void onAdvertisementViewWillStartNewIntent() {
  53. Log.e(TAG, "leave");
  54. }
  55. });
  56. appxInterstitialAdView.loadAd();
  57. }
  58.  
  59. public static void sdks(final String title,final String message) {
  60. //这里一定要使用runOnUiThread
  61. app.runOnUiThread(new Runnable() {
  62. @Override
  63. public void run() {
  64. if (appxInterstitialAdView.isLoaded()) {
  65. appxInterstitialAdView.showAd();
  66. } else {
  67. Log.i(TAG, "AppX Interstitial Ad is not ready");
  68. appxInterstitialAdView.loadAd();
  69. }
  70. }
  71. });
  72. }
  73.  
  74. }

其中sdks()方法为jsb反射回调方法,目的是显示插屏广告

ps:要把参数换成自己的api_key和推广位ID

【5】最后一步就是在js代码中添加调用sdks()的方法

  1. jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "sdks", "(Ljava/lang/String;Ljava/lang/String;)V", "title", "hahahahha");

cocos2d-js添加百度appx的插屏广告(通过jsb反射机制)的更多相关文章

  1. cocos2d-js添加道有道插屏(通过jsb反射机制)

    1.导入jar包 2.修改AndroidManifest.xml文件 添加权限:      <activity android:configChanges="keyboard|keyb ...

  2. cocos2d-js添加广点通插屏(通过jsb反射机制)

    1.把广点通的jar包加入libs文件夹 2.修改AndroidManifest.xml文件 添加权限: <uses-permission android:name="android. ...

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

    1.导入jar包.... 2.修改AndroidManifest.xml文件 添加: <meta-data android:name="BaiduMobAd_APP_ID" ...

  4. cocos2d-js添加360广告联盟插屏(通过jsb反射机制)

    1.添加demo里的libs里的jar包 2.修改AndroidManifest.xml文件 添加权限: <uses-permission android:name="android. ...

  5. cocos2d-js添加艾盟插屏(通过jsb反射机制)

    1.导入jar包 2.修改AndroidManifest.xml文件 添加:         <activity            android:name="com.xingka ...

  6. cocos2d-js添加百通广告(通过jsb反射机制)

    1.导入jar包,包括so文件 2.配置AndroidManifest.xml文件,添加: <!-- BDAPPUNIONSDK start --> <activity androi ...

  7. JS版百度地图API

    地图的构建非常简单,官方的API文档也写得很清晰,我只做一总结: 一起jquery,17jquery 一.引入JS :这个很容易理解,既然是调用JS版的百度地图,肯定得引用外部的JS文件了,而这个文件 ...

  8. js调用百度地图接口

    原文:js调用百度地图接口 这是前几天公司做的新项目,上面需要用到地图的数据.第一次做这类型的东西没啥思路,咱们经理说,这东西简单,截个图存文件夹里调整好尺寸,数据库里存上图片的地址动态调用就行了.心 ...

  9. cocos2d js的一些tip

    cocos2d-js-v3.2-rc0 cc.director.end();//退出app cc.Application.getInstance().openURL("http://www. ...

随机推荐

  1. 寒假week1---二分查找(二分枚举)

    寒假week1---二分查找(二分枚举)1.适用条件:要查找(枚举)的集合有序 && 查找(枚举)的“条件”具有单调性2.什么是“条件”:example: 1.给定一个有序数组,从中查 ...

  2. TiKV 源码解析系列——Placement Driver

    https://zhuanlan.zhihu.com/p/24809131?refer=newsql

  3. Android无需权限显示悬浮窗, 兼谈逆向分析app

    前言 最近UC浏览器中文版出了一个快速搜索的功能, 在使用其他app的时候, 如果复制了一些内容, 屏幕顶部会弹一个窗口, 提示一些操作, 点击后跳转到UC, 显示这个悬浮窗不需要申请android. ...

  4. DIV相对于父DIV底部对齐的实现方法

    代码如下 <style type="text/css"> .box1 {border:1px #cccccc solid; width:500px; height:60 ...

  5. nginx 启动,重启,添加开机启动等相关命令

    nginx -t 测试 配置文件是否正确,同时可以查看配置文件路径 nginx -c /usr/local/nginx/conf/nginx.conf   启动nginx ps -ef|grep ng ...

  6. 用户空间和内核空间通讯之【Netlink 上】

    原文地址:用户空间和内核空间通讯之[Netlink 上] 作者:wjlkoorey258 引言 Alan Cox在内核1.3版本的开发阶段最先引入了Netlink,刚开始时Netlink是以字符驱动接 ...

  7. Web编程前端之7:web.config详解 【转】

    http://www.cnblogs.com/alvinyue/archive/2013/05/06/3063008.html 声明:这篇文章是摘抄周公(周金桥)的<asp.net夜话> ...

  8. java中的占位符\t\n\r\f

    \t 相当于tab,缩进\n NewLine 换行 System.out.println("aaa\tbbb"); //aaa bbbSystem.out.println(&quo ...

  9. Linux学习之十四-Linux文件和目录权限

    Linux文件和目录权限 在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允 ...

  10. 【前端阅读】——《JavaScript应用开发技术详解指南》摘记&思维导图

    读这本书,我主要关注三个部分:JavaScript内置函数,程序调试以及Ajax基础.由于多是介绍基本概念,所以,采用思维导图的方式,做了一个梳理,以下就是精简的主要内容. 注:转载请注明出处