我想在我的应用程序中设置一个推荐系统,以便用户可以通过电子邮件/电话号码等(以最简单的方式)邀请他们的 friend ,当确认被邀请人已安装应用程序时,它将奖励原始邀请例如,一个月没有横幅广告的发件人。
我在网上能找到的唯一引用是这个:https://pub.dev/packages/firebase_dynamic_links#-readme-tab-
我不确定这是否是我所追求的,不幸的是,因为它是由 Flutter 团队建立的,它提供了关于如何实际实现其中任何一个的 0 解释,因为他们有点希望你已经是一个专业的全 -时间编码器,能够自己填写所有空白。
这是我所追求的正确插件吗?有没有更好的资源?
编辑
沿着 Firebase 动态链接路径前进。我遇到的第一个障碍是它需要我拥有一个域,我才能为其中的动态链接创建 URL。所以我昨晚注册了一个域,并按照 Firebase 的要求进行设置,以验证它并连接到Firebase 项目(它会引导您完成此过程,一切似乎都正常,只是可能需要给您的 DNS 主机时间来反射(reflect)此过程所需的 TXT 和 A 记录更改)。
所以现在我有一个空白的、经过验证的域,名为 example.com
现在在 Firebase 中,在我创建的项目下,左侧是一个名为 Dynamic Links 的按钮。这将要求 example.com 由您之前输入的 A 记录验证,但一旦验证,它将允许您创建新的动态链接。
这里有5个步骤:
步骤 1) 它会为您建议一个简短的 URL 链接。就我而言:example.com/gd7W。我接受了这个并点击了下一步。
步骤 2) 设置您的动态链接。它要求提供深层链接 URL 和动态链接名称。就我而言,我使用了 example.com/apps/refer_a_friend,您可以为动态链接指定任何您喜欢的名称。我只是叫我的“推荐 friend 促销”。打下一个。
步骤 3) 为 iOS 定义链接行为。我只是将其保留为“在浏览器中打开深层链接”
步骤 4) 为 Android 定义链接行为。我只是将其保留为“在浏览器中打开深层链接”
步骤 5) 事件跟踪、社交标签和高级选项。在这个阶段,这些东西似乎并不重要,而不是因为这篇文章所需要的只是让事情发挥作用。这些东西用于分析和跟踪您的促销事件。您可以稍后返回并进行编辑。
所以在第2步中,我引用的Deep Link URL实际上并不存在。我不确定是否应该这样做。如果我打算在我的网站上创建这个页面,但如果是这样,我应该在这个页面上放什么?我目前的想法是我应该在我的网站上创建一个从这个地址到应用程序的 google play 商店 URL 的重定向。我试过这个,但它没有重定向。
接下来,再次回到示例应用程序(这里我指的是我们在下面的评论中正在处理的示例,该示例来自此处:https://github.com/flutter/plugins/tree/master/packages/firebase_dynamic_links/example)。
这部分是我认为我们需要查看的内容,因为它需要编辑以适应您之前步骤中的链接和地址:
final DynamicLinkParameters parameters = DynamicLinkParameters(
uriPrefix: 'https://cx4k7.app.goo.gl',
link: Uri.parse('https://dynamic.link.example/helloworld'),
androidParameters: AndroidParameters(
packageName: 'io.flutter.plugins.firebasedynamiclinksexample',
minimumVersion: 0,
),
dynamicLinkParametersOptions: DynamicLinkParametersOptions(
shortDynamicLinkPathLength: ShortDynamicLinkPathLength.short,
),
iosParameters: IosParameters(
bundleId: 'com.google.FirebaseCppDynamicLinksTestApp.dev',
minimumVersion: '0',
),
);
final DynamicLinkParameters parameters = DynamicLinkParameters(
uriPrefix: 'https://example.com/gd7W',
link: Uri.parse('https://example.com/apps/refer_a_friend'),
androidParameters: AndroidParameters(
packageName: 'company01.appname', //The appID of my app on the store
minimumVersion: 0,
),
dynamicLinkParametersOptions: DynamicLinkParametersOptions(
shortDynamicLinkPathLength: ShortDynamicLinkPathLength.short,
),
iosParameters: IosParameters(
bundleId: 'company01.appname', //The appID of my app on the store
minimumVersion: '0',
),
);
PlatformException(short_link_error, 400: Your project does not own Dynamic Links domain: https://example.com
https://example.com/gd7W?amv=0&apn=company01.appname&ibi=company01.appname&imv=0&link=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcompany01.appname%26hl%3Den
最佳答案
这就是我让它工作的方式:
String link = Constants.REFERENCE_BASE_URL + referenceId; // it can be any url, it does not have to be an existing one
final DynamicLinkParameters parameters = DynamicLinkParameters(
uriPrefix: 'https://myappname.page.link', // uri prefix used for Dynamic Links in Firebase Console
link: Uri.parse(link),
androidParameters: AndroidParameters(
packageName: 'com.example.myappname', // package name for your app
minimumVersion: 0,
),
iosParameters: IosParameters(bundleId: 'com.example.myappname'), // bundle ID for your app
);
final ShortDynamicLink shortDynamicLink =
await parameters.buildShortLink();
@override
void initState() {
super.initState();
initDynamicLinks();
}
void initDynamicLinks() async {
final PendingDynamicLinkData data =
await FirebaseDynamicLinks.instance.getInitialLink();
final Uri deepLink = data?.link;
if (deepLink != null) {
Navigator.pushNamed(context, deepLink.path);
}
FirebaseDynamicLinks.instance.onLink(
onSuccess: (PendingDynamicLinkData dynamicLink) async {
final Uri deepLink = dynamicLink?.link;
if (deepLink != null) {
Navigator.pushNamed(context, deepLink.path);
}
},
onError: (OnLinkErrorException e) async {
print('onLinkError');
print(e.message);
});
}
关于flutter - 在 Flutter 中实现推荐奖励,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56713171/
我怎样才能完成http://php.net/manual/en/function.call-user-func-array.php在ruby中?所以我可以这样做:classAppdeffoo(a,b)putsa+benddefbarargs=[1,2]App.send(:foo,args)#doesn'tworkApp.send(:foo,args[0],args[1])#doeswork,butdoesnotscaleendend 最佳答案 尝试分解数组App.send(:foo,*args)
我需要在RubyonRails中实现无向图G=(V,E)并考虑构建一个Vertex和一个Edge模型,其中Vertex有_多条边。由于边恰好连接两个顶点,您将如何在Rails中执行此操作?您是否知道任何有助于实现此类图表的gem或库(对重新发明轮子不感兴趣;-))? 最佳答案 不知道有任何现有库在ActiveRecord之上提供图形逻辑。您可能必须实现自己的Vertex、EdgeActiveRecord支持的模型(请参阅Rails安装的rails/activerecord中的vertex.rb和edge.rb/test/fixtur
我想为我的Rails网络应用程序提供推荐功能。特别是,我想向新注册的用户推荐他可能想要关注的其他用户。Rails中是否有用于此目的的引擎/gem?如果没有,我应该从哪里开始构建它?谢谢。 最佳答案 有Coletivogemhttps://github.com/diogenes/coletivo我试了一下。在MySQL上运行。Neo4jhttp://neo4j.org真的很容易实现一个“跟随谁”。事实上,大多数展示其能力的样本都涉及“跟随谁”。快速提示-只有在JRuby上运行时,Neo4j.rb才会很酷。如果不是-使用Neograph
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。问题1)我想知道rubyonrails是否有功能类似于primefaces的gem。我问的原因是如果您使用primefaces(http://www.primefaces.org/showcase-labs/ui/home.jsf),开发人员无需担心javascript或jquery的东西。据我所知,JSF是一个规范,基于规范的各种可用实现,prim
您将如何构建一个简单的Sinatra应用程序?我正在制作,我希望该应用具有以下功能:“应用程序”更像是一个包含所有信息的管理仪表板。然后另一个应用程序将通过REST访问信息。我还没有创建仪表板,只是从数据库中获取东西session和身份验证(尚未实现)您可以上传图片,其他应用可以显示这些图片我已经使用RSpec创建了一个测试文件通过Prawn生成报告目前的设置是这样的:app.rbtest_app.rb因为我实际上只有应用程序和测试文件。到目前为止,我已经将Datamapper用于ORM,将SQLite用于数据库。这是我的第一个Ruby/Sinatra项目,所以欢迎任何和所有建议-我应
我haveaclass它公开了一个字符串值和一个int值(分别是命令输出和退出代码)。除了通过to_s和to_i公开它们之外,我还使用to_str和to_int,如下所示:classStatusdefto_s@outputendalias:to_str:to_sdefto_i@status.exitstatusendalias:to_int:to_iend我的想法是能够在尽可能多的情况下使用这个对象。将其强制转换为字符串或整数会增加可用性。例如,我可以将对象与字符串连接起来:a_string="Outputwas:"+results(我想用这个作为int强制转换的例子,但是Fixnum
我一直在尝试在Ruby中实现BinaryTree类,但我得到了stackleveltoodeep错误,尽管我似乎没有在该特定代码段中使用任何递归:1.classBinaryTree2.includeEnumerable3.4.attr_accessor:value5.6.definitialize(value=nil)7.@value=value8.@left=BinaryTree.new#stackleveltoodeephere9.@right=BinaryTree.new#andhere10.end11.12.defempty?13.(self.value==nil)?true:
来自Java,我正在尝试在Ruby中实现LinkedList。我在Java中实现它的通常方法是有一个名为LinkedList的类和一个名为Node的私有(private)内部类,其中LinkedList的每个对象都作为Node对象。classLinkedListprivateclassNodeattr_accessor:val,:nextendend我不想将Node类暴露给外部世界。然而,通过Ruby中的这个设置,我可以使用这个访问LinkedList类之外的私有(private)Node类对象-node=LinkedList::Node.new我知道,在Ruby1.9中,我们可以使用
您能为RubyonRails推荐好的数据网格类/gem吗?喜欢http://code.google.com/p/zend-framework-datagrid/采埃孚 最佳答案 你也可以试试datagridgem。这不仅关注带有列的网格,还关注过滤器。classSimpleReportincludeDatagridscopedoUser.includes(:group)endfilter(:category,:enum,:select=>["first","second"])filter(:disabled,:eboolean)fi
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭9年前。Improvethisquestion我正在为Rails3/ActiveRecord项目寻找一个相对简单的状态机插件。我做了一些研究并提出了以下插件:转换:https://github.com/qoobaa/transitions从旧的ActiveRecord状态机库中提取