我正在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);
});
代码更改后,结果代码仍然正常,我收到了已发送的toast,但目标收件人没有收到它,也没有出现在消息应用程序中。 我试图恢复到我的第一个实现,它不再起作用了。
这似乎已经记录在案,但没有答案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);
}
}
);
编辑 - 使缓存无效并重新启动项目+清理 和重建,我可以得到电子邮件邀请工作,短信仍然没有 工作。它是否默默失败?结果代码是-1
答案 0 :(得分:3)
解决方案是在SHA1上添加SHA256。