Android 广告植入 简例
2014-07-13 21:46
99 查看
转载自 http://blog.csdn.net/jackystudio/article/details/12150907 2.广告植入
现在这类广告多如牛毛。选择哪家我也就不多说了,免得有广告嫌疑。如何植入广告这里我也只能简单的说下。因为实际植入还是很麻烦的,毕竟广告商的SDK不一样,还涉及到jni技术,java基础,Android开发基础,这些都要有了解。
这里我把广告分为两类,这部分我也算初学,如果有什么错误,烦请指出。。。
2.1.Android广告和cocos2d-x游戏无交互
这类比如开场插屏广告之类的。
这里广告和游戏没有交互,也就是说它和游戏的相对独立的,大体步骤是:
(1)单独的做出一个带有广告LoadingActivity和对应布局,然后在AndroidManifest.xml中把启动Activity指向它。
(2)我们看一下JackyActivityActivity(cocos2d-x自动帮你生成的):
public class JackyAirplane extends Cocos2dxActivity
public class Cocos2dxActivity extends Activity
是的,cocos2d-x游戏也是一个Activity,所以可以在LoadingActivity中实现Runnable接口,开启一个线程调用它。
Runnable runnable=new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
Intent intent = new Intent(LoadActivity.this, JackyAirplane.class);
LoadActivity.this.startActivity(intent);//切换Activity
LoadActivity.this.finish();
}
};
2.2.Android广告和cocos2d-x游戏有交互
这类比如过场广告,暂停广告之类的。
这里处理起来就比无交互的麻烦多了。其实也就是要在C++代码中调用JavaAPI,所以采用了Jni技术。
(1)Java代码:给JackyAirplane添加一个静态广告成员变量。
public class JackyAirplane extends Cocos2dxActivity{
...
public static AdView adView; // 第3方广告
}
(2)Java代码:添加静态成员方法,用来显示广告。
public static void showAD() {
new Thread(new Runnable(){
@Override
public void run() {
adView.setVisibility( adView.VISIBLE );
}
}).start();
}
(3)C++代码:通过jni调用showAD()。
#include <jni/JniHelper.h>
JniMethodInfo minfo;
jobject jobj;
bool b = JniHelper::getStaticMethodInfo(minfo,
"com/jacky/jackyAirplane/JackyAirplane", //类路径
"showAD", //静态方法名
"()V"); //括号里的是参数,后面的是返回值
if(b)
jobj = minfo.env->CallStaticObjectMethod(minfo.classID, minfo.methodID);
else
;//打印错误...
如果要控制广告的开关,可以在Java内使用Handler来接收消息控制,不过这个时候就要记得传参(开/关)了。
现在这类广告多如牛毛。选择哪家我也就不多说了,免得有广告嫌疑。如何植入广告这里我也只能简单的说下。因为实际植入还是很麻烦的,毕竟广告商的SDK不一样,还涉及到jni技术,java基础,Android开发基础,这些都要有了解。
这里我把广告分为两类,这部分我也算初学,如果有什么错误,烦请指出。。。
2.1.Android广告和cocos2d-x游戏无交互
这类比如开场插屏广告之类的。
这里广告和游戏没有交互,也就是说它和游戏的相对独立的,大体步骤是:
(1)单独的做出一个带有广告LoadingActivity和对应布局,然后在AndroidManifest.xml中把启动Activity指向它。
(2)我们看一下JackyActivityActivity(cocos2d-x自动帮你生成的):
public class JackyAirplane extends Cocos2dxActivity
public class Cocos2dxActivity extends Activity
是的,cocos2d-x游戏也是一个Activity,所以可以在LoadingActivity中实现Runnable接口,开启一个线程调用它。
Runnable runnable=new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
Intent intent = new Intent(LoadActivity.this, JackyAirplane.class);
LoadActivity.this.startActivity(intent);//切换Activity
LoadActivity.this.finish();
}
};
2.2.Android广告和cocos2d-x游戏有交互
这类比如过场广告,暂停广告之类的。
这里处理起来就比无交互的麻烦多了。其实也就是要在C++代码中调用JavaAPI,所以采用了Jni技术。
(1)Java代码:给JackyAirplane添加一个静态广告成员变量。
public class JackyAirplane extends Cocos2dxActivity{
...
public static AdView adView; // 第3方广告
}
(2)Java代码:添加静态成员方法,用来显示广告。
public static void showAD() {
new Thread(new Runnable(){
@Override
public void run() {
adView.setVisibility( adView.VISIBLE );
}
}).start();
}
(3)C++代码:通过jni调用showAD()。
#include <jni/JniHelper.h>
JniMethodInfo minfo;
jobject jobj;
bool b = JniHelper::getStaticMethodInfo(minfo,
"com/jacky/jackyAirplane/JackyAirplane", //类路径
"showAD", //静态方法名
"()V"); //括号里的是参数,后面的是返回值
if(b)
jobj = minfo.env->CallStaticObjectMethod(minfo.classID, minfo.methodID);
else
;//打印错误...
如果要控制广告的开关,可以在Java内使用Handler来接收消息控制,不过这个时候就要记得传参(开/关)了。
相关文章推荐
- cocos2d-x 移植android 植入计费,广告模块
- android应用植入广告SDK,获取广告收入
- 在android应用中植入Admob广告赚钱
- Android反编译初探 应用是如何被植入广告的(转载)
- Android手机APP广告植入与产品上线
- 在android应用中植入Admob广告赚钱
- Android应用下植入Google广告
- 【分享】Android二次打包植入广告
- Android集成谷歌AdMod广告植入方法
- Android应用开发:如何在App中植入广告?
- 关于android应用中植入广告尝试(新手篇。给和我一样的菜鸟用)
- Android二次打包植入广告
- Android apk 二次打包植入广告
- Android apk 二次打包植入广告
- 【分享】Android二次打包植入广告
- 【分享】Android二次打包植入广告
- android 植入点乐广告方法
- android 应用如何植入广告 ads
- android广告植入
- android -- 分享 二次打包植入广告