HUAWEI Ads高級設置,華為c5鍵盤如何使用HUAWEI Ads高級設置HUAWEI Ads SDK還提供了一些廣告請求相關的高級設置。設置受眾人群HUAWEI Ads SDK提供了通過設置RequestOptions對象,來滿足針對不同受眾人群請求對應廣告內容的能力。該對象應先通過HwAds靜態方法獲取應用的全......
HUAWEI Ads SDK還提供了一些廣告請求相關的高級設置。
設置受眾人群
HUAWEI Ads SDK提供了通過設置RequestOptions對象,來滿足針對不同受眾人群請求對應廣告內容的能力。該對象應先通過HwAds靜態方法獲取應用的全局受眾人群信息。如果要更新請求配置,請從現有配置中獲取構建器,再進行設置更新。
說明
您必須將用戶是否是兒童的標識在setTagForChildProtection方法中如實的告知HUAWEI Ads。您需要承擔由于告知錯誤或沒有告知導致廣告誤投放到兒童的手機上導致的一切后果。
示例代碼如下:
//添加面向兒童的設置
RequestOptions requestOptions=HwAds.getRequestOptions().toBuilder().setTagForChildProtection(TAGFORCHILDPROTECTIONTRUE).build();
HwAds.setRequestOptions(requestOptions);
RequestOptions提供了下面五種方法設置受眾人群:
示例代碼如下:
//面向兒童的設置,表明您的廣告內容需要符合COPPA的規定
RequestOptions requestOptions=HwAds.getRequestOptions().toBuilder().setTagForChildProtection(TAGFORCHILDPROTECTIONTRUE).build();
//未達到法定承諾年齡的用戶的設置,表明您希望廣告請求符合未達到法定承諾年齡用戶的廣告標準
RequestOptions requestOptions=HwAds.getRequestOptions().toBuilder().setTagForUnderAgeOfPromise(PROMISETRUE).build();
//廣告內容過濾,指定返回的廣告內容應與分級標簽名稱對應,但不得高于W
RequestOptions requestOptions=HwAds.getRequestOptions().toBuilder().setAdContentClassification(ADCONTENTCLASSIFICATIONW).build();
//請求個性化廣告與非個性化廣告
RequestOptions requestOptions=HwAds.getRequestOptions();
requestOptions.toBuilder().setNonPersonalizedAd(ALLOWALL).build();
//設置TCF2.0用戶同意信息字符串
RequestOptions requestOptions=HwAds.getRequestOptions();
requestOptions.toBuilder().setConsent(tcfString).build();
設置意見征求
HUAWEI Ads投放的廣告包括個性化廣告和非個性化廣告。為了征求用戶意見,HUAWEI Ads提供了Consent SDK。
本章節介紹了如何使用Consent SDK征求用戶意見,以及在征得用戶意見后如何根據用戶意見獲取廣告。
Consent SDK使用
1.導入Consent SDK。
在項目級build.gradle文件中配置Maven倉地址:
buildscript {
repositories {
google()
jcenter()
maven { url https://developer.huawei.com/repo/ }
}
...
}
allprojects {
repositories {
google()
jcenter()
maven { url https://developer.huawei.com/repo/ }
}
}
在應用級的build.gradle文件中添加編譯依賴:
將{version}替換為實際的版本號,版本號索引請參見版本更新說明,修改如下:
dependencies{
implementationcom.huawei.hms:adsconsent:3.4.34.301
}
保存build.gradle文件,點擊“Sync Now”等待同步完成。
2.更新用戶意見狀態。
使用Consent SDK時,都應確保Consent SDK獲得的是HUAWEI Ads廣告技術提供商的最新信息。如果在征求用戶意見后,廣告技術提供商的列表發生改變,則Consent SDK會自動將用戶意見置為未知狀態。因此在每次啟動應用時都必須通過調用requestConsentUpdate()方法確定用戶的意見狀態。
示例代碼如下:
...
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) {
// 獲取用戶意見狀態失敗
...
}
});
...
}
...
}
如果成功更新用戶意見信息,那么會通過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.彈框征求用戶意見。
示例代碼如下:
...
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();
}
}
對話框效果圖如下:
“here”后,頁面跳轉至更多信息頁面:
b.展示廣告技術提供商列表。
您需要將廣告技術提供商的名稱展示給用戶,并提供訪問廣告技術提供商隱私政策的入口。
通過點擊上述更多信息頁面中的here鏈接彈出廣告技術提供商列表對話框,效果如下:
c.設置用戶意見。
征得用戶意見后,請使用setConsentStatus()方法設置用戶的選擇。
Consent.getInstance(getApplicationContext()).setConsentStatus(ConsentStatus.PERSONALIZED);
說明
請務必讓用戶可以隨時更改或撤消意見,并將用戶更新后的意見設置給Consent SDK。
d.(可選)未達到法定承諾年齡的用戶。
如果您需要針對未達到法定承諾年齡的用戶請求對應的廣告,則在調用requestConsentUpdate()前必須通過調用setUnderAgeOfPromise設置是否“未達到法定承諾年齡用戶”的標記。
//設置“未達到法定承諾年齡用戶”的標記
Consent.getInstance(getApplicationContext()).setUnderAgeOfPromise(true);
一旦將此設置為true,則每次requestConsentUpdate()請求均會回調onFail(String errorDescription)方法,并提供給用戶錯誤描述參數errorDescription,此時不需要再展示征求用戶意見彈框。設置為false表明用戶已達到法定承諾年齡。
說明
當Consent SDK設置了此標記后,在請求廣告時,設置受眾人群中setTagForUnderAgeOfPromise的參數應與Consent參數保持一致。
4.根據用戶意見獲取廣告。
請求廣告時,默認不設置setNonPersonalizedAd方法,請求個性化廣告與非個性化廣告。如果用戶在Consent階段沒有做出選擇,則只能請求非個性化廣告。
如果設置setNonPersonalizedAd方法且值為:
·ALLOWALL:個性化廣告與非個性化廣告
·ALLOWNONPERSONALIZED:非個性化廣告
示例代碼如下:
//setNonPersonalizedAd設置為ALLOWNONPERSONALIZED時,只請求非個性化廣告
RequestOptions requestOptions=HwAds.getRequestOptions();
requestOptions=requestOptions.toBuilder().setNonPersonalizedAd(ALLOWNONPERSONALIZED).build();
HwAds.setRequestOptions(requestOptions);
AdParam adParam=new AdParam.Builder().build();
adView.loadAd(adParam);
Consent SDK測試
為了讓您能輕松地測試應用,Consent SDK提供了可設置的調試選項。
1.調用getTestDeviceId()獲取設備ID。
String testDeviceId=Consent.getInstance(getApplicationContext()).getTestDeviceId();
2.使用獲取的設備ID將您的設備作為調試設備列入允許清單。
Consent.getInstance(getApplicationContext()).addTestDeviceId(testDeviceId);
3.調用setDebugNeedConsent設置是否需要Consent。
//設置調試需要Consent,此時ConsentUpdateListener方法返回的isNeedConsent參數為true
Consent.getInstance(getApplicationContext()).setDebugNeedConsent(DebugNeedConsent.DEBUGNEEDCONSENT);
//設置調試不需要Consent,此時ConsentUpdateListener方法返回的isNeedConsent參數為false
Consent.getInstance(getApplicationContext()).setDebugNeedConsent(DebugNeedConsent.DEBUGNOTNEEDCONSENT);
4.完成這些步驟后,調用更新用戶意見狀態時會根據您的調試狀態返回isNeedConsent的值。
說明
如果把設備設置為測試設備,那么會返回固定的測試廣告技術提供商列表,無法驗證真實廣告技術提供商列表變化的場景。
特別聲明:以上文章內容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關于作品內容、版權或其它問題請于作品發表后的30日內與ESG跨境電商聯系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號密碼登錄
平臺顧問
微信掃一掃
馬上聯系在線顧問
小程序
ESG跨境小程序
手機入駐更便捷
返回頂部