1

Android モバイル アプリケーションを設計しています。アプリケーションは、クレジット システムを使用します。ユーザーは、アプリ課金サービスで Google を通じてクレジットを購入できます。さらに、ユーザーがアプリケーションをインストールすると、無料のクレジットが得られます。

ユーザーのクレジットは Web サーバーに保存されます。ユーザーがアプリケーションをダウンロードすると、UUID が作成され、アプリとサーバーに保存されます。

最初の無料クレジットを受け取るために、ユーザーがアプリをアンインストールして再インストールしたことを何らかの方法で検出する必要があります (再インストールすると新しい UUID が作成されるため、新しいユーザーのようになります)。

電話またはユーザー識別子を探していましたが、これはあまり良いアイデアではないことを読みました ( http://android-developers.blogspot.com.es/2011/03/identifying-app-installations. html 固有の Android デバイス ID はありますか?またはAndroid デバイスのシリアル番号を見つける方法は? )。さらに、所有されていないアカウントを使用するために、これは簡単にハッキングされる可能性があります。

どういうわけかこの問題を解決するには?たぶん、アプリ内課金を使用していますか?私はどんな解決策にも開かれています。

ありがとう

4

2 に答える 2

0

IMEIを使用しない理由. 手に入れるのは簡単です。変更するのは難しく、多くの国では違法です (電話強盗を防ぐため)。私たちはそれを多くの目的に使用しています。また、追加のアクセス許可 READ_PHONE_STATE が 1 つだけ必要です。(ほとんどのユーザーは文句を言いません)

非常に少数のデバイスでは NULL を返す場合があります。その場合は、シリアル番号などの別の一意の識別子を準備してテストする必要があります。Mac アドレス。Android ID または UUID。あなたが言ったように、この最後の識別子はより簡単にハッキングされますが、デバイスが非常に少ないため、ハッキングの問題が発生する可能性は低くなります.

解決策は、デザインに関するものです。たとえば、ビデオ ゲームでゲームを再インストールして無料の仮想キャッシュを獲得する場合、セーブ データも削除されるため、ゼロから始めて同じ金額のキャッシュを得ることができます。プレイヤー間での現金の移動がないため、これを悪用することはできません。

Web サービスを提供している場合。すべてのリクエストで IP を確認することもできます。したがって、リクエストの量と合計クレジットを追跡します。これはIMEIとともに。最後に、本当に重要であると思われる場合は、同じユーザーの複数のアカウントを防ぐためだけに、クレジット カードを (無料で) 要求することができます。ほとんどのサービスでは、ユーザーが少なくなり、結果的に悪化する可能性があるため、必要ありません。

于 2013-04-24T18:14:11.780 に答える