本指南向您介紹如何將HUAWEI Ads SDK集成到App中,這是展示廣告和獲得收入的第一步,一旦集成了SDK,就可以選擇一種廣告類型(如原生廣告或激勵(lì)視頻廣告),按照相應(yīng)的步驟實(shí)現(xiàn)。
前提條件
·HUAWEI Ads SDK依賴HMS Core(APK)4.0.0.300及以上版本。如果設(shè)備上未安裝HMS Core(APK)4.0.0.300及以上版本,則無法使用HUAWEI Ads SDK的相關(guān)接口。
·在開發(fā)應(yīng)用前需要在華為開發(fā)者聯(lián)盟網(wǎng)站上注冊成為開發(fā)者并完成實(shí)名認(rèn)證,具體方法可參見帳號注冊認(rèn)證。
·參見創(chuàng)建項(xiàng)目和在項(xiàng)目中添加應(yīng)用完成應(yīng)用的創(chuàng)建。
導(dǎo)入HUAWEI Ads SDK
華為提供了Maven倉集成方式的HUAWEI Ads SDK包。在開始開發(fā)前,您需要將HUAWEI Ads SDK集成到您的Android Studio開發(fā)環(huán)境中。
1.在項(xiàng)目級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/' }
}
}
2.在應(yīng)用級的build.gradle文件中添加編譯依賴。
將{version}替換為實(shí)際的版本號,版本號索引請參見版本更新說明,修改如下:
dependencies {
implementation 'com.huawei.hms:ads-lite:13.4.35.300'
}
3.在完成以上的配置后,點(diǎn)擊工具欄中的gradle同步圖標(biāo),完成“build.gradle”文件的同步,將相關(guān)依賴下載到本地。
說明
如果出現(xiàn)錯(cuò)誤,請檢查網(wǎng)絡(luò)連接是否正常,以及檢查“build.gradle”文件是否正確。
配置網(wǎng)絡(luò)權(quán)限
在targetSdkVersion 28及以上的手機(jī)上允許HTTP網(wǎng)絡(luò)請求,建議在AndroidManifest.xml做以下配置。
<application
...
android:usesCleartextTraffic="true"
>
...
</application>
配置混淆腳本
您編譯APK前需要配置混淆配置文件,避免混淆HUAWEI Ads SDK導(dǎo)致功能異常。
打開Android工程應(yīng)用級根目錄下的“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類。
示例代碼如下:
在AndroidManifest.xml添加Application名稱。
<application
android:name=".AdSampleApplication"
...
>
...
</application>
實(shí)現(xiàn)AdSampleApplication類,并初始化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);
...
}
}