我在我的应用程序中集成了 AdMob。 对于每个不同的广告,我使用了不同的广告单位 ID。 为了获得这些广告单位 ID,我将这些 ID 存储在我的 string.xml
文件中。 如果有人对我的 APK 进行反编译,他可以轻松获取这些 ID。 因此,我的问题是,任何人都能够利用这些 ID 进行恶意操作吗? 我应该将这些密钥保留在服务器上,并在需要时获取吗?
通过您的AD单元ID进行恶意攻击的可能性非常小。但是,有人仍然可以使用您的APP-ID和AD单元ID生成无效流量,导致您的AdMob帐户被暂停。
根据此文档,您可以将这些ID放入您的build.gradle文件中,并通过选择不同的构建类型自动切换测试AD ID /真实AD ID。
以下是我在app/build.gradle中的代码:
buildTypes {
debug {
applicationIdSuffix ".debug"
resValue "string", "app_name", "@string/app_name_debug"
resValue "string", "ad_banner_id", "ca-app-pub-3940256099942544/6300978111" // test unit id
resValue "string", "ad_rewarded_id", "ca-app-pub-3940256099942544/5224354917" // test unit id
}
release {
resValue "string", "app_name", "@string/app_name_release"
resValue "string", "ad_banner_id", "ca-app-pub-***/***" // real ad unit id
resValue "string", "ad_rewarded_id", "ca-app-pub-***/***" // real ad unit id
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
zipAlignEnabled true
}
}