HUAWEI Ads的用戶意見征求,華為ads需要打開嗎-ESG跨境

HUAWEI Ads的用戶意見征求,華為ads需要打開嗎

來源網(wǎng)絡(luò)
來源網(wǎng)絡(luò)
2022-04-29
點(diǎn)贊icon 0
查看icon 857

HUAWEI Ads的用戶意見征求,華為ads需要打開嗎HUAWEI Ads的用戶意見征求在法律有相應(yīng)要求的情況下,您必須征得用戶的同意才能使用其個(gè)人數(shù)據(jù)(例如OAID)來投放廣告。HUAWEI Ads平臺(tái)投放的廣告包括個(gè)性化廣告和非個(gè)性化廣告。為了征求用戶意見,HUAWEI Ads平臺(tái)提供了Consent SDK。本......

HUAWEI Ads的用戶意見征求,華為ads需要打開嗎





HUAWEI Ads的用戶意見征求

在法律有相應(yīng)要求的情況下,您必須征得用戶的同意才能使用其個(gè)人數(shù)據(jù)(例如OAID)來投放廣告。

HUAWEI Ads平臺(tái)投放的廣告包括個(gè)性化廣告和非個(gè)性化廣告。為了征求用戶意見,HUAWEI Ads平臺(tái)提供了Consent SDK。

本章節(jié)介紹了如何使用Consent SDK征求用戶意見,以及在征得用戶意見后如何根據(jù)用戶意見獲取廣告。

Consent SDK使用

1.集成Consent SDK。

a.在項(xiàng)目級(jí)build.gradle文件中配置Maven倉地址:

buildscript {

  repositories {

    google()

    jcenter()

    //配置Consent SDK的Maven倉地址

    maven { url https://developer.huawei.com/repo/ }

  }

  ...

}

allprojects {

  repositories {

    google()

    jcenter()

    //配置Consent SDK的Maven倉地址

    maven { url https://developer.huawei.com/repo/ }

  }

}

b.在應(yīng)用級(jí)的build.gradle文件中添加編譯依賴:

c.將{version}替換為實(shí)際的版本號(hào),版本號(hào)索引請(qǐng)參見版本更新說明,修改如下:

dependencies {

  implementation com.huawei.hms:adsconsent:3.4.39.302

}

在完成以上的配置后,點(diǎn)擊工具欄中的gradle同步圖標(biāo),完成“build.gradle”文件的同步,將相關(guān)依賴下載到本地。

2.更新用戶意見狀態(tài)。

使用Consent SDK時(shí),應(yīng)確保Consent SDK獲得的是HUAWEI Ads平臺(tái)廣告技術(shù)提供商的最新信息。如果在征求用戶意見后,廣告技術(shù)提供商的列表發(fā)生改變,則Consent SDK會(huì)自動(dòng)將用戶意見置為未知狀態(tài)。因此在每次啟動(dòng)應(yīng)用時(shí)都必須通過調(diào)用requestConsentUpdate()方法確定用戶的意見狀態(tài)。

示例代碼如下所示:

Java

...

import com.huawei.hms.ads.consent.*;

...

public class ConsentActivity extends AppCompatActivity {

  ...

  @Override

  protected void onCreate(Bundle savedInstanceState) {

    ...

    // 檢查consent狀態(tài)

    checkConsentStatus();

    ...

  }

  ...

  private void checkConsentStatus() {

    ...

    Consent consentInfo = Consent.getInstance(this);

    ...

    consentInfo.requestConsentUpdate(new ConsentUpdateListener() {

      @Override

      public void onSuccess(ConsentStatus consentStatus, boolean isNeedConsent, ListAdProvider adProviders) {

        // 獲取用戶意見狀態(tài)成功

        ...

      }

      @Override

      public void onFail(String errorDescription) {

        // 獲取用戶意見狀態(tài)失敗

        ...

      }

    });

   ...

  }

  ...

}

Kotlin

...

import com.huawei.hms.ads.consent.*

...

class ConsentActivity : BaseActivity() {

  ...

  override fun onCreate(savedInstanceState: Bundle ) {

    ...

    // 檢查consent狀態(tài)

    checkConsentStatus()

    ...

  }

  ...

  private fun checkConsentStatus() {

    ...

    val consentInfo = Consent.getInstance(this)

    ...

    consentInfo.requestConsentUpdate(object : ConsentUpdateListener {

      override fun onSuccess(consentStatus: ConsentStatus, isNeedConsent: Boolean, adProviders: ListAdProvider) {

        // 獲取用戶意見狀態(tài)成功

        ...

      }

      override fun onFail(errorDescription: String) {

        // 獲取用戶意見狀態(tài)失敗

        ...

      }

    })

   ...

  }

  ...

}

如果成功更新用戶意見信息,那么會(huì)通過ConsentUpdateListener的onSuccess()方法提供更新后的用戶意見狀態(tài)參數(shù)consentStatus、是否需要Consent參數(shù)isNeedConsent和廣告技術(shù)提供商的adProviders列表。

ConsentStatus具有以下三種狀態(tài):

·如果回調(diào)參數(shù)isNeedConsent取值為false,則表明可以向HUAWEI Ads SDK請(qǐng)求個(gè)性化廣告。

·如果回調(diào)參數(shù)isNeedConsent取值為true,則表明該用戶在歐洲經(jīng)濟(jì)區(qū)內(nèi)或其他敏感地區(qū)內(nèi),需要進(jìn)一步確認(rèn)用戶意見。

·當(dāng)返回的ConsentStatus為PERSONALIZED或NONPERSONALIZED,則表明已征求過用戶意見,不需要再次征求。

·當(dāng)返回的ConsentStatus為UNKNOWN,則需要通過彈框等方式征求用戶意見。

如果ConsentUpdateListener返回onFail()時(shí),則直接請(qǐng)求非個(gè)性化廣告。

AdProvider為廣告技術(shù)提供商信息,參數(shù)定義如下:

說明

requestConsentUpdate()方法每次會(huì)請(qǐng)求網(wǎng)絡(luò)以更新廣告技術(shù)提供商列表,為了保障用戶體驗(yàn),媒體可以自行實(shí)現(xiàn)超時(shí)控制。

3.征求用戶意見。

您需要通過彈框等方式向用戶征求意見,并展示廣告技術(shù)提供商的完整列表。以下是通過彈框征求用戶意見的樣例:

a.彈框征求用戶意見。

示例代碼如下所示:

Java

...

import com.huawei.hms.ads.consent.*;

...

public class ConsentActivity extends AppCompatActivity {

  ...

  @Override

  protected void onCreate(Bundle savedInstanceState) {

    ...

    // 檢查consent狀態(tài)

    checkConsentStatus();

    ...

  }

  ...

  private void checkConsentStatus() {

    ...

    Consent consentInfo = Consent.getInstance(this);

    ...

    consentInfo.requestConsentUpdate(new ConsentUpdateListener() {

      @Override

      public void onSuccess(ConsentStatus consentStatus, boolean isNeedConsent, ListAdProvider adProviders) {

        ...

        // 此返回參數(shù)代表是否需要consent

        if (isNeedConsent) {

          // UNKNOWN狀態(tài),需要重新收集用戶信息

          if (consentStatus == ConsentStatus.UNKNOWN) {

          ...

            showConsentDialog();

          }

          // 如果是PERSONALIZED或者NONPERSONALIZED狀態(tài),則不需要彈框收集用戶意見

          else {

            ...

          }

        } else {

          ...

        }

      }

      @Override

      public void onFail(String errorDescription) {

       ...

      }

    });

    ...

  }

  ...

  private void showConsentDialog() {

    // 開始Consent彈出框處理

    ConsentDialog dialog = new ConsentDialog(this, mAdProviders);

    dialog.setCallback(this);

    dialog.setCanceledOnTouchOutside(false);

    dialog.show();

  }

}

Kotlin

...

import com.huawei.hms.ads.consent.*

...

class ConsentActivity : BaseActivity() {

  ...

  override fun onCreate(savedInstanceState: Bundle?) {

    ...

    // 檢查consent狀態(tài)

    checkConsentStatus()

    ...

  }

  ...

  private fun checkConsentStatus() {

    ...

    val consentInfo = Consent.getInstance(this)

    ...

    consentInfo.requestConsentUpdate(object : ConsentUpdateListener {

      override fun onSuccess(consentStatus: ConsentStatus, isNeedConsent: Boolean, adProviders: ListAdProvider) {

        ...

        // 此返回參數(shù)代表是否需要consent

        if (isNeedConsent) {

          // UNKNOWN狀態(tài),需要重新收集用戶信息

          if (consentStatus == ConsentStatus.UNKNOWN) {

          ...

            showConsentDialog()

          }

          // 如果是PERSONALIZED或者NONPERSONALIZED狀態(tài),則不需要彈框收集用戶意見

          else {

            ...

          }

        } else {

          ...

        }

      }

      override fun onFail(errorDescription: String) {

       // 獲取用戶意見狀態(tài)失敗

       ...

      }

    })

    ...

  }

  ...

  private fun showConsentDialog() {

    // 開始Consent彈出框處理

    val dialog = ConsentDialog(this, mAdProviders)

    dialog.setCallback(this)

    dialog.setCanceledOnTouchOutside(false)

    dialog.show()

  }

}

對(duì)話框效果圖如下:

點(diǎn)擊“here”跳轉(zhuǎn)至更多信息:

b.展示廣告技術(shù)提供商列表。

您需要將廣告技術(shù)提供商的名稱展示給用戶,并提供訪問廣告技術(shù)提供商隱私政策的入口。

通過點(diǎn)擊上述更多信息頁面中的here鏈接彈出廣告技術(shù)提供商列表對(duì)話框,效果如下:

c.設(shè)置用戶意見。

征得用戶意見后,請(qǐng)使用setConsentStatus()方法設(shè)置用戶的選擇。

示例代碼如下所示:

Java

Consent.getInstance(getApplicationContext()).setConsentStatus(ConsentStatus.PERSONALIZED);

Kotlin

Consent.getInstance(getApplicationContext()).setConsentStatus(ConsentStatus.PERSONALIZED)

說明

請(qǐng)務(wù)必讓用戶可以隨時(shí)更改或撤消意見,并將用戶更新后的意見設(shè)置給Consent SDK。

d.設(shè)置“未達(dá)到法定承諾年齡用戶”的標(biāo)記。

如果您需要針對(duì)未達(dá)到法定承諾年齡的用戶請(qǐng)求對(duì)應(yīng)的廣告,則在調(diào)用requestConsentUpdate()前必須通過調(diào)用setUnderAgeOfPromise設(shè)置“未達(dá)到法定承諾年齡用戶”的標(biāo)記。

示例代碼如下所示:

Java

//設(shè)置“未達(dá)到法定承諾年齡用戶”的標(biāo)記

Consent.getInstance(getApplicationContext()).setUnderAgeOfPromise(true);

Kotlin

//設(shè)置“未達(dá)到法定承諾年齡用戶”的標(biāo)記

Consent.getInstance(getApplicationContext()).setUnderAgeOfPromise(true)

一旦將此設(shè)置為true,則每次requestConsentUpdate()請(qǐng)求均會(huì)回調(diào)onFail(String errorDescription)方法,并提供給用戶錯(cuò)誤描述參數(shù)errorDescription,此時(shí)不需要再展示征求用戶意見彈框。設(shè)置為false表明用戶已達(dá)到法定承諾年齡。

說明

當(dāng)Consent SDK設(shè)置了此標(biāo)記后,在請(qǐng)求廣告時(shí),基于受眾人群請(qǐng)求廣告中setTagForUnderAgeOfPromise的參數(shù)應(yīng)與Consent參數(shù)保持一致。

4.根據(jù)用戶意見獲取廣告。

請(qǐng)求廣告時(shí),默認(rèn)不設(shè)置setNonPersonalizedAd方法,請(qǐng)求個(gè)性化廣告與非個(gè)性化廣告。如果用戶在Consent階段沒有做出選擇,則只能請(qǐng)求非個(gè)性化廣告。

如果設(shè)置setNonPersonalizedAd方法且值為:

·ALLOWALL:個(gè)性化廣告與非個(gè)性化廣告

·ALLOWNONPERSONALIZED:非個(gè)性化廣告

示例代碼如下所示:

Java

//setNonPersonalizedAd設(shè)置為ALLOWNONPERSONALIZED時(shí),只請(qǐng)求非個(gè)性化廣告

RequestOptions requestOptions=HwAds.getRequestOptions();

requestOptions=requestOptions.toBuilder().setNonPersonalizedAd(ALLOWNONPERSONALIZED).build();

HwAds.setRequestOptions(requestOptions);

AdParam adParam=new AdParam.Builder().build();

adView.loadAd(adParam);

Kotlin

//setNonPersonalizedAd設(shè)置為ALLOWNONPERSONALIZED時(shí),只請(qǐng)求非個(gè)性化廣告

var requestOptions:RequestOptions?=HwAds.getRequestOptions()

requestOptions=requestOptions.toBuilder().setNonPersonalizedAd(ALLOWNONPERSONALIZED).build()

HwAds.setRequestOptions(requestOptions)

val adParam=AdParam.Builder().build()

adView!!.loadAd(adParam)

Consent SDK測試

為了讓您能輕松地測試應(yīng)用,Consent SDK提供了可設(shè)置的調(diào)試選項(xiàng)。

1.調(diào)用getTestDeviceId()獲取設(shè)備ID。

示例代碼如下所示:

Java

String testDeviceId=Consent.getInstance(getApplicationContext()).getTestDeviceId();

Kotlin

val testDeviceId = Consent.getInstance(getApplicationContext()).testDeviceId

2.使用獲取的設(shè)備ID將您的設(shè)備作為調(diào)試設(shè)備列入允許清單。

示例代碼如下所示:

Java

Consent.getInstance(getApplicationContext()).addTestDeviceId(testDeviceId);

Kotlin

Consent.getInstance(getApplicationContext()).addTestDeviceId(testDeviceId)

調(diào)用setDebugNeedConsent設(shè)置是否需要Consent。

示例代碼如下所示:

Java

//設(shè)置調(diào)試需要Consent,此時(shí)ConsentUpdateListener方法返回的isNeedConsent參數(shù)為true

Consent.getInstance(getApplicationContext()).setDebugNeedConsent(DebugNeedConsent.DEBUGNEEDCONSENT);

//設(shè)置調(diào)試不需要Consent,此時(shí)ConsentUpdateListener方法返回的isNeedConsent參數(shù)為false

Consent.getInstance(getApplicationContext()).setDebugNeedConsent(DebugNeedConsent.DEBUGNOTNEEDCONSENT);

Kotlin

// 設(shè)置調(diào)試需要Consent,此時(shí)ConsentUpdateListener方法返回的isNeedConsent參數(shù)為true

Consent.getInstance(getApplicationContext()).setDebugNeedConsent(DebugNeedConsent.DEBUGNEEDCONSENT)

// 設(shè)置調(diào)試不需要Consent,此時(shí)ConsentUpdateListener方法返回的isNeedConsent參數(shù)為false

Consent.getInstance(getApplicationContext()).setDebugNeedConsent(DebugNeedConsent.DEBUGNOTNEEDCONSENT)

完成這些步驟后,調(diào)用更新用戶意見狀態(tài)時(shí)會(huì)根據(jù)您的調(diào)試狀態(tài)返回isNeedConsent的值。

說明

如果把設(shè)備設(shè)置為測試設(shè)備,那么會(huì)返回固定的測試廣告技術(shù)提供商列表,無法驗(yàn)證真實(shí)廣告技術(shù)提供商列表變化的場景。


文章推薦
北京進(jìn)口意大利二手激光器切割機(jī)報(bào)關(guān)
代理進(jìn)口海外二手挖掘機(jī)報(bào)關(guān)清關(guān)一條龍服務(wù),日本二手挖掘機(jī)報(bào)關(guān)流程
B2B做Facebook沒效果,facebook b2b營銷
Google Play無法為您打開嗎 試試這些解決方案,google play無法開啟


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

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

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

訂閱
聯(lián)系顧問

平臺(tái)顧問

平臺(tái)顧問 平臺(tái)顧問

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

icon icon

小程序

微信小程序

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

icon icon

返回頂部

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