解決したいこと
KotlinとFirebaseを使ってログイン機能を作っています。
今は、新規登録の際、メールリンク認証できるように頑張っています。
登録するメールアドレスにメールを送信することはできたのですが、そのメールの内容がエラーになってしまいました。
発生している問題・エラー
Error encountered "canHandleCodeInApp" must be "true" for email link sign-in. The user is expected to complete sign-in in the intended application.
該当するソースコード
package com.example.logintest import android.os.Bundle import android.util.Log import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import com.example.logintest.databinding.ActivitySecoundBinding import com.google.firebase.auth.FirebaseAuth import com.google.firebase.auth.ktx.actionCodeSettings import com.google.firebase.auth.ktx.auth import com.google.firebase.ktx.Firebase class SecoundActivity : AppCompatActivity() { private lateinit var binding: ActivitySecoundBinding private lateinit var createUser: FirebaseAuth val auth = Firebase.auth override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivitySecoundBinding.inflate(layoutInflater) setContentView(binding.root) createUser = FirebaseAuth.getInstance() binding.signin.setOnClickListener { moveUser() } } private fun moveUser() { val email = binding.email.text.toString() val password = binding.password.text.toString() val emailLink = intent.data.toString() val actionCodeSettings = actionCodeSettings { url = "https://minto.page.link/?link=https://minto.page.link&efr=1" handleCodeInApp = true setIOSBundleId("com.example.ios") setAndroidPackageName( "example.page.link", true, "12" ) } //メールアドレスとパスワードを入力されていた場合 if (email.isNotEmpty() && password.isNotEmpty()) { auth.sendSignInLinkToEmail(email, actionCodeSettings) .addOnCompleteListener { task -> if (task.isSuccessful && password.length >= 6) { Log.i("verify", "Email sent.") Toast.makeText( this, "このメールアドレスにメールを送信しました。", Toast.LENGTH_SHORT) .show() } else if (password.length <= 6) { Toast.makeText( this, "パスワードを6文字以上にしてください。", Toast.LENGTH_SHORT) .show() } } //メールアドレスとパスワードを入力されていない場合 } else if (email.isEmpty() || password.isEmpty()) { Toast.makeText( this, "メールアドレスとパスワードを入力して下さい。", Toast.LENGTH_SHORT) .show() } } }
自分で試したこと
GoogleやYoutube、Githubで検索したりしているのですが、canHandleCodeInAppをどこに追加したらいいかわかりません。
あなたの回答
tips
プレビュー