2

私はアプリケーションの無料版と有料版の両方を開発しています。私は現在、1 つの「Android ライブラリ プロジェクト」と、ライブラリを参照する 2 つの通常の Android プロジェクトとして設定しています。

競合他社に対する私のアプリケーションの利点の 1 つは、apk のサイズが非常に小さいことです。特に有料版の場合は、サイズをできるだけ小さくしたいと思います。

では、ライブラリ プロジェクトに共通のソースを保持し、アプリケーションの無料バージョンに admob jar のみを含めるにはどうすればよいでしょうか?

ラッパーが1つの可能性であると回答が述べていることがわかりました。ただし、実際にソリューションを実装する方法は指定されていません。

4

1 に答える 1

0

答えは、私がそれを理解したとき、非常に簡単です。

無料版では、広告も表示するものでアクティビティを拡張するだけです. admob の jar ファイルのみを、サポートされている広告に含めるようになりました。そして、あなたは設定されています。

public class AdNanoMusicActivity extends NanoMusicActivity {

private AdView adView;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (!getResources().getBoolean(R.bool.paid)) {
        // Create the adView
        adView = new AdView(this, AdSize.BANNER, "a1500167a6bde8a");

        // Lookup your LinearLayout assuming it's been given
        // the attribute android:id="@+id/mainLayout"
        LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);

        // Add the adView to it
        layout.addView(adView,0);

        // Initiate a generic request to load it with an ad
        AdRequest adRequest = new AdRequest();
        adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
        adView.loadAd(adRequest);
    }

}

@Override
public void onDestroy() {
    if (adView != null) {
        adView.destroy();
    }
    super.onDestroy();
}
}

AdNanoMusicActivity は、ライブラリ プロジェクトにある NanoMusicActivity を拡張します。これで、ads を使用するプロジェクトに jar ファイルを含めるだけで済みます。もう一度見てみると、R.bool.paid は今は必要ないと思います。

于 2012-10-27T22:47:09.677 に答える