如何在 Firebase 邀请的接收端访问其他推荐参数

Posted

技术标签:

【中文标题】如何在 Firebase 邀请的接收端访问其他推荐参数【英文标题】:How to access additional referral parameters at receiving end in firebase invites 【发布时间】:2016-06-24 08:48:58 【问题描述】:

这是发送方。

private void onInviteClicked() 

    Map<String, String> referralParams = new HashMap<String, String>();
    referralParams.put("Name", "Devesh Agrawal");
    referralParams.put("id", "1000");

    Intent intent = new AppInviteInvitation.IntentBuilder(getString(R.string.invitation_title))
            .setMessage(getString(R.string.invitation_message))
            .setDeepLink(Uri.parse(getString(R.string.invitation_deep_link)))
            .setCustomImage(Uri.parse(getString(R.string.invitation_custom_image)))
            .setCallToActionText(getString(R.string.invitation_cta))
            .setAdditionalReferralParameters(referralParams)
            .build();
    startActivityForResult(intent, REQUEST_INVITE);

这是接收端:

private void processReferralIntent(Intent intent) 
    // Extract referral information from the intent
    String invitationId = AppInviteReferral.getInvitationId(intent);
    String deepLink = AppInviteReferral.getDeepLink(intent);

    // Display referral information
    // [START_EXCLUDE]
    Log.d(TAG, "Found Referral: " + invitationId + ":" + deepLink);
    ((TextView) findViewById(R.id.deep_link_text))
            .setText(getString(R.string.deep_link_fmt, deepLink));
    ((TextView) findViewById(R.id.invitation_id_text))
            .setText(getString(R.string.invitation_id_fmt, invitationId));
    // [END_EXCLUDE]

我有以下疑问:

    接收端的invitationId有什么用?这可以用于任何目的吗? 我正在为 AdditionalReferralParameters 发送地图,如何在接收端访问这些值?

请帮帮我。

【问题讨论】:

你知道如何在接收端获取额外的推荐参数吗? 【参考方案1】:

我很快就放弃了这个想法,并假设推荐参数有其他用途 :-( 但我使用深度链接获取了我的数据:

找到这个额外的信息:https://github.com/firebase/quickstart-android/issues/133 "@droidwala 与团队交谈后,似乎不再需要此方法,很快将被删除"

在发件人中

Uri deepLink = Uri.parse(getString(R.string.invitation_uri));
Uri deepLinkPlus = Uri.withAppendedPath(deepLink, family.getUid());
Intent intent = new AppInviteInvitation.IntentBuilder(...)
                         .setDeepLink(deepLinkPlus);

在 AppInvite.AppInviteApi.getInvitation 回调中

Uri deepLink = Uri.parse(AppInviteReferral.getDeepLink(intent));
String uid = deepLink.getLastPathSegment();

【讨论】:

我注意到对于接收方而言,如果它是通过 SMS 发送的,则 SMS 中显示的链接是 Firebase 网站上显示的链接,而不是我所拥有的深层链接假如。怎么会? Google 以后会根据新用户的电话号码添加深层链接吗?

以上是关于如何在 Firebase 邀请的接收端访问其他推荐参数的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 动态链接可以用于通用应用邀请和特定页面邀请以跟踪推荐吗?

Firebase邀请Beta App(Google Play商店测试版和iOS Testflight)

如何访问另一个firebase项目的数据

推荐邀请使用Amazon Cognito

如何通过 Firebase 邀请通过动态链接发送用户信息

firebase、flutter应该如何处理好友请求和邀请? [关闭]