Я реализую динамические ссылки firebase в приложении для Android (приложение с индексом рецептов), сначала оно было простым и работало без проблем:
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);
});
После изменения кода код результата по-прежнему в порядке, и я получаю всплывающее уведомление как отправленное, но оно не получено предполагаемым получателем и не отображается в приложении для сообщений. Я попытался вернуться к своей первой реализации, она больше не работает.
Кажется, это уже задокументировано, но ответов нет 1 и Дубликат 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