广告植入Android教程(新手植入有米广告教程)

Android教程(新手植入有米广告教程),作为安卓开发者,可能或多或少都听说过一些在应用植入广告赚取零花钱的事。那么我们该如何给一个应用植入广告呢,今天来和大家一起学习如何从零开始植入某米的广告过程。(非喜勿喷嘎,不懂可以私信我)
作为安卓开发者,可能或多或少都听说过一些在应用植入广告赚取零花钱的事。那么我们该如何给一个应用植入广告呢,今天来和大家一起学习如何从零开始植入某米的广告过程。(非喜勿喷嘎,不懂可以私信我)步骤阅读工具/原料AndroidStudio安卓手机一部方法/步骤1第一步,到有米官网中申请一个开发者账户并新建一个应用,之后获取应用的应用秘钥和发布ID。如下图:步骤阅读2第二步,下载有米广告SDD,并解压该SDK,把其中libs文件夹中以.arr结尾的文件复制到AS的新工程libs文件夹中,然后编译一下。如下图:选中arr包,然后并点击工具栏红圈中的东东,这样arr包就和工程绑定了。步骤阅读3第二点二步:配置应用的build.gradle文件,记住是应用的,不是工程build.gradle文件。具体如下图红圈所示:加入文件所没有的代码即可,后编译一下。步骤阅读END第三步:配置AndroidMainfest.xml文件1                                                                                                                                                                                                                                                         有米SDK为了兼容AndroidN应用间共享文件行为变更而需要配置的FileProvider                                                        2第四步,新建三个Activity和所属的XMl布局文件,为:SplashActivity、MainActivity、BaseActivity具体代码如下:1、BaseActivity的XML布局(其实没用到这布局)和类中代码:publicclassBaseActivityextendsAppCompatActivity{    protectedstaticfinalStringTAG=\"youmi-demo\";     protectedContextmContext;    @Override    protectedvoidonCreate(BundlesavedInstanceState){        super.onCreate(savedInstanceState);        mContext=this;        setContentView(R.layout.activity_base);    }    /**     *打印调试级别日志     *     *@paramformat     *@paramargs     */    protectedvoidlogDebug(Stringformat,Object...args){        logMessage(Log.DEBUG,format,args);    }     /**     *打印信息级别日志     *     *@paramformat     *@paramargs     */    protectedvoidlogInfo(Stringformat,Object...args){        logMessage(Log.INFO,format,args);    }     /**     *打印错误级别日志     *     *@paramformat     *@paramargs     */    protectedvoidlogError(Stringformat,Object...args){        logMessage(Log.ERROR,format,args);    }     /**     *展示短时Toast     *     *@paramformat     *@paramargs     */    protectedvoidshowShortToast(Stringformat,Object...args){        showToast(Toast.LENGTH_SHORT,format,args);    }     /**     *展示长时Toast     *     *@paramformat     *@paramargs     */    protectedvoidshowLongToast(Stringformat,Object...args){        showToast(Toast.LENGTH_LONG,format,args);    }     /**     *打印日志     *     *@paramlevel     *@paramformat     *@paramargs     */    privatevoidlogMessage(intlevel,Stringformat,Object...args){        StringformattedString=String.format(format,args);        switch(level){            caseLog.DEBUG:                Log.d(TAG,formattedString);                break;            caseLog.INFO:                Log.i(TAG,formattedString);                break;            caseLog.ERROR:                Log.e(TAG,formattedString);                break;        }    }     /**     *展示Toast     *     *@paramduration     *@paramformat     *@paramargs     */    privatevoidshowToast(intduration,Stringformat,Object...args){        Toast.makeText(mContext,String.format(format,args),duration).show();    }}步骤阅读32、SplashActivity的XML布局文件和类中代码:publicclassSplashActivityextendsBaseActivity{    privatePermissionHelpermPermissionHelper;    @Override    protectedvoidonCreate(BundlesavedInstanceState){        requestWindowFeature(Window.FEATURE_NO_TITLE);        super.onCreate(savedInstanceState);        mContext=this;        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);        //移除标题栏         setContentView(R.layout.activity_splash);        runApp();//直接就运行了        //当系统为6.0以上时,需要申请权限     }    @Override    publicvoidonRequestPermissionsResult(intrequestCode,String[]permissions,int[]grantResults){        super.onRequestPermissionsResult(requestCode,permissions,grantResults);        mPermissionHelper.onRequestPermissionsResult(requestCode,permissions,grantResults);    }     @Override    protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){        super.onActivityResult(requestCode,resultCode,data);        mPermissionHelper.onActivityResult(requestCode,resultCode,data);    }    /**     *跑应用的逻辑     */    privatevoidrunApp(){        //初始化SDK        AdManager.getInstance(mContext).init(\"85aa56a59eac8b3d\",\"a14006f66f58d5d7\",true);        //设置开屏        setupSplashAd();    }     /**     *设置开屏广告     */    privatevoidsetupSplashAd(){        //创建开屏容器        finalRelativeLayoutsplashLayout=(RelativeLayout)findViewById(R.id.rl_splash);        RelativeLayout.LayoutParamsparams=                newRelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT);        params.addRule(RelativeLayout.ABOVE,R.id.view_divider);         //对开屏进行设置        SplashViewSettingssplashViewSettings=newSplashViewSettings();        // //设置是否展示失败自动跳转,默认自动跳转        // splashViewSettings.setAutoJumpToTargetWhenShowFailed(false);        //设置跳转的窗口类        splashViewSettings.setTargetClass(MainActivity.class);        //设置开屏的容器        splashViewSettings.setSplashViewContainer(splashLayout);         //展示开屏广告        SpotManager.getInstance(mContext)                .showSplash(mContext,splashViewSettings,newSpotListener(){                     @Override                    publicvoidonShowSuccess(){                        logInfo(\"开屏展示成功\");                    }                     @Override                    publicvoidonShowFailed(interrorCode){                        logError(\"开屏展示失败\");                        switch(errorCode){                            caseErrorCode.NON_NETWORK:                                logError(\"网络异常\");                                break;                            caseErrorCode.NON_AD:                                logError(\"暂无开屏广告\");                                break;                            caseErrorCode.RESOURCE_NOT_READY:                                logError(\"开屏资源还没准备好\");                                break;                            caseErrorCode.SHOW_INTERVAL_LIMITED:                                logError(\"开屏展示间隔限制\");                                break;                            caseErrorCode.WIDGET_NOT_IN_VISIBILITY_STATE:                                logError(\"开屏控件处在不可见状态\");                                break;                            default:                                logError(\"errorCode:%d\",errorCode);                                break;                        }                    }                     @Override                    publicvoidonSpotClosed(){                        logDebug(\"开屏被关闭\");                    }                     @Override                    publicvoidonSpotClicked(booleanisWebPage){                        logDebug(\"开屏被点击\");                        logInfo(\"是否是网页广告?%s\",isWebPage?\"是\":\"不是\");                    }                });    }     @Override    protectedvoidonDestroy(){        super.onDestroy();        //开屏展示界面的onDestroy()回调方法中调用        SpotManager.getInstance(mContext).onDestroy();    }}步骤阅读END​MainActivity的XML布局和代码:1XML布局和代码ruxiat步骤阅读步骤阅读2运行效果如下:应用开屏广告、插屏广告、其它广告步骤阅读步骤阅读END方法/步骤41DEMO下载(百度云):http://pan.baidu.com/s/1i53LCFj提取码:f99dEND注意事项这是AndroidStudio2.3开发平台下实验结果,Eclipse开发平台未测试实验,效果未知..若有心得,请大家点赞、分享一下,O(∩_∩)O谢谢

本文来自投稿,不代表长河网立场,转载请注明出处: http://www.changhe99.com/a/oRr849krXl.html

(0)

相关推荐