通过谷歌搜索,我发现我的带广告的免费应用在一些网站上以“app_name_ad_free_mod_hacked”的标题发布。在我个人手机上尝试安装此应用程序后,它可以正常工作但没有广告显示。甚至我注意到它不会发出广告请求。
并且方法:
也许有人会在方法调用或数据库中注入注释,那么如何防止呢?
是否有解决方案可以防止应用被修改?
P.S:我正在使用ProGuard,并且已经反编译了修改后的APK文件,但我没有注意到与原始应用程序有任何区别。
以下是我代码中广告的初始化方式:
在MainActivity
的onCreate()
中:
MobileAds.initialize(getApplicationContext(), "admob_app_id");
mAdView = findViewById(R.id.adView_fragment_ads);
layout_ads = findViewById(R.id.layout_fragments_ads);
start_ad();
并且方法:
private void start_ad() {
try {
if (data_ne_db[0].equals("jo")) {
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice(getResources().getString(R.string.ads_test_device))
.addTestDevice(getResources().getString(R.string.ads_test_device_facebook))
.build();
//mAdView.setAdUnitId(getResources().getString(R.string.ads_kryesorja_poshte));
//mAdView.setAdSize(AdSize.LARGE_BANNER);
mAdView1.loadAd(adRequest);
mAdView1.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
mAdView1.resume();
mAdView1.setVisibility(View.VISIBLE);
u_inicializua = true;
}
@Override
public void onAdClosed() {
Log.e("ADDD CLOSEEEED", "Ads is closed by user)");
}
@Override
public void onAdFailedToLoad(int errorCode) {
mAdView1.pause();
Log.e("AD FRAG 2", "Ads failed to load" + " error : " + errorCode);
u_inicializua = false;
}
@Override
public void onAdLeftApplication() {
}
@Override
public void onAdOpened() {
}
});
}
} catch (Exception ignored) {}
}
也许有人会在方法调用或数据库中注入注释,那么如何防止呢?