我正在 Android 应用程序(食谱应用程序的索引)中实现 firebase 动态链接,起初它是基本的并且可以正常工作:
viewHolder.mShareBtn.setOnClickListener(view -> {
Intent intent = new AppInviteInvitation.IntentBuilder(mContext.getResources().getString(R.string.invitation_title))
.setMessage(mContext.getResources().getString(R.string.invitation_message))
.build();
((AppCompatActivity) mContext).startActivityForResult(intent, 4);
});
但是,我试图通过在食谱中添加深层链接来使它们更智能:
viewHolder.mShareBtn.setOnClickListener(view -> {
Uri deepLink = Uri.parse(mContext.getResources().getString(R.string.invitation_uri));
Uri deepLinkPlus = Uri.withAppendedPath(deepLink, recipeKey);
Intent intent = new AppInviteInvitation.IntentBuilder(mContext.getResources().getString(R.string.invitation_title))
.setMessage(mContext.getResources().getString(R.string.invitation_message))
.setDeepLink(deepLinkPlus)
.build();
((AppCompatActivity) mContext).startActivityForResult(intent, 4);
});
代码更改后,结果代码仍然正常,我收到了已发送的祝酒词,但预期收件人没有收到它,也没有出现在消息应用程序中。我试图恢复到我的第一个实现,它不再起作用了。
这似乎已经记录在案,但没有答案Duplicate 1和Duplicate 2
欢迎所有帮助,感谢您的关注!
这是接收活动:
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(AppInvite.API)
.enableAutoManage(this, this)
.build();
AppInvite.AppInviteApi.getInvitation(mGoogleApiClient, this, false)
.setResultCallback(
result -> {
if (result.getStatus().isSuccess()) {
//Get intent information
Intent intent = result.getInvitationIntent();
Uri deepLink = Uri.parse(AppInviteReferral.getDeepLink(intent));
//
Intent mIntent = new Intent(getApplicationContext(), RecipeDetailActivity.class);
mIntent.putExtra("recipe_key", deepLink.getLastPathSegment());
startActivity(mIntent);
}
}
);
编辑 - 在使缓存无效并重新启动项目 + 清理和重建后,我可以获得电子邮件邀请工作,SMS 仍然无法工作。是默默地失败了吗?结果代码为-1