使用 Firebase 的应用程序邀请不起作用

App invites using Firebase not working

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

遵循的步骤

代码片段

邀请Activity

 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();

            }
        }
    }

//result_code 是 3 而 RESULT_OK 在调试时是 -1

Firebase 的新手,如果指出我做错了什么,将不胜感激。

经过几个小时的努力发现并修复了问题,将其张贴在这里,因为它可能对其他人也有帮助。

最初的提示是 "Create invitations failed to error code: 3" 在 SO 中也有类似的问题 Get suggested invitees failed due to error code: 3

但在我的例子中,SHA1 证书已经添加,但 Firebase 中的包名称结果是一个区分大小写的问题。

还有一点需要注意,google-services.json中从Firebase下载的"api_key"与Web Api Key不相关。我试图将网络 api 密钥从仪表板手动复制并粘贴到 json 文件到 api_key,但我误以为这可能是导致错误的问题。

  1. 登录 Firebase 控制台:https://console.firebase.google.com

  2. 您需要单击 "Add Fingerprint" 按钮,然后添加您的 SHA1 密钥。您 不需要 重新下载您的 google-services.json,您只需要添加 SHA1 密钥。

  3. 尝试从您的应用发送应用邀请。现在可以使用了。