質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

0回答

1162閲覧

Firebaseのメールリンク認証で、canHandleCodeInAppをtrueにしないといけないというエラーになる。

masato01

総合スコア11

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2021/10/20 04:47

編集2021/10/22 05:03

解決したいこと

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をどこに追加したらいいかわかりません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問