Debug和 Release版本自动切换不同的AdMob ad unit id配置,adb日志怎么分析和调试版本自动切换不同的AdMob ad单元id配置。需求情景调试本地开发环境时,不允许使用真实的AdMob广告ID,只能使用AdMob提供的官方测试ID。所以有一个麻烦,就是每次编译发布版本,都需要手动替换版面文件中......
需求情景
调试本地开发环境时,不允许使用真实的AdMob广告ID,只能使用AdMob提供的官方测试ID。所以有一个麻烦,就是每次编译发布版本,都需要手动替换版面文件中的广告ID。费时费力,而且容易忘记。谷歌一下,找到一个非常好的解决方案。
创建不同的源集
暂且叫源资源收集的中文名吧。
默认情况下,Android Studio只创建主源集。然而,实际上,Gradle可以自动识别调试和发布源集。只需将调试/发布目录放在与app/src/main相同的目录中即可。所以:
本地模拟器调试时,会自动使用调试目录下的资源。
发布时,将自动使用release或main中的资源(如果没有release,将使用main)。在我的需求场景中,我不需要建立发布目录。
需要在main下完整复制debug和release的strings.xml吗?
我不需要它。
我还应该补充一点,如果你有一个没有在debug或者release文件夹中定义的字符串,它将会退回到你的主文件夹中。
如果您想要获取的资源在调试目录中不存在,程序将自动在主目录中查找它。
参考:
https://stack overflow . com/questions/36039848/Androidseparatestringvaluesforreleaseanddebugbuilds
添加调试目录的方法
Android Studio代码目录从Android视图切换到项目视图。右键单击app/srcnewXML Values XML File。
从“源集”下拉列表中选择“调试”。(可以看出默认已经支持调试/发布)
此时,当你切换到Android视图时,你可以找到多语种版本的strings.xml和调试版本的strings.xml。
实际的新文件地址是:
新文件:app/src/debug/RES/values/strings . XML
参考:
https://developer . Android . com/studio/build/buildvariants # source sets
设置debug/main的不同广告ID
在main中使用真实广告单元id:
string name = ad _ unit _ id translatable = false caapppubXXX/xxxlt;/string
调试中使用的测试的Ad单元id:
string name = ad _ unit _ id translatable = false caapppub3940256099942544/6300978111 lt;/string
然后读取广告单元代码中的字符串变量。
ads:adUnitId= string/ad_unit_id
这样就可以在不同的情况下自动切换广告ID。我再也不怕失去理智了!
特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。
二维码加载中...
使用微信扫一扫登录
使用账号密码登录
平台顾问
微信扫一扫
马上联系在线顾问
小程序
ESG跨境小程序
手机入驻更便捷
返回顶部