精华内容
下载资源
问答
  • Android app启动广告

    热门讨论 2016-12-15 10:26:22
    Android app启动也得广告,时间倒计时,支持跳过。详情见博客:http://blog.csdn.net/u010918416/article/details/52924930
  • Android 启动广告

    千次阅读 2018-03-09 11:46:23
    最近要求做启动广告页,然后在网上找了一些demo,但都没有找到自己想要的,于是,根据一些写的还不错的,加上自己的想法,做了一个启动广告页,然后分享出来。支持 gif动态图的下载和显示。启动页广告页关键代码 ...

    最近要求做启动广告页,然后在网上找了一些demo,但都没有找到自己想要的,于是,根据一些写的还不错的,加上自己的想法,做了一个启动广告页,然后分享出来。支持 gif动态图的下载和显示。

    启动页

    广告页


    关键代码 下载位置

    if (!TextUtils.isEmpty(advertUrl)) {
        final String[] split = advertUrl.split("/");
        new Thread(new Runnable() {
            @Override
            public void run() {
                File advert = mContext.getExternalFilesDir("advert");
                final File file = new File(advert, System.currentTimeMillis() + split[split.length - 1]);
                Log.e("file", file.toString());
                localAdvertPath.add(0, file.toString());
                removeFootList();
                try {
                    SPManageUtils.getInstance(mActivity).saveLocalAdvertImg(localAdvertPath);
    
                    AdvertUtils.onSaveBitmap(advertUrl, file.toString());
                } catch (Exception e) {
                    e.printStackTrace();
                }
    
            }
        }).start();
    } else {
        // 获取服务器路径为空时,保存空本地路径,则不显示广告图
        localAdvertPath.add(0, "");
        removeFootList();
            // 获取服务器路径为空时,保存空本地路径,则不显示广告图
            SPManageUtils.getInstance(mActivity).saveLocalAdvertImg(localAdvertPath);
        }
    
    判断首次进入,跳转guide引导页,否则进入首页
    final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            boolean isFirst = SPManageUtils.getInstance(mContext).getSPBoolean(SPManageUtils.IS_FIRST_RUN, true);
            Intent intent = new Intent();
            if (isFirst) {
                intent.putExtra(GuideActivity.FLAG, GuideActivity.GOTO);
                SPManageUtils.getInstance(mContext).putSPBoolean(SPManageUtils.IS_FIRST_RUN, false);
                startActivity(intent.setClass(mContext, GuideActivity.class));
                finish();
            } else {
                advertView.setVisibility(View.VISIBLE);
                delayTimeBtn.post(new Runnable() {
                    @Override
                    public void run() {
                        if (delayTime > 0) {
                            delayTimeBtn.setText(delayTime + "  跳过");
                            delayTime--;
                            delayTimeBtn.postDelayed(this,1000);
                        }else {
    
                            if (!isGoToMain){
                                startMain();
                            }
    
                        }
                    }
                });
    
            }
        }
    }, 1000);
    
    https://download.csdn.net/download/w6082819920919/10277349
    展开全文
  • 主要介绍了Android启动广告(腾讯广告联盟)解决方法的相关资料,启动页几乎成为了每个app的标配,有些商家在启动页中增加了开屏广告以此带来更多的收入,需要的朋友可以参考下
  • 我是Android开发新手,想知道如何在Android应用中添加广告。我通过各种Firebase和Android Developers链接进行了研究,最后添加了代码。在Android Studio中添加广告ActivityMain.XML:android:id="@+id/adView...

    我是Android开发新手,想知道如何在Android应用中添加广告。我通过各种Firebase和Android Developers链接进行了研究,最后添加了代码。在Android Studio中添加广告

    ActivityMain.XML:

    android:id="@+id/adView"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_centerHorizontal="true"

    android:layout_alignParentBottom="true"

    ads:adSize="BANNER"

    ads:adUnitId="@string/banner_ad_unit_id">

    的AndroidManifest.xml:

    package="my.package.name">

    应用级别的gradle:

    apply plugin: 'com.android.application'

    android {

    compileSdkVersion 23

    buildToolsVersion "23.0.2"

    defaultConfig {

    applicationId "my.ID"

    minSdkVersion 15

    targetSdkVersion 23

    versionCode 2

    versionName "2"

    multiDexEnabled true

    }

    buildTypes {

    release {

    minifyEnabled false

    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

    }

    }

    dexOptions {

    javaMaxHeapSize "4g"

    }

    }

    dependencies {

    compile fileTree(include: ['*.jar'], dir: 'libs')

    testCompile 'junit:junit:4.12'

    compile 'com.android.support:appcompat-v7:23.3.0'

    compile 'com.android.support:support-v4:23.3.0'

    compile 'com.android.support:design:23.3.0'

    compile 'com.google.firebase:firebase-core:10.0.1'

    compile 'com.google.android.gms:play-services:10.0.1'

    compile 'com.google.android.gms:play-services-ads:10.0.1'

    compile 'com.android.support:multidex:1.0.0'

    }

    apply plugin: 'com.google.gms.google-services'

    项目级的build.gradle:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.

    buildscript {

    repositories {

    jcenter()

    }

    dependencies {

    classpath 'com.android.tools.build:gradle:2.1.3'

    classpath 'com.google.gms:google-services:3.0.0'

    // NOTE: Do not place your application dependencies here; they belong

    // in the individual module build.gradle files

    }

    }

    allprojects {

    repositories {

    jcenter()

    }

    }

    task clean(type: Delete) {

    delete rootProject.buildDir

    }

    的strings.xml:

    AppID from AdMob

    MainActivity.JAVA:

    MobileAds.initialize(getApplicationContext(), "ca-app-pub-APPID from ADMob");

    AdView mAdView = (AdView) findViewById(R.id.adView);

    AdRequest adRequest = new AdRequest.Builder().build();

    mAdView.loadAd(adRequest);

    有哪些我的东西失踪?当我将其作为Play商店中已发布应用的更新发布时,是否可以看到广告?另外,Admob将如何支付我?

    运行应用程序后没有错误。

    谢谢, Kvaibhav01。

    更新:我试图发布应用,release.apk文件在开发者控制台,它说:

    您上传的用不同的证书签署 你以前的APK的APK。您必须使用相同的证书。

    如何解决这个问题?

    +1

    你的问题是因为你使用不同的密钥签署的apk。不是因为admob。 –

    +0

    Okay @ישואוהבאותך。但如何纠正钥匙? –

    +0

    请在这里阅读https://guides.codepath.com/android/Publishing-to-the-Play-Store –

    展开全文
  • 主要介绍了Android 应用启动欢迎界面广告的相关资料,需要的朋友可以参考下
  • Android启动广告

    千次阅读 2017-12-05 00:02:20
    1、前言在Android项目开发中,经常会遇到需要实现启动广告的需求。今天就来整理下启动广告的实现,以便在今后的项目中拿来参考使用。 2、概述实现思路: 1、在启动页初始化阶段,访问后端接口,获取广告数据,广告数据...

    1、前言

    在Android项目开发中,经常会遇到需要实现启动页广告的需求。今天就来整理下启动页广告的实现,以便在今后的项目中拿来参考使用。
    

    2、概述

    实现思路:
    1、在启动页初始化阶段,访问后端接口,获取广告数据,广告数据封装在JavaBean当中。
    2、根据返回的数据中的广告类型,选择展示方式,比如静态图,Gif动图或者视频等,如果返回的广告数据为空,则在启动页资源初始化后直接跳转到主页面。
    3、展示广告,并开始广告倒计时,点击跳过或者倒计时结束,则从启动页跳转到主页面。
    总体实现思路如上,本文用到第三方框架Glide。
    

    3、实现

    创建工程,配置清单文件,记得在清单文件中加入以下权限:
    
     <uses-permission android:name="android.permission.INTERNET"/>
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    关键代码如下。

        //倒计时Handler
        private Handler mHandler = new Handler() {
            @Override
            public void handleMessage(Message msg) {
                if (time < 0) {
                    mAdShowStatus = true;
                    if (mHandler != null && mHandler.hasMessages(0)) {
                        mHandler.removeMessages(0);
                    }
                    enterToMain();
                } else {
                    time = time - 1;
                    ad_time_tv.setText("跳过" + time);
                    mHandler.sendEmptyMessageDelayed(0, 1000);
                }
            }
    
        };
        //展示广告
        private void showAd(AdverBean bean) {
            ad_time_tv.setVisibility(View.VISIBLE);
            switch (bean.getAdvertType()) {
                case Constant.IMAGE_TYPE://Image类型
                    final WeakReference<ImageView> imageViewWeakReference1 = new WeakReference<>(ad_iv);
                    ImageView target1 = imageViewWeakReference1.get();
                    if (target1 != null) {
                        Glide.with(this)
                                .load(bean.getAdvertUrl())
                                .into(target1);
                        time = 3;
                        ad_time_tv.setText("跳过" + time);
                        mHandler.sendEmptyMessageDelayed(0, 1000);
                    }
                    break;
                case Constant.GIF_TYPE://GIF类型
                    final WeakReference<ImageView> imageViewWeakReference2 = new WeakReference<>(ad_iv);
                    ImageView target2 = imageViewWeakReference2.get();
                    if (target2!= null) {
                        Glide.with(this)
                                .load(bean.getAdvertUrl())
                                .into(target2);
                        time = 5;
                        ad_time_tv.setText("跳过" + time);
                        mHandler.sendEmptyMessageDelayed(0, 1000);
                    }
                    break;
                default:
                    mAdShowStatus = true;
                    enterToMain();
            }
        }
    

    运行效果
    代码下载

    展开全文
  • android启动广告欢迎界面

    千次阅读 2016-12-13 15:19:24
    之前做的app启动页与主界面做在一个activity中了,通过visibility属性加上动画效果做的启动页,添加的广告页如果也写在一起,想想头就大了,果断单独又提出了一个acitivity,将启动页与广告页放在了一起。...

    这个广告界面主要做的就是倒计时功能,当然,中间也出现了一些问题,秉着遇到问题解决问题的原则,慢慢的做出来了,可能也不太完善,先这样。

    之前做的app启动页与主界面做在一个activity中了,通过visibility属性加上动画效果做的启动页,添加的广告页如果也写在一起,想想头就大了,果断单独又提出了一个acitivity,将启动页与广告页放在了一起。

    遇到的问题:

    1.状态栏的问题——启动页的image的颜色跟广告页的颜色差距太大,用的同一个image,状态栏不能自动变换颜色:

    解决:将状态栏颜色至为透明。

    2.定时器的问题——在点击完广告链接之后,定时器还在走,之后自动跳转页面:

    解决:handler.removeMessages(0);

    3.Bitmap传值的问题:

    开始将启动页与广告页做在了两个activity中,本想要的效果是在启动页时开始下载图片,当图片下载完成时跳转到广告页显示,这就涉及到了在两个activity中传递Bitmap的问题,我直接用

    intent.putExtra("BITMAP",bitmap);

    在取值的页面

    Bitmap bitmap = getIntent().getParcelableExtra("BITMAP");

    也不报错,数据大小也能获取到,但就是显示不出来数据,网上说是不能传大于40k的,具体也没研究,就改成了在一个activity中显示了。

    传递Bitmap参考:http://blog.csdn.net/xueerfei008/article/details/23046341


    以下附上代码:(删除了请求数据的部分)

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    
        <ImageView
            android:id="@+id/welcome"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="fitXY"
            android:src="@drawable/welcome_logo" />
    
        <LinearLayout
            android:id="@+id/lin_clock"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:layout_marginTop="25dp"
            android:orientation="horizontal"
            android:visibility="gone" >
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right"
                android:text="广告倒计时:"
                android:textColor="@color/app_color"
                android:textSize="20sp" />
    
            <TextView
                android:id="@+id/textView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right"
                android:text="5"
                android:textColor="@color/app_color"
                android:textSize="20sp" />
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right"
                android:text="秒"
                android:textColor="@color/app_color"
                android:textSize="20sp" />
        </LinearLayout>
    
    </FrameLayout>
    java代码:
    **
     * app初始化页面
     */
    @ParentViewInject(R.layout.activity_first)
    public class FirstActivity extends MyActivity {
    	public static String ISADV = "isAdv";
    	@ChildViewInject(value = R.id.welcome, tag = "遮盖层")
    	private ImageView mWelcome;
    	@ChildViewInject(value = R.id.textView, tag = "倒计时")
    	private TextView textView;
    	@ChildViewInject(value = R.id.lin_clock, tag = "倒计时")
    	private LinearLayout lin_clock;
    
    
    	public static String ADV_IMAGE_NAME = "adv_image";
    
    	// 是否显示广告页
    	private String flag;
    	// 跳转的url
    	private String url;
    	// 广告秒数
    	private int count;
    	// 广告页本地地址
    	private String filePath;
    	private Bitmap bitmap;
    	private Animation animation;
    	/**
    	 * 做定时器的handler
    	 */
    	private Handler handler = new Handler() {
    		public void handleMessage(android.os.Message msg) {
    			if (msg.what == 0) {
    				textView.setText(getCount() + "");
    				handler.sendEmptyMessageDelayed(0, 1000);
    				animation.reset();
    				textView.startAnimation(animation);
    			}
    
    
    		};
    
    
    	};
    	/**
    	 * 声明处理动画的handler
    	 */
    	private Handler handler_animation = new Handler() {
    
    
    		@Override
    		public void handleMessage(Message msg) {
    			super.handleMessage(msg);
    			switch (msg.what) {
    			case 1:
    				lin_clock.setVisibility(View.VISIBLE);
    				mWelcome.setImageBitmap(bitmap);
    				animation = AnimationUtils.loadAnimation(FirstActivity.this,
    						R.anim.animation_text);
    				handler.sendEmptyMessageDelayed(0, 1000);
    				break;
    
    
    			case 2:
    				break;
    			}
    		}
    
    
    	};
    
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		setTranslucentStatus();
    		super.onCreate(savedInstanceState);
    		//初始化的时候取数据
    		//flag =;
    		//url = ;
    		//count = ;
    		//filePath ;
    		bitmap = BitmapFactory.decodeFile(filePath);
     //为了让app启动页正常显示,加了延时-该延时正常是下载图片的时间,这里将图片下载到了本地,每次启动时显示的都是上次加载的
    new Handler().postDelayed(new Runnable() {
    
    public void run() {
    
    if ("1".equals(flag) && bitmap != null) {
    handler_animation.sendEmptyMessage(1);
    if (!TextUtils.isEmpty(url)) {//广告图片点击之后的响应
    mWelcome.setOnClickListener(new OnClickListener() {
    
    @Override
    public void onClick(View v) {
    Intent intent = new Intent(FirstActivity.this,
    WebActivity.class);
    intent.putExtra(
    HomeWebFragment.EXTRA_PARAM_URL, url);
    intent.putExtra(ISADV, true);
    IntentUtil.startNewActivityWithData(
    (Activity) FirstActivity.this, intent);
    handler.removeMessages(0);//关键-将定时器remove掉,不然跳转之后还在记时
    finish();
    }
    });
    }
    } else {
    turnMainAnXinActivity();
    }
    }
    
    }, 1000);
    
    }
    
    /**
    * 跳转到主界面
    */
    private void turnMainAnXinActivity() {
    Intent intent = new Intent(this, MainAnXinActivity.class);
    startActivity(intent);
    finish();
    }
    
    
    private int getCount() {
    count--;
    if (count == 0) {
    turnMainAnXinActivity();
    }
    return count;
    }
    
    
    /**
    * 广告页状态栏设置为透明(在setContentView()方法之前使用)
    */
    private void setTranslucentStatus() {
    // 4.4以上支持
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    // 透明状态栏
    getWindow().addFlags(
    WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    // 透明导航栏
    // getWindow().addFlags(
    // WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
    // SystemStatusManager tintManager = new SystemStatusManager(this);
    // tintManager.setStatusBarTintEnabled(true);
    // // 设置状态栏的颜色
    // tintManager.setStatusBarTintResource(R.color.trans);
    // getWindow().getDecorView().setFitsSystemWindows(true);
    }
    }
    }



    展开全文
  • android 启动界面广告的显示

    千次阅读 2015-12-16 22:23:45
    1. 启动的时候拉取图片,这样实时性会很高,但是在网络不好的情况下会加载失败 2. 在用户使用应用的过程中将新的图片下载下来,等用户下次启动应用的时候显示出来,这样实时性不高,但是感觉效果较好 我实现的...
  • android 关于启动广告的总结。

    千次阅读 2017-12-02 14:10:10
    android 启动广告页的实现以及一些细节注意。
  • Android 启动页面与广告页面的实现

    万次阅读 多人点赞 2017-03-26 16:46:27
    在我们APP的开发过程中,启动页面是绕不开的,广告页面说不定,但是不得不说,这两个界面都是经常要用到的。接下来我记录一下我的实现过程。项目架构为MVP。  那么先看看我们的需求和流程:(当然这也是可以根据...
  • android启动界面开屏广告

    千次阅读 2019-06-05 22:09:57
    import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.view...
  • android 启动广告 适配几种方案

    千次阅读 2017-01-22 12:33:52
    众所周知android手机屏幕各式各样,做满屏启动广告需要适配一大堆屏幕,图片内容必须完整地显示出来,不应该变形。 虽然自己不是什么大牛,纯粹为了学习想研究一下怎么做满屏图片较合理写下此文章第一种方案...
  • 前言还记得之前我们写了一篇文章,基于RxJava实现酷炫启动页,然而当我们点击桌面图标启动APP时,有时会闪一下黑色背景,有时黑色背景时间还比较长,哎呀,难看死了,这个怎么办捏,别方,我们今天就来看看启动页的...
  • Android开发启动app弹出一张广告图片,Dialog可以查看大图,查看某个图片功能
  • android仿腾讯视频启动页及广告页面动画效果实现
  • 可以帮您自动跳过APP启动广告for Android
  • 在我们APP的开发过程中,启动页面是绕不开的,广告页面说不定,但是不得不说,这两个界面都是经常要用到的。接下来我记录一下我的实现过程。项目架构为MVP。   那么先看看我们的需求和流程:(当然这也是可以根据...
  • 系统创建进程以及Application2.Application到Acitivty第一部分是系统黑盒子模块,我们没有办法通过代码优化,但是第二部分我们可以通过代码进行优化。冷启动App 没有启动过或 App 进程被杀,系统中不存在该 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,823
精华内容 6,729
关键字:

安卓去启动广告