admin
2024-01-26 c2d382d99ca506932985d1843d4371d6ed0203ff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
package com.weikou.beibeivideo.util.ad.manager.gm;
 
import android.app.Activity;
import android.util.Log;
 
//import com.bytedance.msdk.adapter.util.Logger;
//import com.bytedance.msdk.api.GMAdEcpmInfo;
//import com.bytedance.msdk.api.v2.GMAdConstant;
//import com.bytedance.msdk.api.v2.GMMediationAdSdk;
//import com.bytedance.msdk.api.v2.GMSettingConfigCallback;
//import com.bytedance.msdk.api.v2.ad.reward.GMRewardAd;
//import com.bytedance.msdk.api.v2.ad.reward.GMRewardedAdLoadCallback;
//import com.bytedance.msdk.api.v2.slot.GMAdOptionUtil;
//import com.bytedance.msdk.api.v2.slot.GMAdSlotRewardVideo;
 
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
public class GMAdRewardManager {
//    private static final String TAG = GMAdRewardManager.class.getSimpleName();
//
//    private GMRewardAd mGMRewardAd;
//    private Activity mActivity;
//    private GMRewardedAdLoadCallback mGMRewardedAdLoadCallback;
//    private int mOrientation; //方向
//    private String mAdUnitId; //广告位
//
//    public GMAdRewardManager(Activity activity, GMRewardedAdLoadCallback gmRewardedAdLoadCallback) {
//        mActivity = activity;
//        mGMRewardedAdLoadCallback = gmRewardedAdLoadCallback;
//    }
//
//    public GMRewardAd getGMRewardAd() {
//        return mGMRewardAd;
//    }
//
//
//    public void laodAdWithCallback(final String adUnitId, final int orientation) {
//        this.mOrientation = orientation;
//        this.mAdUnitId = adUnitId;
//
//        /**
//         * 判断当前是否存在config 配置 ,如果存在直接加载广告 ,如果不存在则注册config加载回调
//         */
//        if (GMMediationAdSdk.configLoadSuccess()) {
//            Log.e(TAG, "load ad 当前config配置存在,直接加载广告");
//            loadAd(adUnitId, orientation);
//        } else {
//            Log.e(TAG, "load ad 当前config配置不存在,正在请求config配置....");
//            GMMediationAdSdk.registerConfigCallback(mSettingConfigCallback); //不用使用内部类,否则在ondestory中无法移除该回调
//        }
//    }
//
//    private void loadAd(String unitId, int orientation) {
//        /**
//         * 注:每次加载激励视频广告的时候需要新建一个TTRewardAd,否则可能会出现广告填充问题
//         * ( 例如:mttRewardAd = new GMRewardAd(this, adUnitId);)
//         */
//        mGMRewardAd = new GMRewardAd(mActivity, unitId);
//
//        // 未开启gromore服务端验证
//        Map<String, String> customData = new HashMap<>();
//        customData.put(GMAdConstant.CUSTOM_DATA_KEY_PANGLE, "pangle media_extra");
//        customData.put(GMAdConstant.CUSTOM_DATA_KEY_GDT, "gdt custom data");
//        customData.put(GMAdConstant.CUSTOM_DATA_KEY_KS, "ks custom data");
//        customData.put(GMAdConstant.CUSTOM_DATA_KEY_SIGMOB, "sigmob custom data");
//        customData.put(GMAdConstant.CUSTOM_DATA_KEY_MINTEGRAL, "mintegral custom data");
//        // 如果开启了gromre服务端激励验证,可以传以下信息,跟adn无关。
//        customData.put(GMAdConstant.CUSTOM_DATA_KEY_GROMORE_EXTRA, "gromore serverside verify extra data"); // 会透传给媒体的服务器
//        // 其他需要透传给adn的数据。
//
//        GMAdSlotRewardVideo adSlotRewardVideo = new GMAdSlotRewardVideo.Builder()
//                .setMuted(true)//对所有SDK的激励广告生效,除需要在平台配置的SDK,如穿山甲SDK
//                .setVolume(0f)//配合Admob的声音大小设置[0-1]
//                .setGMAdSlotGDTOption(GMAdOptionUtil.getGMAdSlotGDTOption().build())
//                .setGMAdSlotBaiduOption(GMAdOptionUtil.getGMAdSlotBaiduOption().build())
//                .setCustomData(customData)
//                .setRewardName("金币") //奖励的名称
//                .setRewardAmount(3)  //奖励的数量
//                .setUserID("user123")//用户id,必传参数
//                .setUseSurfaceView(false)
//                .setOrientation(orientation)//必填参数,期望视频的播放方向:GMAdConstant.HORIZONTAL 或 GMAdConstant.VERTICAL
//                .setBidNotify(true)//开启bidding比价结果通知,默认值为false
//                .build();
//        mGMRewardAd.loadAd(adSlotRewardVideo, mGMRewardedAdLoadCallback);
//    }
//
//    public void destroy() {
//        if (mGMRewardAd != null) {
//            mGMRewardAd.destroy();
//        }
//        mActivity = null;
//        mGMRewardedAdLoadCallback = null;
//        GMMediationAdSdk.unregisterConfigCallback(mSettingConfigCallback); //注销config回调
//    }
//
//    /**
//     * config回调
//     */
//    private GMSettingConfigCallback mSettingConfigCallback = new GMSettingConfigCallback() {
//        @Override
//        public void configLoad() {
//            Log.e(TAG, "load ad 在config 回调中加载广告");
//            loadAd(mAdUnitId, mOrientation);
//        }
//    };
//
//
//    //-----------以下方法非必须 ,按需使用--------------
//
//    //打印已经加载广告的信息
//    public void printLoadAdInfo() {
//        if (mGMRewardAd == null) {
//            return;
//        }
//        /**
//         * 获取已经加载的clientBidding ,多阶底价广告的相关信息
//         */
//        List<GMAdEcpmInfo> gmAdEcpmInfos = mGMRewardAd.getMultiBiddingEcpm();
//        if (gmAdEcpmInfos != null) {
//            for (GMAdEcpmInfo info : gmAdEcpmInfos) {
//                Log.e(TAG, "***多阶+client相关信息*** AdNetworkPlatformId" + info.getAdNetworkPlatformId()
//                        + "  AdNetworkRitId:" + info.getAdNetworkRitId()
//                        + "  ReqBiddingType:" + info.getReqBiddingType()
//                        + "  PreEcpm:" + info.getPreEcpm()
//                        + "  LevelTag:" + info.getLevelTag()
//                        + "  ErrorMsg:" + info.getErrorMsg()
//                        + "  request_id:" + info.getRequestId()
//                        + "  SdkName:" + info.getAdNetworkPlatformName()
//                        + "  CustomSdkName:" + info.getCustomAdNetworkPlatformName());
//            }
//        }
//
//        /**
//         * 获取实时填充/缓存池中价格最优的代码位信息即相关价格信息,每次只有一个信息
//         */
//        GMAdEcpmInfo gmAdEcpmInfo = mGMRewardAd.getBestEcpm();
//        if (gmAdEcpmInfo != null) {
//            Log.e(TAG, "***实时填充/缓存池中价格最优的代码位信息*** AdNetworkPlatformId" + gmAdEcpmInfo.getAdNetworkPlatformId()
//                    + "  AdNetworkRitId:" + gmAdEcpmInfo.getAdNetworkRitId()
//                    + "  ReqBiddingType:" + gmAdEcpmInfo.getReqBiddingType()
//                    + "  PreEcpm:" + gmAdEcpmInfo.getPreEcpm()
//                    + "  LevelTag:" + gmAdEcpmInfo.getLevelTag()
//                    + "  ErrorMsg:" + gmAdEcpmInfo.getErrorMsg()
//                    + "  request_id:" + gmAdEcpmInfo.getRequestId()
//                    + "  SdkName:" + gmAdEcpmInfo.getAdNetworkPlatformName()
//                    + "  CustomSdkName:" + gmAdEcpmInfo.getCustomAdNetworkPlatformName());
//        }
//
//        /**
//         * 获取获取当前缓存池的全部信息
//         */
//        List<GMAdEcpmInfo> gmCacheInfos = mGMRewardAd.getCacheList();
//        if (gmCacheInfos != null) {
//            for (GMAdEcpmInfo info : gmCacheInfos) {
//                Log.e(TAG, "***缓存池的全部信息*** AdNetworkPlatformId" + info.getAdNetworkPlatformId()
//                        + "  AdNetworkRitId:" + info.getAdNetworkRitId()
//                        + "  ReqBiddingType:" + info.getReqBiddingType()
//                        + "  PreEcpm:" + info.getPreEcpm()
//                        + "  LevelTag:" + info.getLevelTag()
//                        + "  ErrorMsg:" + info.getErrorMsg()
//                        + "  request_id:" + info.getRequestId()
//                        + "  SdkName:" + info.getAdNetworkPlatformName()
//                        + "  CustomSdkName:" + info.getCustomAdNetworkPlatformName());
//            }
//        }
//    }
//
//    //打印加载失败的adn错误信息
//    public void printLoadFailAdnInfo() {
//        if (mGMRewardAd == null) {
//            return;
//        }
//
//        // 获取本次waterfall加载中,加载失败的adn错误信息。
//        Log.d(TAG, "reward ad loadinfos: " + mGMRewardAd.getAdLoadInfoList());
//    }
//
//    //打印已经展示的广告信息
//    public void printSHowAdInfo() {
//        if (mGMRewardAd == null) {
//            return;
//        }
//
//        GMAdEcpmInfo gmAdEcpmInfo = mGMRewardAd.getShowEcpm();
//        if (gmAdEcpmInfo == null) {
//            return;
//        }
//        Logger.e(TAG, "展示的广告信息 :adNetworkPlatformName: " + gmAdEcpmInfo.getAdNetworkPlatformName()
//                + "   CustomAdNetworkPlatformName: " + gmAdEcpmInfo.getCustomAdNetworkPlatformName()
//                + "   adNetworkRitId: " + gmAdEcpmInfo.getAdNetworkRitId()
//                + "   preEcpm: " + gmAdEcpmInfo.getPreEcpm());
//    }
 
}