I have seven virtual products in my game and would like to give one away each day or so to people who visit my website.
2 に答える
ボブ・スミスはこれが機能することは正しいですが、これらのアプリ内購入の価値によっては、より複雑なものに誤りたいと思うかもしれません.
これらのコードについて何も生成されない場合、つまり、私のコードがあなたのコードと同じである場合、誰かがこのコードを配布するだけで、誰にとっても機能します。心に留めておくべきもう 1 つの提案は、コードを所定の秘密値とアプリの一意の識別子のハッシュにすることです。
たとえば、すべてのアプリに ID がある場合、コードは次のようになります。
md5(userId.toString + mySecret);
ハッシュは一方向であるため、誰もあなたの秘密を取り戻したり、独自のコードを計算したりすることはできません。ユーザー固有のコードを取得するには、サービスを通じてアプリ コードを送信する必要があります。
引き続き機能を重ねることもできます。1 つのアルゴリズムで購入ごとに一意のコードが生成されるように、購入ごとに秘密の識別子を含めることができます。
もちろん、シークレットが 1 つしかない場合は、それもアプリにハード コードする必要がありますが、これは完全に安全ではありません。これは、ボブのシステムと私のシステムの両方の問題であり、その秘密が公開されると、システム全体が崩壊します。そのレベルのセキュリティが必要な場合は、あらゆる種類のさまざまな暗号化手法を調べて、ますます巧妙なシステムを考え出すことができます.
はい、できます。コードの受信者に電子メールまたは何らかの方法でコードを送信し、アプリ内にその人がコードを入力できる場所を用意する必要があります。ビデオゲームでチート コードを入力するのと同じです。彼らが入力したコードが有効にしたものと一致する場合は、仮想製品へのアクセスを許可する必要があります。