Commit f0eae285e49f17091a4d8e908b81071c210ee313
1 parent
fa364e4c
1.更新Demo说明注释
Showing
4 changed files
with
28 additions
and
14 deletions
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" |