Debug和 Release版本自動(dòng)切換不同的AdMob ad unit id配置,adb日志怎么分析和調(diào)試版本自動(dòng)切換不同的AdMob ad單元id配置。需求情景調(diào)試本地開(kāi)發(fā)環(huán)境時(shí),不允許使用真實(shí)的AdMob廣告ID,只能使用AdMob提供的官方測(cè)試ID。所以有一個(gè)麻煩,就是每次編譯發(fā)布版本,都需要手動(dòng)替換版面文件中......
需求情景
調(diào)試本地開(kāi)發(fā)環(huán)境時(shí),不允許使用真實(shí)的AdMob廣告ID,只能使用AdMob提供的官方測(cè)試ID。所以有一個(gè)麻煩,就是每次編譯發(fā)布版本,都需要手動(dòng)替換版面文件中的廣告ID。費(fèi)時(shí)費(fèi)力,而且容易忘記。谷歌一下,找到一個(gè)非常好的解決方案。
創(chuàng)建不同的源集
暫且叫源資源收集的中文名吧。
默認(rèn)情況下,Android Studio只創(chuàng)建主源集。然而,實(shí)際上,Gradle可以自動(dòng)識(shí)別調(diào)試和發(fā)布源集。只需將調(diào)試/發(fā)布目錄放在與app/src/main相同的目錄中即可。所以:
本地模擬器調(diào)試時(shí),會(huì)自動(dòng)使用調(diào)試目錄下的資源。
發(fā)布時(shí),將自動(dòng)使用release或main中的資源(如果沒(méi)有release,將使用main)。在我的需求場(chǎng)景中,我不需要建立發(fā)布目錄。
需要在main下完整復(fù)制debug和release的strings.xml嗎?
我不需要它。
我還應(yīng)該補(bǔ)充一點(diǎn),如果你有一個(gè)沒(méi)有在debug或者release文件夾中定義的字符串,它將會(huì)退回到你的主文件夾中。
如果您想要獲取的資源在調(diào)試目錄中不存在,程序?qū)⒆詣?dòng)在主目錄中查找它。
參考:
https://stack overflow . com/questions/36039848/Androidseparatestringvaluesforreleaseanddebugbuilds
添加調(diào)試目錄的方法
Android Studio代碼目錄從Android視圖切換到項(xiàng)目視圖。右鍵單擊app/srcnewXML Values XML File。
從“源集”下拉列表中選擇“調(diào)試”。(可以看出默認(rèn)已經(jīng)支持調(diào)試/發(fā)布)
此時(shí),當(dāng)你切換到Android視圖時(shí),你可以找到多語(yǔ)種版本的strings.xml和調(diào)試版本的strings.xml。
實(shí)際的新文件地址是:
新文件:app/src/debug/RES/values/strings . XML
參考:
https://developer . Android . com/studio/build/buildvariants # source sets
設(shè)置debug/main的不同廣告ID
在main中使用真實(shí)廣告單元id:
string name = ad _ unit _ id translatable = false caapppubXXX/xxxlt;/string
調(diào)試中使用的測(cè)試的Ad單元id:
string name = ad _ unit _ id translatable = false caapppub3940256099942544/6300978111 lt;/string
然后讀取廣告單元代碼中的字符串變量。
ads:adUnitId= string/ad_unit_id
這樣就可以在不同的情況下自動(dòng)切換廣告ID。我再也不怕失去理智了!
特別聲明:以上文章內(nèi)容僅代表作者本人觀點(diǎn),不代表ESG跨境電商觀點(diǎn)或立場(chǎng)。如有關(guān)于作品內(nèi)容、版權(quán)或其它問(wèn)題請(qǐng)于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號(hào)密碼登錄
平臺(tái)顧問(wèn)
微信掃一掃
馬上聯(lián)系在線顧問(wèn)
小程序
ESG跨境小程序
手機(jī)入駐更便捷
返回頂部