我有一個GPL android應用程序,它最近被包含在F-Droid中。有沒有什麼方法可以識別我的Android應用程序是由F-Droid構建的?
在谷歌Play的我使用AdMob廣告獲得一定的收入,但是當應用程序被F-Droid的服務器構建的,他們使用this AdMob clone所以代碼生成,而不需要增加一個二進制專有庫。因此,廣告不會顯示。
但是,我想添加一個小的「橫幅」,允許用戶在未顯示廣告時訪問我的網站:我不會獲得增加給我的直接收入,但至少我會允許用戶可以訪問我的頁面,如果他們願意,也可以捐款。
我的問題是:是否有任何方式知道下面的代碼中的「IM_USING_THE_REAL_ADMOB」?
另一種選擇是知道誰簽了APP。
任何幫助?
LinearLayout layout = (LinearLayout) findViewById(R.id.adLayout);
if(IM_USING_THE_REAL_ADMOB) {
// Google Play version of the app
adView = new AdView(this, AdSize.BANNER, "ad-code");
layout.addView(adView);
AdRequest request = new AdRequest();
adView.loadAd(request);
} else {
// F-Droid versions of the App
ImageView myImage;
layout.AddView(image)
}
我想看看簽名,如「CommonsWare建議,這樣做
PackageManager pm = getPackageManager();
try {
PackageInfo a = pm.getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
byte[] raw = a.signatures[0].toByteArray();
String sig = MessageDigest.getInstance("MD5").digest(raw).toString();
_sourceTextEditor.setText(sig);
}
catch (Exception e) {
return false;
}
,但我在兩部手機上安裝相同的簽署應用得到了不同的結果。我這樣做有什麼不對嗎?
謝謝,但是我想在加載廣告之前知道,就像真正的AdMob一樣,有時候也會發生。 –