应用邀请使用Firebase无法正常工作

use*_*433 6 android firebase firebase-invites

开发一个具有Firebase作为后端的应用程序.目前,在实施Firebase App Invite时卡住了.只是想发送邀请(当前没有尝试通过安装的新用户实现动态链接的点击),但onActivityResult返回错误的result_code

遵循的步骤

  • 集成的FireBase SDK并成功进行身份验证.
  • 启用Firebase动态链接并在应用中引用
  • 单击邀请按钮会显示内置的Firebase活动,其中包含选择要邀请和发送的用户的选项(短信或电子邮件邀请)
  • 应用程序按预期返回到邀请屏幕.

代码片段

InviteActivity

 btnInvite.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new AppInviteInvitation.IntentBuilder(INVITATION_TITLE)
                        .setMessage(INVITATION_MESSAGE)
                        .setDeepLink(Uri.parse("https://ewyc6.app.goo.gl/eNh4"))
                        .setCallToActionText(INVITATION_CALL_TO_ACTION)
                        .build();
                startActivityForResult(intent, REQUEST_INVITE);
            }
        });

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        Log.d(TAG, "onActivityResult: requestCode=" + requestCode + ", resultCode=" + resultCode + "result_ok ="+RESULT_OK);

        if (requestCode == REQUEST_INVITE) {
            if (resultCode == RESULT_OK) {

                // You successfully sent the invite,
                // we can dismiss the button.
                btnInvite.setVisibility(View.GONE);

                String[] ids = AppInviteInvitation.getInvitationIds(resultCode, data);
                StringBuilder sb = new StringBuilder();
                sb.append("Sent ").append(Integer.toString(ids.length)).append(" invitations: ");
                for (String id : ids) sb.append("[").append(id).append("]");
                Toast.makeText(getApplicationContext(),"Invited!!!",Toast.LENGTH_SHORT).show();

            } else {

                Toast.makeText(getApplicationContext(),"Sorry, unable to send invite.",Toast.LENGTH_SHORT).show();

            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

// result_code为3,调试时RESULT_OK为-1

Firebase的新功能,如果指出我做错了什么,我将不胜感激.

use*_*433 6

经过数小时的斗争找到了问题并修复了它,将其发布在此处,因为它也可能对其他人有所帮助.

最初的提示是"创建邀请失败错误代码:3"这里有一个类似的问题 因为错误代码导致建议的被邀请者失败:3

但在我的情况下,SHA1证书已经添加,但Firebase中的软件包名称被证明是一个区分大小写的问题.

还有一点需要注意,从Firebase和Web Api Key下载的google-services.json中的"api_key"是无关紧要的.我试图将web api密钥手动从仪表板复制并粘贴到json文件到api_key,误解可能是导致错误的问题.