我正在为我的应用使用动态链接。
我已逐步按照教程进行操作,并且我可以通过点击Facebook上发布的链接打开该应用。
但是当我调用getInvitation时,我总是将CANCELED作为AppInviteInvitationResult的状态。
AppInvite.AppInviteApi.getInvitation(mGoogleApiClient, this, false).setResultCallback(
new ResultCallback<AppInviteInvitationResult>() {
@Override
public void onResult(@NonNull AppInviteInvitationResult result) {
if (result.getStatus().isSuccess()) {
// Extract deep link from Intent
Intent intent = result.getInvitationIntent();
String deepLink = AppInviteReferral.getDeepLink(intent);
// [END_EXCLUDE]
} else {
Log.d("StartActivity", "getInvitation: no deep link found.");
}
}
});
进入调试,我可以看到result.getStatus()返回CANCELED,但点击舔正确打开应用程序。
我哪里错了?
清单上的过滤器:
答案 0 :(得分:0)
未收到意图时,状态将被取消。我想知道同样的事情,结果发现我在firebase网页中创建的链接是错误的。我写了一些关于如何调试url问题的想法作为另一个问题的答案。如果您遇到与我相同的问题,他们应该会有所帮助:
答案 1 :(得分:0)
不直接回答您的问题,但您可以通过使用此页面为ios和Android创建firebase动态链接来消除格式错误的网址:http://fdl-links.appspot.com/
答案 2 :(得分:0)
只需仔细检查您是否在firebase控制台中添加了SHA-1,并且添加的SHA-1与生成的APK的SHA1匹配。我看到同样的问题 - result.getStatus()在此之前返回CANCELED,但在firebase控制台上添加SHA-1后,它开始正常工作。 :)