代码之家  ›  专栏  ›  技术社区  ›  Jaimin Modi

本地响应:实施奖励推荐(邀请并获得)

  •  2
  • Jaimin Modi  · 技术社区  · 6 年前

    我必须执行 邀请与赚取 Android应用程序中的功能。

    我要做的是:用户可以在社交媒体上与任何人共享链接, 在接收链接时,另一个用户可以单击该链接以使用该链接安装应用程序。

    用户使用该链接安装应用程序后,可以奖励发送者或被邀请者。这怎么可能?

    到目前为止,我在消防队 动态链接 发现了一些概念和演示。但是,仍然很困惑。

    你能告诉我,为了达到这个目标,我还需要做些什么吗?

    在React Native中是否可能。如果不是,那我怎么能在Android中实现呢?

    谢谢

    2 回复  |  直到 6 年前
        1
  •  2
  •   Chirag Sharma    6 年前

    您可以使用 react本机分支

    只需遵循集成文档 分支机构 在您的react本机应用程序中,您将很好地离开。

    Documentation for react-native-branch

    这里还有一个Github示例供您参考 Example

        2
  •  3
  •   Pritish Vaidya    6 年前

    由于您已经完成了 firebase ,因此您可以很容易地使用基于相同的过程。

    这是开始的路线图

    设置

    • 按照 initial setup guide 配置将项目添加到firebase
    • 配置<代码> Android /App/Bug .Goelle 和 MeaveApdio.java < /C> >添加火箭炮动态链接
    • 配置FireBase邀请包
    • 如果您尚未配置Deep Link,请参阅本教程。

    用法

    发送邀请组件

    import firebase from'react native firebase';
    
    const title='演示FireBase邀请'
    const message='您已被邀请加入XXXX应用程序'
    const invitation=新建firebase.invitates.invitation(标题、消息);
    invitation.setdeeplink(//your app的已配置深度链接)
    invitation.setcustomage(//image-uri)
    invitation.setCallToActionText(//设置电子邮件上“邀请”按钮上的文本)
    
    /…点击某个按钮
    sendInvitation=异步()=>。{
    const invitationids=等待firebase.invites().sendinvitation(邀请)
    //邀请ID可用于跟踪您认为合适的其他分析。
    }
    < /代码> 
    
    

    处理接收邀请

    使用getinitialinvitationmethod或listen for invitations using theonvitationlistener.

    在应用程序的根目录,您可以添加

    import firebase from'react native firebase';
    
    firebase.invites()。
    .getInitialinvitation()。
    。然后((邀请)=>。{
    如果(邀请){
    //从邀请中打开应用程序
    //在此处设置奖励点并更新FireBase中的数据
    }否则{
    //应用程序未从邀请中打开
    //此用户无奖励
    }
    (});
    < /代码> 
    
    

    邀请包含以下对象,这些对象将帮助您更新发件人奖励积分的查询。

    deeplink:string
    邀请ID:字符串
    < /代码> 
    
    

    您可以使用深度链接路由到特定的页面,还可以从被邀请者那里获得自定义数据,例如随机的useridto create the user on the firebase。 使用invitationid查询其他资料。

    .

    这是开始的路线图

    Flow map

    设置

    用法

    发送邀请组件

    import firebase from 'react-native-firebase';
    
    const title = 'Demo Firebase Invites'
    const message = 'You have been invite to join the xxxxx app'
    const invitation = new firebase.invites.Invitation(title, message);
    invitation.setDeepLink(// Your App's Configured deep link)
    invitation.setCustomImage(// Image Uri)
    invitation.setCallToActionText(// Set the text on the invitation button on the email)
    
    // ... On some button click
    sendInvitation = async () => {
      const invitationIds = await firebase.invites().sendInvitation(invitation)
      // Invitation Id's can be used to track additional analytics as you see fit.
    }
    

    处理接收邀请

    要么使用getInitialInvitation方法或使用onInvitation倾听者。

    在应用程序的根目录,您可以添加

    import firebase from 'react-native-firebase';
    
    firebase.invites()
    .getInitialInvitation()
    .then((invitation) => {
        if (invitation) {
            // app opened from an Invitation
            // Set the rewards points here and update data in your firebase
        } else {
           // app NOT opened from an invitation
           // No rewards for this user
        }
    });
    

    邀请包含以下对象,这些对象将帮助您更新发件人奖励积分。

    deepLink: string
    invitationId: string
    

    您可以使用深度链接路由到特定的页面,还可以从被邀请者那里获得自定义数据,例如随机的userId在FireBase上创建用户。 使用invitationId查询其他内容。