0

Je suis la mise en œuvre des liens firebase dynamiques dans une application Android (un indice de l'application de recettes), au début, il était basique et a travaillé sans aucun problème:Android | Firebase inviter le code résultat est OK qu'inviter pas envoyé

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); 
     }); 

Cependant, je essayé de les rendre plus intelligent en ajoutant un lien profond à la recette:

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); 
     }); 

Après le changement de code, le code de résultat est toujours ok et je reçois le toast comme envoyé mais il ne reçoit pas le destinataire prévu, ni ne il apparaît dans l'application de message. J'ai essayé de revenir à ma première implémentation, ça ne marche plus.

Cela semble être déjà documenté, mais il n'y a pas de réponses Duplicate 1 et Duplicate 2

Toute aide, accueilli Merci pour jeter un oeil!

est ici l'activité de réception:

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); 
         } 
        } 
      ); 

EDIT - après avoir désactivé les caches et le redémarrage du projet + propre et Reconstruire, je peux obtenir l'e-mail invite à travailler, SMS toujours pas travail. Est-ce qu'il échoue silencieusement? Le code de résultat est -1

+0

Avez-vous résolu cela? J'ai un problème similaire ... le résultat est correct, mais les autres ne reçoivent aucune invitation. –

+0

Non pas encore, je ne peux pas l'obtenir pour toujours envoyer des messages et des courriels. C'est l'un ou l'autre mais jamais les deux, je vais passer en revue l'exemple Firebase Invite de google cette semaine encore, je vous tiendrai au courant quand je corrigerai le bug – Ender

+0

ajouter le sha256 avec le sha1 – Ender

Répondre

3

La solution consistait à ajouter le SHA256 au dessus de SHA1.

+0

Voulez-vous ajouter dans la console PREMIER SHA256 et ALORS SHA1 ??? –

+0

Essayé, ne fonctionne pas pour moi. –