0

お金を稼ぐためのいくつかのシステムを備えたモバイルゲームを持っています (トランザクションまたはオファーウォール経由)。

プレイヤーは 3 種類の「金貨」パックから選択できるため、必要な数のピースがあれば、同じパックを複数回要求できることは明らかです。

しかし、私のコードには問題があります:

public void mediumPack(String emailMP) {
        
    Date date = Calendar.getInstance().getTime();
    SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);

     Calendar calendar = Calendar.getInstance();
     calendar.setTime(date);
     Date previousDate = calendar.getTime();

     String dateString = dateFormat.format(previousDate);
        
      HashMap<String, Object> map = new HashMap<>();
        map.put("amount", 5000);
        map.put("email", emailMP);
        map.put("date", dateString);
        map.put("status", MPStatus);
        
        DatabaseReference referenceMP = FirebaseDatabase.getInstance().getReference().child("demandMP").child(user.getUid());
        
        referenceMP.child("Medium Pack")
            .setValue(map)
            .addOnCompleteListener(new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {

                    if (task.isSuccessful()) {

                        Toast.makeText(MediumPackActivity.this, "Success", Toast.LENGTH_SHORT).show();
                        
                        finish();

                    } else {
                        Toast.makeText(MediumPackActivity.this, "Error: " + task.getException().getMessage(), Toast.LENGTH_SHORT).show();
                    }

                }
        });
}
getMP.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
                    
            String emailMP = emailMediumPack.getText().toString();
                    
                if (TextUtils.isEmpty(emailMP)) {
     
                   emailMediumPack.setError("Invalid put mail");
                   return;
            }
                
            mediumPack(emailMP);
        }
});

そのため、アカウントの作成時に、子の「demandMP」と uid が既に作成されています。

referenceMP を追加したい uid では、すべてが機能しますが、問題は、何度か試行した後、単一の参照を作成できることです (別の電子メール アドレスを使用すると、「ミディアム パック」の電子メールのみが変更されます)。

複数の参照を作成する方法はありますか?

それ以外の場合は、「ミディアム パック」という名前の代わりにランダム チケットを作成することを考えました。この可能性を考慮して、誰かが次のようなランダム チケットの作成方法を教えてくれる可能性があります。

MP-XX...(18 chars)-5000
4

1 に答える 1