【问题标题】:How to access additional referral parameters at receiving end in firebase invites如何在 Firebase 邀请的接收端访问其他推荐参数
【发布时间】: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]
}

我有以下疑问:

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

请帮帮我。

【问题讨论】:

  • 你知道如何在接收端获取额外的推荐参数吗?

标签: firebase firebase-dynamic-links


【解决方案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 以后会根据新用户的电话号码添加深层链接吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-06
相关资源
最近更新 更多