Commit f0eae285e49f17091a4d8e908b81071c210ee313

Authored by 朱显松
1 parent fa364e4c

1.更新Demo说明注释

app/src/main/java/cn/vlion/simple/NativeFeedsDemo1Activity.java
@@ -98,16 +98,16 @@ public class NativeFeedsDemo1Activity extends AppCompatActivity { @@ -98,16 +98,16 @@ public class NativeFeedsDemo1Activity extends AppCompatActivity {
98 rating.setText(data.getNativead().getRating() == null ? "0分" : data.getNativead().getRating() + "分"); 98 rating.setText(data.getNativead().getRating() == null ? "0分" : data.getNativead().getRating() + "分");
99 click.setText(data.getNativead().getButton() == null ? "ad click" : data.getNativead().getButton()); 99 click.setText(data.getNativead().getButton() == null ? "ad click" : data.getNativead().getButton());
100 100
101 - //原生广告-点击事件 101 + //原生广告
102 //1.用户可按照API接口文档自行处理 102 //1.用户可按照API接口文档自行处理
103 //2.用户交由SDK处理,实现方式如下 103 //2.用户交由SDK处理,实现方式如下
104 104
105 //已弃用方法 NativeManager -> onClick(Context context, BaseData baseData, NativeAdStatusChangeListener statusChangeListener) 105 //已弃用方法 NativeManager -> onClick(Context context, BaseData baseData, NativeAdStatusChangeListener statusChangeListener)
106 //该方法无法上报监测宏字段 ,会减少开发者广告收益! 106 //该方法无法上报监测宏字段 ,会减少开发者广告收益!
107 107
108 - //方式1  
109 - //用户捕获视图触摸事件,将按下\抬起坐标传入MonitorEvent中  
110 - //构造方式设置 108 + //MonitorEvent-广告视图事件坐标缓存
  109 + //构造方式
  110 + //MonitorEvent monitorEvent = new MonitorEvent();
111 //MonitorEvent monitorEvent = new MonitorEvent(downX, downY, upX, upY); 111 //MonitorEvent monitorEvent = new MonitorEvent(downX, downY, upX, upY);
112 //动态设置 112 //动态设置
113 //monitorEvent.onTouch(MotionEvent event)//用户触摸事件 113 //monitorEvent.onTouch(MotionEvent event)//用户触摸事件
@@ -115,13 +115,16 @@ public class NativeFeedsDemo1Activity extends AppCompatActivity { @@ -115,13 +115,16 @@ public class NativeFeedsDemo1Activity extends AppCompatActivity {
115 //monitorEvent.setDownY();//用户手指按下时的纵坐标 115 //monitorEvent.setDownY();//用户手指按下时的纵坐标
116 //monitorEvent.setUpX();//用户手指离开设备屏幕时的横坐标 116 //monitorEvent.setUpX();//用户手指离开设备屏幕时的横坐标
117 //monitorEvent.setUpY();//用户手指离开设备屏幕时的横坐标 117 //monitorEvent.setUpY();//用户手指离开设备屏幕时的横坐标
  118 +
  119 + //方式1
118 //SDK定义的布局容器 NativeFrameLayout / NativeGridLayout / NativeLinearLayout / NativeRelativeLayout 120 //SDK定义的布局容器 NativeFrameLayout / NativeGridLayout / NativeLinearLayout / NativeRelativeLayout
  121 + //SDK布局容器会自动获取MonitorEvent相关信息
  122 + //用户也可以自行捕获视图触摸事件,按下\抬起坐标传入MonitorEvent中
119 click.setOnClickListener(new View.OnClickListener() { 123 click.setOnClickListener(new View.OnClickListener() {
120 @Override 124 @Override
121 public void onClick(View v) { 125 public void onClick(View v) {
122 - //SDK布局容器会自动获取MonitorEvent相关信息  
123 - //SDL布局容器.getMonitorEvent()直接获取MonitorEvent无需自己处理自定义视图及事件传递  
124 - //调用NativeManager.onClick(...)通知SDK触发广告点击事件 126 + //SDK布局容器.getMonitorEvent()直接获取MonitorEvent无需自己处理自定义视图及事件传递
  127 + //通知SDK触发广告点击事件
125 NativeManager.getInstance().onClick(NativeFeedsDemo1Activity.this, data, adLayout.getMonitorEvent(), statusChangeListener); 128 NativeManager.getInstance().onClick(NativeFeedsDemo1Activity.this, data, adLayout.getMonitorEvent(), statusChangeListener);
126 } 129 }
127 }); 130 });
app/src/main/java/cn/vlion/simple/NativeFeedsDemo2Activity.java
@@ -97,24 +97,31 @@ public class NativeFeedsDemo2Activity extends AppCompatActivity { @@ -97,24 +97,31 @@ public class NativeFeedsDemo2Activity extends AppCompatActivity {
97 rating.setText(data.getNativead().getRating() == null ? "0分" : data.getNativead().getRating() + "分"); 97 rating.setText(data.getNativead().getRating() == null ? "0分" : data.getNativead().getRating() + "分");
98 click.setText(data.getNativead().getButton() == null ? "ad click" : data.getNativead().getButton()); 98 click.setText(data.getNativead().getButton() == null ? "ad click" : data.getNativead().getButton());
99 99
100 - //原生广告-点击事件 100 + //原生广告
101 //1.用户可按照API接口文档自行处理 101 //1.用户可按照API接口文档自行处理
102 //2.用户交由SDK处理,实现方式如下 102 //2.用户交由SDK处理,实现方式如下
103 103
104 //已弃用方法 NativeManager -> onClick(Context context, BaseData baseData, NativeAdStatusChangeListener statusChangeListener) 104 //已弃用方法 NativeManager -> onClick(Context context, BaseData baseData, NativeAdStatusChangeListener statusChangeListener)
105 //该方法无法上报监测宏字段 ,会减少开发者广告收益! 105 //该方法无法上报监测宏字段 ,会减少开发者广告收益!
106 106
107 - //方式1  
108 - //用户捕获视图触摸事件,将按下\抬起坐标传入MonitorEvent中  
109 - //构造方式设置 107 + //MonitorEvent-广告视图事件坐标缓存
  108 + //构造方式
  109 + //MonitorEvent monitorEvent = new MonitorEvent();
110 //MonitorEvent monitorEvent = new MonitorEvent(downX, downY, upX, upY); 110 //MonitorEvent monitorEvent = new MonitorEvent(downX, downY, upX, upY);
111 //动态设置 111 //动态设置
  112 + //monitorEvent.onTouch(MotionEvent event)//用户触摸事件
112 //monitorEvent.setDownX();//用户手指按下时的横坐标 113 //monitorEvent.setDownX();//用户手指按下时的横坐标
113 //monitorEvent.setDownY();//用户手指按下时的纵坐标 114 //monitorEvent.setDownY();//用户手指按下时的纵坐标
114 //monitorEvent.setUpX();//用户手指离开设备屏幕时的横坐标 115 //monitorEvent.setUpX();//用户手指离开设备屏幕时的横坐标
115 //monitorEvent.setUpY();//用户手指离开设备屏幕时的横坐标 116 //monitorEvent.setUpY();//用户手指离开设备屏幕时的横坐标
116 - //点击事件时调用  
117 - //NativeManager.getInstance().onClick(NativeFeedsDemoActivity.this, data, monitorEvent, statusChangeListener); 117 +
  118 + //方式1
  119 + //SDK定义的布局容器 NativeFrameLayout / NativeGridLayout / NativeLinearLayout / NativeRelativeLayout
  120 + //SDK布局容器会自动获取MonitorEvent相关信息
  121 + //用户也可以自行捕获视图触摸事件,按下\抬起坐标传入MonitorEvent中
  122 + //SDK布局容器.getMonitorEvent()直接获取MonitorEvent无需自己处理自定义视图及事件传递
  123 + //通知SDK触发广告点击事件
  124 + //NativeManager.getInstance().onClick(NativeFeedsDemo1Activity.this, data, adLayout.getMonitorEvent(), statusChangeListener);
118 //曝光的调用 125 //曝光的调用
119 //NativeManager.getInstance().onExposure(data); 126 //NativeManager.getInstance().onExposure(data);
120 127
@@ -127,7 +134,8 @@ public class NativeFeedsDemo2Activity extends AppCompatActivity { @@ -127,7 +134,8 @@ public class NativeFeedsDemo2Activity extends AppCompatActivity {
127 click.setOnClickListener(new View.OnClickListener() { 134 click.setOnClickListener(new View.OnClickListener() {
128 @Override 135 @Override
129 public void onClick(View v) { 136 public void onClick(View v) {
130 - //TODO 自定义按钮点击事件,处理方式详见上方说明 137 + //在广告布局容器上层定义Click视图,容器将无法捕获事件
  138 + //这种情况需要开发者自行处理点击\上报,处理方式详见上方说明
131 Log.e(TAG, "Ad click"); 139 Log.e(TAG, "Ad click");
132 } 140 }
133 }); 141 });
app/src/main/res/layout/activity_native_feeds_demo1.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
  2 +<!--原生广告布局容器(放置在需要上报监测区域)-->
2 <cn.vlion.ad.view.natives.NativeRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 <cn.vlion.ad.view.natives.NativeRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:id="@+id/adLayout" 4 android:id="@+id/adLayout"
4 android:layout_width="match_parent" 5 android:layout_width="match_parent"
app/src/main/res/layout/activity_native_feeds_demo2.xml
@@ -4,10 +4,12 @@ @@ -4,10 +4,12 @@
4 android:layout_height="wrap_content" 4 android:layout_height="wrap_content"
5 android:padding="10dp"> 5 android:padding="10dp">
6 6
  7 + <!--原生广告布局容器(放置在需要上报监测区域)-->
7 <cn.vlion.ad.view.natives.NativeRelativeLayout 8 <cn.vlion.ad.view.natives.NativeRelativeLayout
8 android:id="@+id/nativeLayout" 9 android:id="@+id/nativeLayout"
9 android:layout_width="wrap_content" 10 android:layout_width="wrap_content"
10 android:layout_height="wrap_content"> 11 android:layout_height="wrap_content">
  12 +
11 <RelativeLayout 13 <RelativeLayout
12 android:id="@+id/topLayout" 14 android:id="@+id/topLayout"
13 android:layout_width="match_parent" 15 android:layout_width="match_parent"