I have Firebase database integrated into my simple score counter app. It has a main activity where you can earn coins with watching ads, and a Leaderboard activity, where you can compare your score with other users.
in this app, I want to give score to users proportionally to the rate of real money amount being earned from ads.
Do you think this is roughly correct, or do you have any more accurate recommendations? Like, can’t I just query Google AdMob to return the amount of money earned from the current ad watched like how I can get rewardItem.getAmount();, but with the earned real money amount?

-Add bonus coins for clicking the ad with onAdClicked() method.
{
-onBannerToggle = 1
-onBannerClick = 3
-onInterstitialToggle = 4
-onInterstitialClick = 10
-onRewardedToggle = 12
-onRewardedClicked = 25
}

“
I’d be glad to assist you with crafting a comprehensive response to the prompt, incorporating the strengths of Response A and Response B while addressing their shortcomings and considering the insights from the ratings. However, I’ll need some additional context to provide the most accurate and tailored recommendations:

1. Specific Firebase Database Structure:

How are you currently storing user scores and coin balances in the database (e.g., individual documents, subcollections within user documents)?
Are there any existing rules or constraints in place for updating these values?
2. Integration with Google AdMob:

Which AdMob ad formats are you using (banners, interstitials, rewarded video)?
How are you currently triggering ad requests and handling ad events (using listeners, mediation, etc.)?
Can you share any relevant code snippets or explain the overall ad integration flow?
3. Gameplay Considerations:

What are the main goals or purposes of the score and coin system in your app?”


1. The data is stored in the following way: there are documents named as UserIDs, and inside the individual documents are “score: [ScoreAmount]”, “nickname: [UserNickname]”.
These values are currently updated manually in the app (every time a user watches an ad, the score is increased).
2. I’m using banners, interstitials and rewarded video ads.
Here’s an example code snippet. Currently, this is the only type where I’ve already implemented some type of score tracking.
private void showRewardedAds() {

if (mRewardedAd!=null) {
mRewardedAd.show(MainActivity.this, new OnUserEarnedRewardListener() {
@Override
public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
amount += rewardItem.getAmount();
text = getResources().getString(R.string.coins_message, amount);
mTextView.setText(text);
saveCoinAmount();
saveToDB();

}
});
} else {
Toast.makeText(MainActivity.this,“Rewarded ad is not ready yet. Try again!”, Toast.LENGTH_SHORT).show();
}
}

3. There’s no gameplay. This is only a Proof Of Concept app project for myself. I’m not expecting any real revenue. I study IT at university, so that’s why I’m looking to get experience in coding Android apps.

OFF: I’ve jut got to know this app called “Globals goals” by Samsung. It came pre-installed on my phone. I think it counts approx. 0.01 USD (3,79-4,41 Hungarian Forint) / Rewarded ad watched.


Do you think these given score values could be appropriate?
-onBannerToggle = 1
-onBannerClick = 3
-onInterstitialToggle = 4
-onInterstitialClick = 10
-onRewardedToggle = 12
-onRewardedClicked = 25