本指南向您介紹如何將HUAWEI Ads SDK集成到App中,這是展示廣告和獲得收入的第一步,一旦集成了SDK,就可以選擇一種廣告類(lèi)型(如原生廣告或激勵(lì)視頻廣告),按照相應(yīng)的步驟實(shí)現(xiàn)。
前提條件
·HUAWEI Ads SDK依賴(lài)HMS Core(APK)4.0.0.300及以上版本。如果設(shè)備上未安裝HMS Core(APK)4.0.0.300及以上版本,則無(wú)法使用HUAWEI Ads SDK的相關(guān)接口。
·在開(kāi)發(fā)應(yīng)用前需要在華為開(kāi)發(fā)者聯(lián)盟網(wǎng)站上注冊(cè)成為開(kāi)發(fā)者并完成實(shí)名認(rèn)證,具體方法可參見(jiàn)帳號(hào)注冊(cè)認(rèn)證。
·參見(jiàn)創(chuàng)建項(xiàng)目和在項(xiàng)目中添加應(yīng)用完成應(yīng)用的創(chuàng)建。
導(dǎo)入HUAWEI Ads SDK
華為提供了Maven倉(cāng)集成方式的HUAWEI Ads SDK包。在開(kāi)始開(kāi)發(fā)前,您需要將HUAWEI Ads SDK集成到您的Android Studio開(kāi)發(fā)環(huán)境中。
1.在項(xiàng)目級(jí)build.gradle文件中配置Maven倉(cāng)地址。
buildscript {
repositories {
google()
jcenter()
maven { url 'https://developer.huawei.com/repo/' }
}
...
}
allprojects {
repositories {
google()
jcenter()
maven { url 'https://developer.huawei.com/repo/' }
}
}
2.在應(yīng)用級(jí)的build.gradle文件中添加編譯依賴(lài)。
將{version}替換為實(shí)際的版本號(hào),版本號(hào)索引請(qǐng)參見(jiàn)版本更新說(shuō)明,修改如下:
dependencies {
implementation 'com.huawei.hms:ads-lite:13.4.35.300'
}
3.在完成以上的配置后,點(diǎn)擊工具欄中的gradle同步圖標(biāo),完成“build.gradle”文件的同步,將相關(guān)依賴(lài)下載到本地。
說(shuō)明
如果出現(xiàn)錯(cuò)誤,請(qǐng)檢查網(wǎng)絡(luò)連接是否正常,以及檢查“build.gradle”文件是否正確。
配置網(wǎng)絡(luò)權(quán)限
在targetSdkVersion 28及以上的手機(jī)上允許HTTP網(wǎng)絡(luò)請(qǐng)求,建議在AndroidManifest.xml做以下配置。
<application
...
android:usesCleartextTraffic="true"
>
...
</application>
配置混淆腳本
您編譯APK前需要配置混淆配置文件,避免混淆HUAWEI Ads SDK導(dǎo)致功能異常。
打開(kāi)Android工程應(yīng)用級(jí)根目錄下的“proguard-rules.pro”混淆配置文件,加入排除HUAWEI Ads SDK的混淆配置。
-keep class com.huawei.openalliance.ad.**{*;}
-keep class com.huawei.hms.ads.**{*;}
初始化SDK
建議在應(yīng)用啟動(dòng)的時(shí)候調(diào)用HwAds.init()接口初始化HUAWEI Ads SDK,您需要自行實(shí)現(xiàn)AdSampleApplication類(lèi)。
示例代碼如下:
在AndroidManifest.xml添加Application名稱(chēng)。
<application
android:name=".AdSampleApplication"
...
>
...
</application>
實(shí)現(xiàn)AdSampleApplication類(lèi),并初始化SDK。
...
import com.huawei.hms.ads.HwAds;
...
public class AdSampleApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
HwAds.init(this);
}
...
}
當(dāng)然,也可以在Activity中初始化SDK。
示例代碼如下:
...
import com.huawei.hms.ads.HwAds;
...
public class MainActivity extends Activity {
private BannerView bannerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化HUAWEI Ads SDK
HwAds.init(this);
...
}
}