Андроид | Код результата приглашения Firebase в порядке, но приглашение НЕ отправлено

Я реализую динамические ссылки 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


comment
Вы решили это? У меня похожая проблема... результат в порядке, но другие не получают никаких приглашений.   -  person Luser_k    schedule 05.03.2017
comment
Нет, еще нет, я не могу заставить его постоянно отправлять сообщения и электронные письма. Это либо одно, либо другое, но никогда не то и другое. На этой неделе я снова пройдусь по образцу Firebase Invite от Google и буду держать вас в курсе, когда исправлю ошибку.   -  person Ender    schedule 05.03.2017
comment
добавьте sha256 вместе с sha1   -  person Ender    schedule 05.03.2017


Ответы (1)


Решение состояло в том, чтобы добавить SHA256 поверх SHA1.

person Ender    schedule 10.03.2017