尤物精品_gay小说高h_成人免费va视频_涩涩18网站

HUAWEI Ads激勵(lì)廣告,華為酷炫廣告-ESG跨境

HUAWEI Ads激勵(lì)廣告,華為酷炫廣告

來(lái)源網(wǎng)絡(luò)
來(lái)源網(wǎng)絡(luò)
2022-07-05
點(diǎn)贊icon 0
查看icon 711

HUAWEI Ads激勵(lì)廣告,華為酷炫廣告HUAWEI Ads激勵(lì)廣告激勵(lì)廣告激勵(lì)廣告是一種全屏幕的視頻廣告,用戶(hù)可以選擇點(diǎn)擊觀看,以換取相應(yīng)獎(jiǎng)勵(lì)。添加激勵(lì)廣告1.創(chuàng)建激勵(lì)廣告對(duì)象。創(chuàng)建RewardAd對(duì)象,示例代碼如下:public class RewardedVideoActivity extends Activi......

HUAWEI Ads激勵(lì)廣告,華為酷炫廣告





HUAWEI Ads激勵(lì)廣告

激勵(lì)廣告

激勵(lì)廣告是一種全屏幕的視頻廣告,用戶(hù)可以選擇點(diǎn)擊觀看,以換取相應(yīng)獎(jiǎng)勵(lì)。

添加激勵(lì)廣告

1.創(chuàng)建激勵(lì)廣告對(duì)象。

創(chuàng)建RewardAd對(duì)象,示例代碼如下:

public class RewardedVideoActivity extends Activity {

  // testx9dtjwj8hp為專(zhuān)用的測(cè)試廣告位ID,App正式發(fā)布時(shí)需要改為正式的廣告位ID

  private static final String ADID = testx9dtjwj8hp;

  private RewardAd rewardAd;

  @Override

  protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activityrewarded);

    // 創(chuàng)建激勵(lì)廣告對(duì)象

    createRewardAd();

  }

  private void createRewardAd() {

    rewardAd = new RewardAd(this, ADID);

  }

}

2.獲取廣告。

調(diào)用RewardAd對(duì)象的loadAd()方法來(lái)獲取廣告,示例代碼如下:

/**

* 加載激勵(lì)廣告

*/

private void loadRewardAd() {

  if (rewardAd == null) {

    rewardAd = new RewardAd(this, ADID);

  }

  RewardAdLoadListener listener= new RewardAdLoadListener() {

    @Override

    public void onRewardedLoaded() {

      // 激勵(lì)廣告加載成功

    }

    @Override

    public void onRewardAdFailedToLoad(int errorCode) {

      // 激勵(lì)廣告加載失敗

    }

  };

  rewardAd.loadAd(new AdParam.Builder().build(), listener);

}

3.展示廣告。

調(diào)用RewardAd的show()方法來(lái)顯示廣告,在此之前需要調(diào)用isLoaded()方法來(lái)確認(rèn)廣告已經(jīng)加載完成。

如下所示:

/**

* 展示激勵(lì)廣告

*/

private void rewardAdShow() {

  if (rewardAd.isLoaded()) {

    rewardAd.show(RewardedVideoActivity.this, new RewardAdStatusListener() {

      @Override

      public void onRewardAdOpened() {

        // 激勵(lì)廣告被打開(kāi)

        ...

      }

      @Override

      public void onRewardAdFailedToShow(int errorCode) {

        // 激勵(lì)廣告展示失敗

        ...

      }

      @Override

      public void onRewardAdClosed() {

        // 激勵(lì)廣告被關(guān)閉

        ...

      }

      @Override

      public void onRewarded(Reward reward){

        // 激勵(lì)廣告獎(jiǎng)勵(lì)達(dá)成,發(fā)放獎(jiǎng)勵(lì)

        ...

      }

    });

  }

}

說(shuō)明

onRewarded方法中,如果在廣告位配置了獎(jiǎng)勵(lì)物品信息,則會(huì)傳入獎(jiǎng)勵(lì)物品信息的對(duì)象reward,通過(guò)reward.getAmount()方法獲取獎(jiǎng)勵(lì)物品的數(shù)量,通過(guò)reward.getName()方法獲取獎(jiǎng)勵(lì)物品的名稱(chēng),推薦立即發(fā)放獎(jiǎng)勵(lì),同時(shí)在服務(wù)端做校驗(yàn),判斷獎(jiǎng)勵(lì)是否生效。如果未配置獎(jiǎng)勵(lì)物品信息,則根據(jù)實(shí)際場(chǎng)景發(fā)放獎(jiǎng)勵(lì)。

測(cè)試激勵(lì)廣告

測(cè)試激勵(lì)廣告時(shí),需要使用專(zhuān)門(mén)的測(cè)試廣告位ID來(lái)獲取測(cè)試廣告,以避免在測(cè)試過(guò)程中產(chǎn)生無(wú)效的廣告點(diǎn)擊量。測(cè)試廣告位ID僅作為功能調(diào)試使用,不可用于廣告變現(xiàn)。您需要在應(yīng)用發(fā)布前申請(qǐng)真實(shí)的廣告位ID,并替換測(cè)試廣告位ID。

以下表格中提供了激勵(lì)廣告的專(zhuān)用測(cè)試廣告位ID:

下載激勵(lì)廣告的示例代碼并運(yùn)行,可以看到如下效果圖:

另外您也可以通過(guò)學(xué)習(xí)Codelab中的教程來(lái)集成激勵(lì)廣告。

校驗(yàn)激勵(lì)廣告服務(wù)端驗(yàn)證回調(diào)

服務(wù)端驗(yàn)證回調(diào)是指HUAWEI Ads廣告平臺(tái)發(fā)快遞給媒體服務(wù)器的網(wǎng)址請(qǐng)求,其中帶有特定的查詢(xún)參數(shù),用來(lái)通知媒體服務(wù)器某位用戶(hù)因?yàn)榕c激勵(lì)視頻廣告互動(dòng)而應(yīng)予以獎(jiǎng)勵(lì),從而規(guī)避欺騙的行為。

獎(jiǎng)勵(lì)用戶(hù)

·在給用戶(hù)發(fā)獎(jiǎng)勵(lì)時(shí),要把握好用戶(hù)體驗(yàn)和獎(jiǎng)勵(lì)驗(yàn)證之間的平衡。因?yàn)榉?wù)器端回調(diào),可能會(huì)出現(xiàn)延遲,因此我們建議客戶(hù)端立即獎(jiǎng)勵(lì)用戶(hù),同時(shí)在收到服務(wù)器端回調(diào)時(shí)對(duì)所有獎(jiǎng)勵(lì)進(jìn)行驗(yàn)證。這種做法可確保獎(jiǎng)勵(lì)符合發(fā)放條件,同時(shí)提供良好的用戶(hù)體驗(yàn)。

·對(duì)于某些應(yīng)用而言,獎(jiǎng)勵(lì)是否達(dá)到發(fā)放條件非常重要,用戶(hù)可適當(dāng)接受延遲。這時(shí),最佳做法是等待服務(wù)器端回調(diào)完成驗(yàn)證,再向用戶(hù)發(fā)放獎(jiǎng)勵(lì)。

校驗(yàn)服務(wù)端驗(yàn)證回調(diào)

1.設(shè)置激勵(lì)廣告的獎(jiǎng)勵(lì)配置。

您在HUAWEI Ads媒體服務(wù)平臺(tái)上申請(qǐng)激勵(lì)視頻廣告位時(shí)選擇“媒體管理(點(diǎn)擊媒體名)新增展示位選擇激勵(lì)視頻(點(diǎn)擊下一步,進(jìn)入編輯頁(yè)面)”,設(shè)置獎(jiǎng)勵(lì)類(lèi)型和獎(jiǎng)勵(lì)數(shù)量,并點(diǎn)擊“高級(jí)設(shè)置”,設(shè)置服務(wù)器端驗(yàn)證的URL。如下圖:

2.(可選)設(shè)置自定義數(shù)據(jù)和userId。

您在App中請(qǐng)求激勵(lì)廣告之前對(duì)激勵(lì)廣告對(duì)象設(shè)置自定義數(shù)據(jù)data和userId。

RewardAd rewardAd = new RewardAd(RewardActivity.this, getString(R.string.adidreward));

RewardVerifyConfig config = new RewardVerifyConfig.Builder().setData(CUSTOMDATA)

  .setUserId(1234567)

  .build();

rewardAd.setRewardVerifyConfig(config);

...

rewardAd.loadAd(new AdParam.Builder().build(), rewardAdLoadListener);

說(shuō)明

如果沒(méi)有設(shè)置data和userId,不影響發(fā)放獎(jiǎng)勵(lì)事件上報(bào)但是服務(wù)端驗(yàn)證的參數(shù)中沒(méi)有這兩個(gè)字段。如果設(shè)置data和userId,必須在展示廣告之前設(shè)置并且URLEncode之后,長(zhǎng)度不超過(guò)1024個(gè)字符,否則影響服務(wù)端驗(yàn)證。

3.獲取要驗(yàn)證的內(nèi)容。

用戶(hù)觀看完激勵(lì)廣告時(shí),HUAWEI Ads服務(wù)端會(huì)把需要驗(yàn)證的參數(shù)以及KeyId和sign傳給媒體提供的URL: https://www.example.com/feedback(即步驟一中配置的驗(yàn)證URL)。請(qǐng)求體:

{

  adId : testx9dtjwj8hp,

  data : CUSTOMDATA,

  keyId : 12345678,

  rewardAmount : 10,

  rewardName : 金幣,

  sign : OA33u6mypnhE4hbmF32N/ibYi1uXt72nDDyYMwjDI6JXVVFKePZYo4F7Fuk2MaG......,

  uniqueId : 3361626337333932313435313430373438383561376265636130393939313166,

  userId : 1234567

}

服務(wù)器端驗(yàn)證回調(diào)查詢(xún)參數(shù)說(shuō)明:

4.組裝驗(yàn)證參數(shù)。

驗(yàn)證內(nèi)容(除sign、keyId)格式順序如下:

adId={adId}data={data}rewardAmount={rewardAmount}rewardName={rewardName}uniqueId={uniqueId}userId={userId}

其中‘{}’里面表示參數(shù)的值,且參數(shù)順序不能變。假如參數(shù)為null或者空字符串,則url中不拼接該參數(shù),然后用sha256計(jì)算散列值,得到paramContentData。

示例代碼如下:

String adId = request.getParameter(adId);

String data = request.getParameter(data);

String userId = request.getParameter(userId);

String param = adId= + adId + data= + data + rewardAmount= + rewardAmount + rewardName= + rewardName + uniqueId= + uniqueId + userId= + userId;

String sha256Value = Sha256Util.digest(param);

byte[] paramContentData = sha256Value.getBytes(Charset.forName(UTF8));

5.獲取公鑰列表。

1.在HUAWEI Ads 媒體服務(wù)平臺(tái)查看對(duì)應(yīng)的激勵(lì)視頻廣告位,點(diǎn)擊“獲取密鑰”按鈕獲取“開(kāi)發(fā)者ID”和“密鑰”:

2. 通過(guò)如下接口獲得華為提供的公鑰列表:

接口URL:https://ppscrowddre.op.dbankcloud.com/actionlibtrack/publickeys

將body通過(guò)密鑰進(jìn)行HMACSHA256加密得到簽名,替換到Authorization中,并設(shè)置“開(kāi)發(fā)者ID”和Authorization到Header中。

示例代碼如下:

String data = ;

String url = https://ppscrowddre.op.dbankcloud.com/actionlibtrack/publickeys;

String authorization = Digest validTime=\{0}\, response=\{1}\;

// 開(kāi)發(fā)者ID

String userId = YOURPUBLISHERID;

// 密鑰

String key = YOURKEY;

  

HttpClient httpclient = HttpClients.createDefault();

HttpGet request = new HttpGet();

try {

  String validTime = String.valueOf(System.currentTimeMillis());

  String body = validTime + :/publickeys;

  byte[] keyBytes = Base64.decodeBase64(key);

  byte[] bodyBytes = body.getBytes(Charsets.UTF8);

  Mac mac = Mac.getInstance(HmacSHA256);

  SecretKey secretKey = new SecretKeySpec(keyBytes, HmacSHA256);

  mac.init(secretKey);

  byte[] signatureBytes = mac.doFinal(bodyBytes);

  String signature = (signatureBytes == null)   null : Hex.encodeHexString(signatureBytes);

  authorization = MessageFormat.format(authorization, validTime, signature);

  request.setURI(new URI(url));

  request.setHeader(userId, userId);

  request.setHeader(Authorization, authorization);

  HttpResponse response = httpclient.execute(request);

  data = EntityUtils.toString(response.getEntity());

  } catch (Exception e) {

  }

}

返回data消息體:

{

  keys: [  

    {    

      keyId:12345678,    

      publicKey:LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS1cbk1GLi4uc3c9PVxkQgUFVCTElt  

    },  

    {    

      keyId: 22345678,              

      publicKey:LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS1cbk1GLi4uc3c9PVxkQgUFVCTElt  

    }  

  ]

}

返回消息結(jié)構(gòu)體:

Key結(jié)構(gòu)體:

6.執(zhí)行驗(yàn)證。

a.根據(jù)keyId從公鑰列表中找到對(duì)應(yīng)的base64編碼后的publicKey。

b.然后將paramContentData、publicKey和sign作為SHA256withRSA數(shù)字簽名算法的入?yún)ⅲ瑘?zhí)行驗(yàn)證。

示例代碼如下:

public static boolean verify(byte[] data, String publicKey, String sign, String signatureAlgorithm) {

  try {

    byte[] keyBytes = base64Decode(publicKey);

    X509EncodedKeySpec keySpec = new X509EncodedKeySpec(keyBytes);

    KeyFactory keyFactory = KeyFactory.getInstance(RSA);

    PublicKey publicK = keyFactory.generatePublic(keySpec);

    Signature signature = Signature.getInstance(signatureAlgorithm);

    signature.initVerify(publicK);

    signature.update(data);

    return signature.verify(base64Decode(sign));

  } catch (InvalidKeyException SignatureException UnsupportedEncodingException InvalidKeySpecException NoSuchAlgorithmException e) {

    return false;

  }

}

private static byte[] base64Decode(String encoded) throws UnsupportedEncodingException {

  return Base64.decodeBase64(encoded.getBytes(UTF8));

}


文章推薦
采購(gòu)好的日本二手挖掘機(jī)如何進(jìn)口到中國(guó),在日本買(mǎi)一臺(tái)二手挖掘機(jī)多少錢(qián)
App Annie是我們首選的移動(dòng)應(yīng)用數(shù)據(jù)參考站點(diǎn),appannie排行榜
德國(guó)大型二手?jǐn)?shù)控折彎?rùn)C(jī)如何進(jìn)口中國(guó)報(bào)關(guān),進(jìn)口數(shù)控折彎?rùn)C(jī)維修保養(yǎng)來(lái)電咨詢(xún)
AWS的全球基礎(chǔ)設(shè)施和網(wǎng)絡(luò),aws云全球服務(wù)基礎(chǔ)設(shè)施區(qū)域列表


特別聲明:以上文章內(nèi)容僅代表作者本人觀點(diǎn),不代表ESG跨境電商觀點(diǎn)或立場(chǎng)。如有關(guān)于作品內(nèi)容、版權(quán)或其它問(wèn)題請(qǐng)于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。

搜索 放大鏡
韓國(guó)平臺(tái)交流群
加入
韓國(guó)平臺(tái)交流群
掃碼進(jìn)群
歐洲多平臺(tái)交流群
加入
歐洲多平臺(tái)交流群
掃碼進(jìn)群
美國(guó)賣(mài)家交流群
加入
美國(guó)賣(mài)家交流群
掃碼進(jìn)群
ESG跨境專(zhuān)屬福利分享群
加入
ESG跨境專(zhuān)屬福利分享群
掃碼進(jìn)群
拉美電商交流群
加入
拉美電商交流群
掃碼進(jìn)群
亞馬遜跨境增長(zhǎng)交流群
加入
亞馬遜跨境增長(zhǎng)交流群
掃碼進(jìn)群
亞馬遜跨境增長(zhǎng)交流群
加入
亞馬遜跨境增長(zhǎng)交流群
掃碼進(jìn)群
拉美電商交流群
加入
拉美電商交流群
掃碼進(jìn)群
ESG獨(dú)家招商-PHH GROUP賣(mài)家交流群
加入
ESG獨(dú)家招商-PHH GROUP賣(mài)家交流群
掃碼進(jìn)群
2025跨境電商營(yíng)銷(xiāo)日歷
《2024年全球消費(fèi)趨勢(shì)白皮書(shū)——美國(guó)篇》
《2024TikTok出海達(dá)人營(yíng)銷(xiāo)白皮書(shū)》
《Coupang自注冊(cè)指南》
《eMAG知識(shí)百科》
《TikTok官方運(yùn)營(yíng)干貨合集》
《韓國(guó)節(jié)日營(yíng)銷(xiāo)指南》
《開(kāi)店大全-全球合集》
《TikTok綜合運(yùn)營(yíng)手冊(cè)》
《TikTok短視頻運(yùn)營(yíng)手冊(cè)》
通過(guò)ESG入駐平臺(tái),您將解鎖
綠色通道,更高的入駐成功率
專(zhuān)業(yè)1v1客戶(hù)經(jīng)理服務(wù)
運(yùn)營(yíng)實(shí)操指導(dǎo)
運(yùn)營(yíng)提效資源福利
平臺(tái)官方專(zhuān)屬優(yōu)惠

立即登記,定期獲得更多資訊

訂閱
聯(lián)系顧問(wèn)

平臺(tái)顧問(wèn)

平臺(tái)顧問(wèn) 平臺(tái)顧問(wèn)

微信掃一掃
馬上聯(lián)系在線顧問(wèn)

icon icon

小程序

微信小程序

ESG跨境小程序
手機(jī)入駐更便捷

icon icon

返回頂部

【免費(fèi)領(lǐng)取】全球跨境電商運(yùn)營(yíng)干貨 關(guān)閉
進(jìn)行中
進(jìn)行中
2025跨境電商營(yíng)銷(xiāo)日歷
包括傳統(tǒng)中、外重要節(jié)日及重點(diǎn)電商營(yíng)銷(xiāo)節(jié)點(diǎn)還對(duì)營(yíng)銷(xiāo)關(guān)鍵市場(chǎng)、選品輔以說(shuō)明,讓你的365天安排的明明白白!
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
【平臺(tái)干貨】eMAG知識(shí)百科
涵蓋從開(kāi)店到大賣(mài)6個(gè)板塊:開(kāi)店、運(yùn)營(yíng)、廣告、選品、上架、物流
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
TikTok運(yùn)營(yíng)必備干貨包
包含8個(gè)TikTok最新運(yùn)營(yíng)指南(市場(chǎng)趨勢(shì)、運(yùn)營(yíng)手冊(cè)、節(jié)日攻略等),官方出品,專(zhuān)業(yè)全面!
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
韓國(guó)coupang平臺(tái)自注冊(cè)指南
韓國(guó)Coupang電商平臺(tái)從注冊(cè)準(zhǔn)備、提交申請(qǐng)到完成注冊(cè),開(kāi)店全流程詳細(xì)指引。
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——全球合集
涵括全球100+個(gè)電商平臺(tái)的核心信息,包括平臺(tái)精煉簡(jiǎn)介、競(jìng)爭(zhēng)優(yōu)勢(shì)、熱銷(xiāo)品類(lèi)、入駐要求以及入駐須知等關(guān)鍵內(nèi)容。
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
韓國(guó)電商節(jié)日營(yíng)銷(xiāo)指南
10+韓國(guó)電商重要營(yíng)銷(xiāo)節(jié)點(diǎn)詳細(xì)解讀;2024各節(jié)日熱度選品助力引爆訂單增長(zhǎng);8大節(jié)日營(yíng)銷(xiāo)技巧輕松撬動(dòng)大促流量密碼。
免費(fèi)領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺(tái)詳解——?dú)W洲篇
涵蓋20+歐洲電商平臺(tái),詳細(xì)解讀優(yōu)勢(shì)、入駐條件、熱銷(xiāo)品等
立即領(lǐng)取