目录[隐藏]
准备工作步骤一.将 youmi-android.jar 导入您的工程中。
步骤二.在manifest.xml文件中配置用户权限请务必配置以下权限,否则将有可能获取不到广告。
请将下面权限配置代码复制到 AndroidManifest.xml 文件中 : <uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 步骤三.在AndroidManifest.xml中添加AdActivityAdActivity是广告详情展示的载体,请在AndroidManifest.xml中添加AdActivity: <activity android:name="net.youmi.android.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation"/> 步骤四.初始化账号信息在主Activity的onCreate中调用AdManager.init() 初始化 App ID 、App Secret、请求广告间隔和测试模式等参数(请务必在任意AdView初始化前调用一次)。 //第一个参数为您的应用发布Id //第二个参数为您的应用密码 //第三个参数是请求广告的间隔,有效的设置值为30至200,单位为秒 //第四个参数是设置测试模式,设置为true时,可以获取测试广告,正式发布请设置此参数为false AdManager.init(Context context,String appid, String appsec, int intervalSecond, boolean isTestMode);
步骤五.设置发布渠道号【可选】有米广告条 3.02版以后的sdk加入了分发渠道号设置,以后可以统计来自各个分发渠道的数据。 <meta-data android:name="YOUMI_CHANNEL" android:value="渠道编号"></meta-data>
注意:请在AndroidManifest.xml配置中加入meta-data参数,其中key为"YOUMI_CHANNEL" ,value为int型的渠道编号,请为每个不同渠道号打一个独立的包。详细的渠道编号请参见: http://wiki.youmi.net/wiki/PromotionChannelIDs 常用布局方式使用xml布局嵌入广告步骤一.建立attrs.xml文件在 res/values 文件夹中添加 attrs.xml。如果你没有添加这个文件,那你将不能在 layout 中设置 AdView 的属性。attrs.xml 文件的内容如下: <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="net.youmi.android.AdView"> <!--广告背景颜色[只对文字广告有效](取值范围为#000000----#ffffff) --> <attr name="backgroundColor" format="color" /> <!--广告文本颜色[只对文字广告有效](取值范围为#000000----#ffffff) --> <attr name="textColor" format="color" /> <!--广告背景透明度[只对文字广告有效],默认为 255,设置范围0-255 --> <attr name="backgroundTransparent" format="integer"/> </declare-styleable> </resources> 步骤二.在布局xml中嵌入有米广告视图以下为一个实例: <?xml version="1.0" encoding="utf-8"?> <!-- 需要设置命名空间 :umadsdk --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:umadsdk="http://schemas.android.com/apk/res/com.youmi" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <net.youmi.android.AdView android:id="@+id/adView" android:layout_width="fill_parent" android:layout_height="wrap_content" umadsdk:textColor="#ffffff" umadsdk:backgroundColor="#4076AA" umadsdk:backgroundTransparent="155"/> </LinearLayout> !注意: xmlns:umadsdk=”http://schemas.android.com/apk/res/您的应用包名” 这句一定要加上,不然编辑器会提示错误。 步骤三.XML布局代码部分public class XmlSample extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); // 应用Id 应用密码 广告请求间隔(s) 设置测试模式[false为发布模式] AdManager.init(this,"XXXXXXXXXXXX", "XXXXXXXXXXXX", 30, false); setContentView(com.youmi.R.layout.xmlsample); } } 使用代码布局嵌入广告以下是一个示例 public class CodeSample extends Activity{ /** Called when the activity is first created. */ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); // 应用Id 应用密码 广告请求间隔(s) 设置测试模式[false为发布模式] AdManager.init(this,"XXXXXXXXXXXX", "XXXXXXXXXXXX", 30, false); LinearLayout layout=new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL); layout.setBackgroundResource(R.drawable.bg); //初始化广告视图,可以使用其他的构造函数设置广告视图的背景色、透明度及字体颜色 AdView adView = new AdView(this); LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); layout.addView(adView, params); setContentView(layout); } } 使用悬浮布局嵌入广告以下是一个示例 public class SuspensoidSample extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); // 应用Id 应用密码 广告请求间隔(s) 设置测试模式[false为发布模式] AdManager.init(this,"XXXXXXXXXXXX", "XXXXXXXXXXXX", 30, false); setContentView(R.layout.main); //初始化广告视图 AdView adView = new AdView(this); FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT); //设置广告出现的位置(悬浮于屏幕右下角) params.gravity=Gravity.BOTTOM|Gravity.RIGHT; //将广告视图加入Activity中 addContentView(adView, params); } } 常见问题版本更新内容3.0版
3.01版
3.02版
3.03版
3.04版
3.05版
广告条的尺寸定义新版本的SDK对广告条尺寸进行了调整: 有米广告Android SDK使用哪种字符编码有米广告Android SDK使用UTF-8字符编码,在嵌入广告的时候请使用UTF-8编程环境,否则会出现乱码情况。 有米广告Android SDk兼容Android系统SDK的哪些版本有米广告Android SDK兼容Android 系统 1.6及以上版本SDK,对于1.5及以下版本可能会有兼容性问题。 关于AdViewListener接口当指定的AdView切换展示广告后或者请求广告失败后,该接口会通知监听者。该接口的设计是为了方便那些有需要在广告条展示广告后进行一些界面处理的开发者,但它不适用于统计展示数,因为在一个应用程序的生命周期中可能存在多个AdView实例,因此在运行的过程中,使用该接口统计到的切换展示广告的次数将会比广告的真正展示数多,如果依据该接口来统计展示数,结果将会与真实展示数相差很大。查询详细的展示数据请登录有米平台: http://www.youmi.net ps: 旧版本该接口的原型是AdListener,该接口的方法onReceiveAd实际上就是针对每个AdView实例切换广告的时候通知监听者,作用与新接口一样,但其命名不准确,导致了一些不必要的误会,现更正其命名为 void onAdViewSwitchedAd(AdView adView) 。 关于广告没有成功展示的问题排查如果出现广告没有展示的情况,请按下面的步骤检查:
关于混淆APK出错的问题如果使用xml布局并且使用proguard混淆apk,请在proguard.cfg中加入以下代码: -keep class net.youmi.android.** { *; } 更多常见问题请查看 http://wiki.youmi.net
附录:API文档net.youmi.android.AdManagerClass Overview有米广告参数配置管理类,用于初始化请求广告的相关设置 SummaryPublic Methods
Public Methodspublic static void init(Context context,String appid, String appsec, int intervalSecond, boolean isTestMode)初始化广告参数,必须在任意AdView实例化前调用。建议仅且在应用启动的时候在主Activity的onCreate中调用该方法初始化一次。 参数: context appid - 应用Id appsec - 应用密码 intervalSecond - 设置广告最小切换时间,单位为秒 isTestMode - 设置是否测试模式,如果设置为true,可以在真机上展示测试广告。在正式发布的版本中应该置为false public static void setDonotClearWebViewCache()SDK中有使用到WebView,为了避免应用程序中的缓存数据的积累造成大量的存储空间消耗,SDK会自动清除使用到的WebViewCache缓存。如果您的应用程序中有使用WebView,并且不希望清除缓存,可以调用此接口设置不清除缓存。否则,请不要调用此接口。 public static void disableUpdateApp()有米广告Android 3.0版SDK加入了应用程序自动检查更新功能,这样可以很方便您的应用升级。以后当您升级应用程序的时候,只需要将应用程序的最新版本上传到我们的服务器,审核通过以后,您的旧版应用程序在启动的时候就会自动检查更新,在得到用户的授权后,应用程序会下载最新版本安装,这样老用户可以更快地使用最新版本的软件。 SDK默认开启应用程序检查更新功能 如果您不希望使用该功能,可以调用此接口停用该功能。
net.youmi.android.AdViewClass OverviewAdView是展示广告的载体 SummaryPublic Constructors
Public Constructorspublic AdView(Activity activity)AdView构造函数,使用默认样式 public AdView(Context context, AttributeSet attrs)AdView构造函数,用于xml布局 public AdView(Context context, AttributeSet attrs, int defStyle)AdView构造函数,用于xml布局 public AdView(Activity activity, int backgroundColor, int textColor, int backgroundTransparent)AdView的构造函数 参数 activity - Activity backgroundColor - 文字广告的背景颜色 textColor - 文字广告的字体颜色 backgroundTransparent - 文字广告的背景透明度,范围是0到255 Public Methodspublic int getAdWidth()获取广告条宽度 public int getAdHeight()获取广告条的高度 public void refreshAd()在某些情况下,如停留时间较短的页面上放置广告条,希望使广告条尽快地展示广告,可以调用此接口尝试刷新展示广告。 public void setAdViewListener(AdViewListener listener)设置广告条监听接口
net.youmi.android.AdViewListenerClass OverviewAdView监听接口,监听一个指定的AdView的切换广告的状态。 SummaryPublic Methods
Public Methodspublic void onAdViewSwitchedAd(AdView adView)当指定的AdView实例切换所展示的广告时,会通知此接口监听者。 ps: 旧版本该接口的原型是AdListener,该接口的方法onReceiveAd实际上就是针对每个AdView实例切换广告的时候通知监听者,作用与新接口一样,但其命名不准确,导致了一些不必要的误会,现更正其命名为 void onAdViewSwitchedAd(AdView adView) 。 public void onConnectFailed(AdView adView)当指定的AdView实例请求广告失败时,如遇到手机网络断开等情况,会调用此接口通知监听者
net.youmi.android.AdActivityClass OverviewAdActivity是展示广告详情的载体,请在AndroidManifest.xml中添加AdActivity: <activity android:name="net.youmi.android.spotad.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation"/> 准备工作步骤一.将 youmi-android.jar 导入您的工程中。
步骤二.在manifest.xml文件中配置用户权限请务必配置以下权限,否则将有可能获取不到广告。
请将下面权限配置代码复制到 AndroidManifest.xml 文件中 : <uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 步骤三.在AndroidManifest.xml中添加AdActivityAdActivity是广告详情展示的载体,请在AndroidManifest.xml中添加AdActivity: <activity android:name="net.youmi.android.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation"/> 步骤四.初始化账号信息在主Activity的onCreate中调用AdManager.init() 初始化 App ID 、App Secret、请求广告间隔和测试模式等参数(请务必在任意AdView初始化前调用一次)。 //第一个参数为您的应用发布Id //第二个参数为您的应用密码 //第三个参数是请求广告的间隔,有效的设置值为30至200,单位为秒 //第四个参数是设置测试模式,设置为true时,可以获取测试广告,正式发布请设置此参数为false AdManager.init(Context context,String appid, String appsec, int intervalSecond, boolean isTestMode);
步骤五.设置发布渠道号【可选】有米广告条 3.02版以后的sdk加入了分发渠道号设置,以后可以统计来自各个分发渠道的数据。 <meta-data android:name="YOUMI_CHANNEL" android:value="渠道编号"></meta-data>
注意:请在AndroidManifest.xml配置中加入meta-data参数,其中key为"YOUMI_CHANNEL" ,value为int型的渠道编号,请为每个不同渠道号打一个独立的包。详细的渠道编号请参见: http://wiki.youmi.net/wiki/PromotionChannelIDs 常用布局方式使用xml布局嵌入广告步骤一.建立attrs.xml文件在 res/values 文件夹中添加 attrs.xml。如果你没有添加这个文件,那你将不能在 layout 中设置 AdView 的属性。attrs.xml 文件的内容如下: <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="net.youmi.android.AdView"> <!--广告背景颜色[只对文字广告有效](取值范围为#000000----#ffffff) --> <attr name="backgroundColor" format="color" /> <!--广告文本颜色[只对文字广告有效](取值范围为#000000----#ffffff) --> <attr name="textColor" format="color" /> <!--广告背景透明度[只对文字广告有效],默认为 255,设置范围0-255 --> <attr name="backgroundTransparent" format="integer"/> </declare-styleable> </resources> 步骤二.在布局xml中嵌入有米广告视图以下为一个实例: <?xml version="1.0" encoding="utf-8"?> <!-- 需要设置命名空间 :umadsdk --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:umadsdk="http://schemas.android.com/apk/res/com.youmi" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <net.youmi.android.AdView android:id="@+id/adView" android:layout_width="fill_parent" android:layout_height="wrap_content" umadsdk:textColor="#ffffff" umadsdk:backgroundColor="#4076AA" umadsdk:backgroundTransparent="155"/> </LinearLayout> !注意: xmlns:umadsdk=”http://schemas.android.com/apk/res/您的应用包名” 这句一定要加上,不然编辑器会提示错误。 步骤三.XML布局代码部分public class XmlSample extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); // 应用Id 应用密码 广告请求间隔(s) 设置测试模式[false为发布模式] AdManager.init(this,"XXXXXXXXXXXX", "XXXXXXXXXXXX", 30, false); setContentView(com.youmi.R.layout.xmlsample); } } 使用代码布局嵌入广告以下是一个示例 public class CodeSample extends Activity{ /** Called when the activity is first created. */ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); // 应用Id 应用密码 广告请求间隔(s) 设置测试模式[false为发布模式] AdManager.init(this,"XXXXXXXXXXXX", "XXXXXXXXXXXX", 30, false); LinearLayout layout=new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL); layout.setBackgroundResource(R.drawable.bg); //初始化广告视图,可以使用其他的构造函数设置广告视图的背景色、透明度及字体颜色 AdView adView = new AdView(this); LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); layout.addView(adView, params); setContentView(layout); } } 使用悬浮布局嵌入广告以下是一个示例 public class SuspensoidSample extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); // 应用Id 应用密码 广告请求间隔(s) 设置测试模式[false为发布模式] AdManager.init(this,"XXXXXXXXXXXX", "XXXXXXXXXXXX", 30, false); setContentView(R.layout.main); //初始化广告视图 AdView adView = new AdView(this); FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT); //设置广告出现的位置(悬浮于屏幕右下角) params.gravity=Gravity.BOTTOM|Gravity.RIGHT; //将广告视图加入Activity中 addContentView(adView, params); } } 常见问题版本更新内容3.0版
3.01版
3.02版
3.03版
3.04版
3.05版
广告条的尺寸定义新版本的SDK对广告条尺寸进行了调整: 有米广告Android SDK使用哪种字符编码有米广告Android SDK使用UTF-8字符编码,在嵌入广告的时候请使用UTF-8编程环境,否则会出现乱码情况。 有米广告Android SDk兼容Android系统SDK的哪些版本有米广告Android SDK兼容Android 系统 1.6及以上版本SDK,对于1.5及以下版本可能会有兼容性问题。 关于AdViewListener接口当指定的AdView切换展示广告后或者请求广告失败后,该接口会通知监听者。该接口的设计是为了方便那些有需要在广告条展示广告后进行一些界面处理的开发者,但它不适用于统计展示数,因为在一个应用程序的生命周期中可能存在多个AdView实例,因此在运行的过程中,使用该接口统计到的切换展示广告的次数将会比广告的真正展示数多,如果依据该接口来统计展示数,结果将会与真实展示数相差很大。查询详细的展示数据请登录有米平台: http://www.youmi.net ps: 旧版本该接口的原型是AdListener,该接口的方法onReceiveAd实际上就是针对每个AdView实例切换广告的时候通知监听者,作用与新接口一样,但其命名不准确,导致了一些不必要的误会,现更正其命名为 void onAdViewSwitchedAd(AdView adView) 。 关于广告没有成功展示的问题排查如果出现广告没有展示的情况,请按下面的步骤检查:
关于混淆APK出错的问题如果使用xml布局并且使用proguard混淆apk,请在proguard.cfg中加入以下代码: -keep class net.youmi.android.** { *; } 更多常见问题请查看 http://wiki.youmi.net 附录:API文档net.youmi.android.AdManagerClass Overview有米广告参数配置管理类,用于初始化请求广告的相关设置 SummaryPublic Methods
Public Methodspublic static void init(Context context,String appid, String appsec, int intervalSecond, boolean isTestMode)初始化广告参数,必须在任意AdView实例化前调用。建议仅且在应用启动的时候在主Activity的onCreate中调用该方法初始化一次。 参数: context appid - 应用Id appsec - 应用密码 intervalSecond - 设置广告最小切换时间,单位为秒 isTestMode - 设置是否测试模式,如果设置为true,可以在真机上展示测试广告。在正式发布的版本中应该置为false public static void setDonotClearWebViewCache()SDK中有使用到WebView,为了避免应用程序中的缓存数据的积累造成大量的存储空间消耗,SDK会自动清除使用到的WebViewCache缓存。如果您的应用程序中有使用WebView,并且不希望清除缓存,可以调用此接口设置不清除缓存。否则,请不要调用此接口。 public static void disableUpdateApp()有米广告Android 3.0版SDK加入了应用程序自动检查更新功能,这样可以很方便您的应用升级。以后当您升级应用程序的时候,只需要将应用程序的最新版本上传到我们的服务器,审核通过以后,您的旧版应用程序在启动的时候就会自动检查更新,在得到用户的授权后,应用程序会下载最新版本安装,这样老用户可以更快地使用最新版本的软件。 SDK默认开启应用程序检查更新功能 如果您不希望使用该功能,可以调用此接口停用该功能。 net.youmi.android.AdViewClass OverviewAdView是展示广告的载体 SummaryPublic Constructors
Public Constructorspublic AdView(Activity activity)AdView构造函数,使用默认样式 public AdView(Context context, AttributeSet attrs)AdView构造函数,用于xml布局 public AdView(Context context, AttributeSet attrs, int defStyle)AdView构造函数,用于xml布局 public AdView(Activity activity, int backgroundColor, int textColor, int backgroundTransparent)AdView的构造函数 参数 activity - Activity backgroundColor - 文字广告的背景颜色 textColor - 文字广告的字体颜色 backgroundTransparent - 文字广告的背景透明度,范围是0到255 Public Methodspublic int getAdWidth()获取广告条宽度 public int getAdHeight()获取广告条的高度 public void refreshAd()在某些情况下,如停留时间较短的页面上放置广告条,希望使广告条尽快地展示广告,可以调用此接口尝试刷新展示广告。 public void setAdViewListener(AdViewListener listener)设置广告条监听接口 net.youmi.android.AdViewListenerClass OverviewAdView监听接口,监听一个指定的AdView的切换广告的状态。 SummaryPublic Methods
Public Methodspublic void onAdViewSwitchedAd(AdView adView)当指定的AdView实例切换所展示的广告时,会通知此接口监听者。 ps: 旧版本该接口的原型是AdListener,该接口的方法onReceiveAd实际上就是针对每个AdView实例切换广告的时候通知监听者,作用与新接口一样,但其命名不准确,导致了一些不必要的误会,现更正其命名为 void onAdViewSwitchedAd(AdView adView) 。 public void onConnectFailed(AdView adView)当指定的AdView实例请求广告失败时,如遇到手机网络断开等情况,会调用此接口通知监听者 net.youmi.android.AdActivityClass OverviewAdActivity是展示广告详情的载体,请在AndroidManifest.xml中添加AdActivity: <activity android:name="net.youmi.android.spotad.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation"/> |
有米积分墙的使用
最新推荐文章于 2021-10-14 19:58:28 发布