8

無料で配布したいAndroidアプリを開発しました。

仕事でお金を稼ぐために、アプリに広告や通知を追加したいと考えています。ユーザーがお金を寄付することを決定した場合、ユーザーはある種のロック解除コードを使用して「寄付」バージョンのロック解除コードを受け取ります。

Androidでこれを実装するための「ベストプラクティス」はありますか?

ありがとう!

4

3 に答える 3

8

はいあります。アプリ内課金です。:-)

モデレーターコメントのため編集しました。

上記のリンクを読んだ後、目的の機能をそれぞれ提供するさまざまなパッケージを実装できることがわかります。あなたの場合、ユーザーが購入する「寄付製品」(パッケージ)があります。ここで対処する必要がある詳細の一部、IMHO:

  1. 最もシンプルなアプリは 1 ドル、2 ドル、5 ドル、10 ドル、20 ドルですが、もちろん、より高い値を提供することもできます。複数アプリ パターンと比較すると、1 つのコード ブランチ内ですべてを管理し、さまざまなアプリケーションをいじる必要がないため、コード ロジックが簡素化されるという利点があります。

  2. 寄付パッケージを提供しているため、ユーザーがその特定の数量を複数回寄付できるのは当然です。したがって、寄付パッケージ (マーケット コンソールに追加する商品) がunmanagedであることを確認する必要があります。

これは、特定のケースに関する 2 つの主な懸念事項を含む一般的な概念です。

注: 元の非常に単純な回答をした理由 (それでも、モデレーターのコメントに同意しませ ) は、アプリ内課金の実装が非常に簡単だからです。本当に言うべきことはあまりありません。それを試してみてください!

于 2011-11-23T18:30:33.340 に答える
7

私はこのアプローチを使用しました:

  • 「My App」という無料のAndroidアプリをリリースしています
  • 「MyApp Donate」という空の有料アプリをリリースします (「寄付していただきありがとうございます... bla bla」などのテキストを含むアクティビティのみが含まれます)。

「My App」で広告を表示すると仮定しましょう。どこかに「寄付して広告を削除する」ボタンがあり、ユーザーを「My App Donate」のマーケット ページに移動させることができます。

My App では、パッケージ「My App Donate」がインストールされているかどうかに基づいて、広告を表示する必要があるかどうかを決定します。

複雑に聞こえますが、実装は非常に簡単です。次のコードを使用して、パッケージがインストールされているかどうかを確認できます。

public static boolean isPackageInstalled (final Context ctx, final String packageName) {
    boolean result = false;
    try {           
        final PackageManager pm = ctx.getPackageManager();
        final PackageInfo pi = pm.getPackageInfo(packageName, 0);
        if (pi != null && pi.applicationInfo.enabled)
            result = true;
    }
    catch (final Throwable e) {
        if (Dbg.IS_DEBUG) Dbg.debug("Package not installed: "+packageName);
    }

    return result;
}

ps。アプリ内課金の統合はそれほど簡単ではありません。さらに、アプリはアプリ内課金がサポートされている国でのみ表示されます。あなたの場合、それは価値がありません。

于 2011-11-23T18:34:26.653 に答える
3

これは、Android マーケットプレイスのアプリ内課金で行うことができます。無料版と有料版を提供するアプリもたくさんあり、有料版の方が機能が多く、広告が少なくなっています。

于 2011-11-23T18:32:08.280 に答える