本文来自投稿,不代表长河网立场,转载请注明出处: http://www.changhe99.com/a/oRr849krXl.html
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(); }}步骤阅读ENDMainActivity的XML布局和代码:1XML布局和代码ruxiat步骤阅读步骤阅读2运行效果如下:应用开屏广告、插屏广告、其它广告步骤阅读步骤阅读END方法/步骤41DEMO下载(百度云):http://pan.baidu.com/s/1i53LCFj提取码:f99dEND注意事项这是AndroidStudio2.3开发平台下实验结果,Eclipse开发平台未测试实验,效果未知..若有心得,请大家点赞、分享一下,O(∩_∩)O谢谢
赞
(0)