影音先锋男人资源站_国产婷婷综合丁香亚洲欧洲_白狐视频传媒污软件下载_趁女同学午休揉她的屁股

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

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

來源網絡
來源網絡
2022-04-29
點贊icon 0
查看icon 818

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

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





HUAWEI Ads的用戶意見征求

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

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

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

Consent SDK使用

1.集成Consent SDK。

a.在項目級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.在應用級的build.gradle文件中添加編譯依賴:

c.將{version}替換為實際的版本號,版本號索引請參見版本更新說明,修改如下:

dependencies {

  implementation com.huawei.hms:adsconsent:3.4.39.302

}

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

2.更新用戶意見狀態。

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

示例代碼如下所示:

Java

...

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

...

public class ConsentActivity extends AppCompatActivity {

  ...

  @Override

  protected void onCreate(Bundle savedInstanceState) {

    ...

    // 檢查consent狀態

    checkConsentStatus();

    ...

  }

  ...

  private void checkConsentStatus() {

    ...

    Consent consentInfo = Consent.getInstance(this);

    ...

    consentInfo.requestConsentUpdate(new ConsentUpdateListener() {

      @Override

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

        // 獲取用戶意見狀態成功

        ...

      }

      @Override

      public void onFail(String errorDescription) {

        // 獲取用戶意見狀態失敗

        ...

      }

    });

   ...

  }

  ...

}

Kotlin

...

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

...

class ConsentActivity : BaseActivity() {

  ...

  override fun onCreate(savedInstanceState: Bundle ) {

    ...

    // 檢查consent狀態

    checkConsentStatus()

    ...

  }

  ...

  private fun checkConsentStatus() {

    ...

    val consentInfo = Consent.getInstance(this)

    ...

    consentInfo.requestConsentUpdate(object : ConsentUpdateListener {

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

        // 獲取用戶意見狀態成功

        ...

      }

      override fun onFail(errorDescription: String) {

        // 獲取用戶意見狀態失敗

        ...

      }

    })

   ...

  }

  ...

}

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

ConsentStatus具有以下三種狀態:

·如果回調參數isNeedConsent取值為false,則表明可以向HUAWEI Ads SDK請求個性化廣告。

·如果回調參數isNeedConsent取值為true,則表明該用戶在歐洲經濟區內或其他敏感地區內,需要進一步確認用戶意見。

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

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

如果ConsentUpdateListener返回onFail()時,則直接請求非個性化廣告。

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

說明

requestConsentUpdate()方法每次會請求網絡以更新廣告技術提供商列表,為了保障用戶體驗,媒體可以自行實現超時控制。

3.征求用戶意見。

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

a.彈框征求用戶意見。

示例代碼如下所示:

Java

...

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

...

public class ConsentActivity extends AppCompatActivity {

  ...

  @Override

  protected void onCreate(Bundle savedInstanceState) {

    ...

    // 檢查consent狀態

    checkConsentStatus();

    ...

  }

  ...

  private void checkConsentStatus() {

    ...

    Consent consentInfo = Consent.getInstance(this);

    ...

    consentInfo.requestConsentUpdate(new ConsentUpdateListener() {

      @Override

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

        ...

        // 此返回參數代表是否需要consent

        if (isNeedConsent) {

          // UNKNOWN狀態,需要重新收集用戶信息

          if (consentStatus == ConsentStatus.UNKNOWN) {

          ...

            showConsentDialog();

          }

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

          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狀態

    checkConsentStatus()

    ...

  }

  ...

  private fun checkConsentStatus() {

    ...

    val consentInfo = Consent.getInstance(this)

    ...

    consentInfo.requestConsentUpdate(object : ConsentUpdateListener {

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

        ...

        // 此返回參數代表是否需要consent

        if (isNeedConsent) {

          // UNKNOWN狀態,需要重新收集用戶信息

          if (consentStatus == ConsentStatus.UNKNOWN) {

          ...

            showConsentDialog()

          }

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

          else {

            ...

          }

        } else {

          ...

        }

      }

      override fun onFail(errorDescription: String) {

       // 獲取用戶意見狀態失敗

       ...

      }

    })

    ...

  }

  ...

  private fun showConsentDialog() {

    // 開始Consent彈出框處理

    val dialog = ConsentDialog(this, mAdProviders)

    dialog.setCallback(this)

    dialog.setCanceledOnTouchOutside(false)

    dialog.show()

  }

}

對話框效果圖如下:

點擊“here”跳轉至更多信息:

b.展示廣告技術提供商列表。

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

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

c.設置用戶意見。

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

示例代碼如下所示:

Java

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

Kotlin

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

說明

請務必讓用戶可以隨時更改或撤消意見,并將用戶更新后的意見設置給Consent SDK。

d.設置“未達到法定承諾年齡用戶”的標記。

如果您需要針對未達到法定承諾年齡的用戶請求對應的廣告,則在調用requestConsentUpdate()前必須通過調用setUnderAgeOfPromise設置“未達到法定承諾年齡用戶”的標記。

示例代碼如下所示:

Java

//設置“未達到法定承諾年齡用戶”的標記

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

Kotlin

//設置“未達到法定承諾年齡用戶”的標記

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

一旦將此設置為true,則每次requestConsentUpdate()請求均會回調onFail(String errorDescription)方法,并提供給用戶錯誤描述參數errorDescription,此時不需要再展示征求用戶意見彈框。設置為false表明用戶已達到法定承諾年齡。

說明

當Consent SDK設置了此標記后,在請求廣告時,基于受眾人群請求廣告中setTagForUnderAgeOfPromise的參數應與Consent參數保持一致。

4.根據用戶意見獲取廣告。

請求廣告時,默認不設置setNonPersonalizedAd方法,請求個性化廣告與非個性化廣告。如果用戶在Consent階段沒有做出選擇,則只能請求非個性化廣告。

如果設置setNonPersonalizedAd方法且值為:

·ALLOWALL:個性化廣告與非個性化廣告

·ALLOWNONPERSONALIZED:非個性化廣告

示例代碼如下所示:

Java

//setNonPersonalizedAd設置為ALLOWNONPERSONALIZED時,只請求非個性化廣告

RequestOptions requestOptions=HwAds.getRequestOptions();

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

HwAds.setRequestOptions(requestOptions);

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

adView.loadAd(adParam);

Kotlin

//setNonPersonalizedAd設置為ALLOWNONPERSONALIZED時,只請求非個性化廣告

var requestOptions:RequestOptions?=HwAds.getRequestOptions()

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

HwAds.setRequestOptions(requestOptions)

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

adView!!.loadAd(adParam)

Consent SDK測試

為了讓您能輕松地測試應用,Consent SDK提供了可設置的調試選項。

1.調用getTestDeviceId()獲取設備ID。

示例代碼如下所示:

Java

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

Kotlin

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

2.使用獲取的設備ID將您的設備作為調試設備列入允許清單。

示例代碼如下所示:

Java

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

Kotlin

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

調用setDebugNeedConsent設置是否需要Consent。

示例代碼如下所示:

Java

//設置調試需要Consent,此時ConsentUpdateListener方法返回的isNeedConsent參數為true

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

//設置調試不需要Consent,此時ConsentUpdateListener方法返回的isNeedConsent參數為false

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

Kotlin

// 設置調試需要Consent,此時ConsentUpdateListener方法返回的isNeedConsent參數為true

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

// 設置調試不需要Consent,此時ConsentUpdateListener方法返回的isNeedConsent參數為false

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

完成這些步驟后,調用更新用戶意見狀態時會根據您的調試狀態返回isNeedConsent的值。

說明

如果把設備設置為測試設備,那么會返回固定的測試廣告技術提供商列表,無法驗證真實廣告技術提供商列表變化的場景。


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


特別聲明:以上文章內容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關于作品內容、版權或其它問題請于作品發表后的30日內與ESG跨境電商聯系。

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

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

訂閱
聯系顧問

平臺顧問

平臺顧問 平臺顧問

微信掃一掃
馬上聯系在線顧問

icon icon

小程序

微信小程序

ESG跨境小程序
手機入駐更便捷

icon icon

返回頂部