android开发广告
1. 一个Android开发者除了给自己写的软件添加广告外,还能怎样赚广告费
1.你的问题是:
除了给自己写的软件添加广告外,还能怎样赚广告费
也就是说你想赚广告费,可以自己在网页里面宣传自己的APP,顺便在网页中添加其他广告,收取费用。
2.可以用你的软件窃取用户信息,这个不太道德,但是很多人都这么做,就是窃取用户联系人资料等等,这些信息可以拿去卖钱,你懂得,我们的信息都是这么背卖的
3,如果你想通过点击赚钱的话,可以用肉鸡来点击,这个不用我多说了吧,不是很正当的途径
4.总之,如果你的软件很好,很火,有很多人用,你就不用发愁广告费,如果用的人少,你可以多推广,不论是采取什么手段,强制下载或者欺骗也好。如果用的人实在是少,你就只能用肉鸡点击等等这些不太好的手段了。祝你成功
2. android安卓开发 添加广告的流程
1.应用市场是帮你宣传, 让更多的人下载你的应用。
2.广告平台一般都有后台管理和统计自己的应用。
3.每个广告平台对开发的利益产生模式不一样, 如展示次数, 有效点击, 有效下载等。
4.我不喜欢youmi平台
3. Android新手,求助Banner广告条的开发办法
参考下面代码
1.源文件
java] view plain print?
package com.eyeandroid.viewpager;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.ImageView;
@SuppressLint("HandlerLeak")
public class MainActivity extends Activity {
private ImageView[] imageViews = null;
private ImageView imageView = null;
private ViewPager advPager = null;
private AtomicInteger what = new AtomicInteger(0);
private boolean isContinue = true;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initViewPager();
}
private void initViewPager() {
advPager = (ViewPager) findViewById(R.id.adv_pager);
ViewGroup group = (ViewGroup) findViewById(R.id.viewGroup);
// 这里存放的是四张广告背景
List<View> advPics = new ArrayList<View>();
ImageView img1 = new ImageView(this);
img1.setBackgroundResource(R.drawable.advertising_default_1);
advPics.add(img1);
ImageView img2 = new ImageView(this);
img2.setBackgroundResource(R.drawable.advertising_default_2);
advPics.add(img2);
ImageView img3 = new ImageView(this);
img3.setBackgroundResource(R.drawable.advertising_default_3);
advPics.add(img3);
ImageView img4 = new ImageView(this);
img4.setBackgroundResource(R.drawable.advertising_default);
advPics.add(img4);
// 对imageviews进行填充
imageViews = new ImageView[advPics.size()];
//小图标
for (int i = 0; i < advPics.size(); i++) {
imageView = new ImageView(this);
imageView.setLayoutParams(new LayoutParams(20, 20));
imageView.setPadding(5, 5, 5, 5);
imageViews[i] = imageView;
if (i == 0) {
imageViews[i]
.setBackgroundResource(R.drawable.banner_dian_focus);
} else {
imageViews[i]
.setBackgroundResource(R.drawable.banner_dian_blur);
}
group.addView(imageViews[i]);
}
advPager.setAdapter(new AdvAdapter(advPics));
advPager.setOnPageChangeListener(new GuidePageChangeListener());
advPager.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_MOVE:
isContinue = false;
break;
case MotionEvent.ACTION_UP:
isContinue = true;
break;
default:
isContinue = true;
break;
}
return false;
}
});
new Thread(new Runnable() {
@Override
public void run() {
while (true) {
if (isContinue) {
viewHandler.sendEmptyMessage(what.get());
whatOption();
}
}
}
}).start();
}
private void whatOption() {
what.incrementAndGet();
if (what.get() > imageViews.length - 1) {
what.getAndAdd(-4);
}
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
}
}
private final Handler viewHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
advPager.setCurrentItem(msg.what);
super.handleMessage(msg);
}
};
private final class GuidePageChangeListener implements OnPageChangeListener {
@Override
public void onPageScrollStateChanged(int arg0) {
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageSelected(int arg0) {
what.getAndSet(arg0);
for (int i = 0; i < imageViews.length; i++) {
imageViews[arg0]
.setBackgroundResource(R.drawable.banner_dian_focus);
if (arg0 != i) {
imageViews[i]
.setBackgroundResource(R.drawable.banner_dian_blur);
}
}
}
}
private final class AdvAdapter extends PagerAdapter {
private List<View> views = null;
public AdvAdapter(List<View> views) {
this.views = views;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView(views.get(arg1));
}
@Override
public void finishUpdate(View arg0) {
}
@Override
public int getCount() {
return views.size();
}
@Override
public Object instantiateItem(View arg0, int arg1) {
((ViewPager) arg0).addView(views.get(arg1), 0);
return views.get(arg1);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
}
@Override
public Parcelable saveState() {
return null;
}
@Override
public void startUpdate(View arg0) {
}
}
}
2.布局文件
这个文件在屏幕上的图片显示具有至关重要的作用
[html] view plain print?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="//schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<!-- ViewPager是一个控件 -->
<android.support.v4.view.ViewPager
android:id="@+id/adv_pager"
android:layout_width="fill_parent"
android:layout_height="160dp" >
</android.support.v4.view.ViewPager>
<LinearLayout
android:id="@+id/viewGroup"
android:layout_below="@id/adv_pager"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="-25px"
android:gravity="right"
android:orientation="horizontal" >
</LinearLayout>
</RelativeLayout>
</LinearLayout>
4. 如何向Android应用中加入广告
广告墙和推送广告我使用万普,广告条我使用芒果的聚合,暂时打算用多盟、有米这2个平台。(之所以用多个平台是可以根据情况做实时的在线比例分配,这样可以有更多的选择余地,当然也不是越多越好,加的平台越多应用就越臃肿,你的收入当然就分散了,而每个平台都至少要求100元才能提款的。)
首先我们来添加广告墙和推送广告。
1.登录万普平台,进入开发者页面,点击添加应用,输入应用名称,点保存,之后打开应用详情页面,记下WAPS_ID的值备第2步骤使用。后面的信息也尽量完善起来,
文件程序等最后完成广告集成并测试后再上传即可。
2.在我的项目的AndroidManifest.xml文件下添加广告需要的权限(具体要哪些权限参加广告SDK的帮助和实际情况定):
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
在Application项加入:
<meta-data android:name="WAPS_ID" android:value="" />
<meta-data android:name="WAPS_PID" android:value="WAPS" />
<activity android:name="com.waps.OffersWebView"
android:configChanges="keyboardHidden|orientation" />
第一行android:value对应的字符串要替换成步骤1从万普添加应用后得到的ID,千万不要填错哦。
第二行是万普进行渠道设置选项,最好按其开发者手册最后对应的表格来填写
第三行是展示广告墙所使用的activity,不添加会导致展示不了广告墙
5. Android个人开发者接入哪个广告平台盈利好
横幅广告:这是最常见的广告,几乎每个广告平台都有,但是内容却不同,有的横幅广告是一些产品或服务的推广,用户点击后是打开网页浏览;而有的横幅广告是一些广告商的安卓应用的推广,用户点击后是下载并安卓应用。收入一般按每次点击以及每一千次展示计算,一般应用推广的收入多一点。
插屏广告/开屏广告:全屏的广告,比横幅广告条更加优美,点击收入也更高,一般在应用启动、游戏暂定的时候出现。
应用墙:用一整个版面的列表来推荐应用。
推送广告:平时手机的通知栏里经常弹出一些新闻啊、升级提醒之类的,就是利用这个功能来做广告。
快捷方式广告:用户安装你的应用后,会在桌面生成一个快捷方式,点击后进入一个类似应用墙的界面。
电商广告:也是一个列表类的界面,不过是用来卖东西的,用户购买后你会有提成(这个一般大型应用才用)。
自定义广告:广告平台把数据给你(包括广告的图标以及下载链接),怎么设计广告让你自己安排,按实际下载和激活量计算收入。
此外,广告还包括无积分和积分模式,无积分就是普通的广告,积分广告一般采用积分墙,用户通过下载广告里的应用获得积分,之后通过积分解锁你的应用里的某些功能(一般在游戏里用的比较多,收入也是比较可观的)
6. 如何:在Android应用中加入广告方法步骤
广告墙和推送广告我使用万普,广告条我使用芒果的聚合,暂时打算用多盟、有米这2个平台。(之所以用多个平台是可以根据情况做实时的在线比例分配,这样可以有更多的选择余地,当然也不是越多越好,加的平台越多应用就越臃肿,你的收入当然就分散了,而每个平台都至少要求100元才能提款的。)
首先我们来添加广告墙和推送广告。
1.登录万普平台,进入开发者页面,点击添加应用,输入应用名称,点保存,之后打开应用详情页面,记下WAPS_ID的值备第2步骤使用。后面的信息也尽量完善起来,
文件程序等最后完成广告集成并测试后再上传即可。
2.在我的项目的AndroidManifest.xml文件下添加广告需要的权限(具体要哪些权限参加广告SDK的帮助和实际情况定):
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
在Application项加入:
<meta-data android:name="WAPS_ID" android:value="" />
<meta-data android:name="WAPS_PID" android:value="WAPS" />
<activity android:name="com.waps.OffersWebView"
android:configChanges="keyboardHidden|orientation" />
第一行android:value对应的字符串要替换成步骤1从万普添加应用后得到的ID,千万不要填错哦。
第二行是万普进行渠道设置选项,最好按其开发者手册最后对应的表格来填写
第三行是展示广告墙所使用的activity,不添加会导致展示不了广告墙
3.Eclipse->Project->Properties->Java Build Path->Libraries->Add External JARs->选择我们前面下载解压出来的AppOffer_1.5.3.jar,来完成添加万普SDK的Jar包。
在对应更多应用菜单的处理事件里加入AppConnect.getInstance(this).showOffers(this);来打开广告墙。
运行应用,点击更多应用,顺利打开推荐列表如图:
4.打开项目的入口Activity,在onCreate事件里写入
AppConnect.getInstance(this);
AppConnect.getInstance(this).getPushAd(); //自动推送使用,如果你在万普web端配置自动推送则可以注释次行
在退出应用的地方(我是在入口Activity的onDestroy事件)写入
AppConnect.getInstance(this).finalize();
运行推送效果如下图:
点击通知(推送广告) 打开如图
这样我们就把万普的广告墙和推送模式的广告集成好了,将应用使用正式签名(方法网上搜很多,这里不介绍)编译后将apk上传到万普审核,同时就可以发布到市场渠道去让用户下载了。(关于市场发布下篇里再介绍)
下面介绍使用芒果聚合来添加广告条:
1.登录芒果平台,添加新应用,打*的必须填写,点下一步来进入广告平台选择页面。
2.到你要添加的广告平台添加新应用来获取对应的ID,并把这些ID设置到1步骤芒果平台对应的ID设置中(点对应平台后面的“未设置”)。
3.点击芒果页面上对应平台后面的按钮来打开对应平台的状态,并点击开启测试,以便接下来测试是否能正常获取测试广告。同时将2个平台的比例均配成50%。
4.点击下一步,应用就添加完成了。会得到一个芒果ID备用,下载芒果广告的SDK。(因为该SDK里已经包含了其所支持的所有平台的jar包,所以不需要单独再去下载其他广告平台的包了,而且聚合平台不一定及时更新所有平台的包,可能会对广告平台的更新没有及时更改其SDK,所以也必须从这里下)
5.解压芒果上下载下来的SDK,并将其libs下对应平台的包加入工程(我这里加入AdsMOGO-SDK-Android.jar[芒果]、youmi-android.jar[有米]、domob_android_sdk.jar[多盟])。
6.修改AndroidManifest.xml文件,添加必要的权限,以及到芒果SDK的开发帮助文档里找到对应平台要求添加的activity。我这里加入:
<!-- 多盟integration -->
<activity android:name="cn.domob.android.ads.DomobActivity"
android:theme="@android:style/Theme.Translucent" />
<!-- 有米integration -->
<activity android:name="net.youmi.android.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation" />
<activity android:name="net.youmi.android.spotad.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation" />
7.加入芒果Key的meta-data ,将值替换你在芒果平台最后得到的KEY值,我这边如下:
<meta-data android:value="" android:name="ADMOGO_KEY" />
8.在要展示的地方添加代码如下:
AdMogoLayout adview = new AdMogoLayout(this,""); //ID跟xml配置的相同
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.WRAP_CONTENT,
FrameLayout.LayoutParams.WRAP_CONTENT);
// 设置广告出现的位置(悬浮于顶部)
params.topMargin = 0;
params.gravity = Gravity.TOP|Gravity.CENTER_HORIZONTAL;
addContentView(adview, params);
这段代码作用是新建一个芒果广告的View,并将它加到activity的最顶端。
9.OK,代码都添加完成,运行测试,广告正常展示如下:
自己点击测试下,是否能正常打开广告页面。到芒果web页面调整广告平台的分配比例,分别测试所有你的平台是否均成功展示。如果有失败,请核对芒果上配置的ID或密码是否相同(包括前后不能有空格),任然有问题的话联系平台技术人员帮你协助解决。
10.最后一步,将芒果web页面上的比例平均分配,关闭测试模式。然后将应用签名打包,上传到各个广告平台审核。(平均分配是为了审核人员保证有机会能看到你的应用上有展示他们平台的广告),审核均通过后就可以发布到各个市场上来开始收益旅程了。
http://blog.csdn.net/fenger8293/article/details/6922992
7. android源代码中的广告插件
有很多apk应用都带有广告。为了去掉程序中的广告,要修改main.xml文件与广告有关的内容。在/res目录下找到文件main.xml。通常在/layout目录下,有时也被放在其它目录下。甚至,有时不存在main.xml文件,广告行被放在其它xml文件内。只能细心逐个文件进行查找。无论哪一种情况,查看其内容,你会看到有一项类似的命令如下。这就是广告显示。
<com.admob.android.ads.AdView android:id=”@id/ad” android:layout_width=”fill_parent” android:layout_height=”wrap_content” admobsdk:backgroundColor=”#ff000000″ admobsdk:textColor=”#ffffffff” admobsdk:keywords=”Android application” />
将其改为:
<com.admob.android.ads.AdView android:id=”@id/ad” android:layout_width=”0.0dip” android:layout_height=”0.0dip” admobsdk:backgroundColor=”#ff000000″ admobsdk:textColor=”#ffffffff” admobsdk:keywords=”Android application” />
可以看到,关键是要把fill_parent改为0.0dip,把wrap_content改为0.0dip,其它内容保持不变即可。这种改法就是不给广告显示空间,当然你就看不到广告了。
8. 哪位知乎大神 懂android广告sdk的开发
1、去广告渠道下载SDK
点金:http://mjoy.91.com/
2、解压缩包,一般会有demo项目,doc文档还有库文件
3、将lib目录下的dianjin.jar复制到项目的libs目录
4、查看doc文档,按照步骤接入,配置Androidmanifext.xml文件
5、在代码进行sdk初始化、方法调用等
6、运行到模拟器或者真机查看广告效果
9. 如何实现android app的应用启动广告
1、在StartLoadingActivity中去后台检查,有没有广告的配置
2、如果没有,1s后直接进入主页,如果有,就去下载广告图片,并存储广告的其他信息
3、app下次打开的时候,去检查本地缓存,和数据库,如果有广告的信息,并且没有过期,就显示广告。