我试图让Firebase邀请工作。我已按照here的说明进行操作。
触发邀请流程的代码如下
AppInviteInvitation.IntentBuilder intentBuilder = new AppInviteInvitation.IntentBuilder(LanguageManager.getString("title-Invitation"))
.setMessage(LanguageManager.formatString("message-INVITATION_{game-name}", ScribbleGame.getGame().getDisplayName()))
.setEmailSubject(LanguageManager.formatString("title-TRY_{game_name}", ScribbleGame.getGame().getDisplayName()))
.setEmailHtmlContent(emailHtml);
application.startActivityForResult(intentBuilder.build(), ActivityResultConstants.REQUEST_INVITE);
该电子邮件包含使用%%APPINVITE_LINK_PLACEHOLDER%%
标记插入的链接。邀请按预期发送。
我已尝试过有无深层链接。如果没有深层链接,我会得到一个这样的网址,它不起作用并返回404错误。
https://plus.google.com/appinvite/131189621476-3ec41294-23ea-47e7-81d7-9a5fd004de6e
使用深层链接,我会得到一个这样的网址,它不起作用并返回500错误。
https://sfqj5.app.goo.gl/i/131189621476-b6d8a1cf-81b4-4318-90d0-c32ee1a945e1
我已经做了很多挖掘但未能确定链接为何无法正常工作。
答案 0 :(得分:1)
在我的情况下,我必须在构建邀请意图时设置深层链接。我使用默认链接,这是我从firebase控制台获得的。
cant upload screenshot for some reason, so it's link to imgur
答案 1 :(得分:1)
我遇到了同样的404错误,最后通过调用AppInviteInvitation.IntentBuilder.setDeepLink()
来修复它。
有关详细信息,请访问https://firebase.google.com/docs/invites/android
即使您正在使用play-services-appinvite,您仍然需要将项目添加到Firebase并从firebase控制台获取deeplink uri。在“开始之前”的第1,2和3步之后,它适用于我的应用程序。
答案 2 :(得分:0)
将setDeepLink()
方法放入“意图”构建器中。它解决了我的错误。
val intent = AppInviteInvitation.IntentBuilder(getString(R.string.invite_friends_title))
.setMessage(getString(R.string.invite_friends_message))
.setDeepLink(Uri.parse("https://"))
.setOtherPlatformsTargetApplication(
AppInviteInvitation.IntentBuilder.PlatformMode.PROJECT_PLATFORM_IOS,
"311303977939-11h8u454au9q1ts1mleiat83v2r2cd5n.apps.googleusercontent.com")
.build()