# 目的 

Leaderの結果をFirebaseにも登録する

# 方法

RetroAchievementsNotification(yabause\src\android\app\src\main\java\org\uoyabause\android\RetroAchievementsNotification.kt)でshowLeaderboardSubmitがコールされたとき、
その内容でBaseGame(yabause\src\android\app\src\main\java\org\uoyabause\android\game\BaseGame.kt)のsubmitScoreToFirestoreをコールしてFireStoreにも登録する

    /**
     * Show leaderboard submission notification
     */
    fun showLeaderboardSubmit(leaderboardId: Int, title: String, description: String, score: Int) {
        notificationScope.launch {
            val notificationView = createLeaderboardNotification(title, description, score)
            addNotificationToStack(notificationView)
        }
    }

# 注意点

ゲームによってはスコアのランキングが昇順だったり降順だったりするゲームごとに設定できるようにする

まずコード書かず調査して、計画を立ててください。懸念点がありましたら私に聞いてください



        val config = getRetroAchievementsLeaderboardConfig(retroAchievementsLeaderboardId)
        if (config == null) {
            val error = Exception("No configuration found for RetroAchievements leaderboard $retroAchievementsLeaderboardId")
            Log.w("BaseGame", error.message ?: "Configuration error")
            onFailure?.invoke(error)
            return
        }
ここでエラーにするのではなく createLeaderboardNotification(title: String, description: String, score: Int) の値を使ってデフォルトのデータを入れる

                        val config = RetroAchievementsLeaderboardConfig(
                            type = "score",
                            direction = "descending", 
                            webhookKey = "",
                            displayFormat = "number",
                            name = title
                        )
                        

Hardcore に設定してるにもかかわらず、起動時にHardcoreモードになっていない
この設定はゲームごとに保存に確実に反映するようにしてくだしあ
ゲームごとの設定値の保存は　以下のようにゲームコードをキーにして getHarmonySharedPreferencesを使ってます

val key = gamecode.replace(" ","-")
val gamePreference = requireContext().getHarmonySharedPreferences(key)


